ABAP CDS join字段type conflict的次优解决办法

在ABAP CDS的join条件中,如果两张表比较的字段类型相同但长度不同,会报type conflict,无法激活,而且join条件中无法使用子查询、left、right等函数对on的值进行处理。

例如,你想join系统发票行项目表vbrp和采购订单行项目表ekpo,就会发现编辑器报vbrp-vgpos和ekpo-ebeln类型冲突,分析可发现这两个字段都是NUMC类型,但长度不一样。

遇到这种情况,可以考虑把on条件type conflict的字段写到where条件里,虽然实现上没有那么完美,但也能解决问题。DEMO如下:

发表评论