概述:
将多个记录中的列值串联起来,并将数据放入ABAP CDS视图中的单个记录中。ABAPCDS视图内置函数Concat将连接来自同一记录的列值,这是可用内置函数的限制。此博客将帮助如何在ABAP CDS视图中实现此类分析要求。
版本:S4 HANA 1909
问题说明:
由于可用的内置功能,无法实现将多个记录中的列串联起来并显示为单个记录的要求。
解决方案:
上述要求可以在典型情况下实现ABAP编码或通过HANA视图,这是直截了当和已知的事实。在这种情况下,我们必须在ABAP CDS视图中实现这一要求。
如果在ABAP CDS视图中不可能,个人云服务器,那么这些报告应该转移到BW,大数据工具有哪些,这是不明智的决定。使用可用的内置函数、注释,我们无法实现此要求,但是通过表函数和AMDP方法,我们可以在ABAP CDS视图中实现此要求。
请按照以下步骤
步骤1:
使用模板创建ABAP CDS作为表函数
步骤2:
出于说明目的,我们未使用基于参数化的CDS表函数。如果需要,我们可以在表函数中使用参数。
在表函数定义中,高防云服务器,我们需要定义需要在ABAP CDS视图中使用的返回参数。
激活表函数。
步骤3:
创建ABAP类,其中需要实现复杂逻辑计算/操作所需的逻辑。
给出ABAP类名称
第4步:
默认类模板将出现在新窗口
第5步:
提及突出显示的接口,以便在数据库级别执行该方法。
在类实现部分实现所需的逻辑。
由于该方法已为AMDP启用,因此可以将数据提取到内部表中进行处理。在上面的快照中,VBAP表中的数据被插入到它的\u SOITM内部表中。方法中的RETURN参数将处理后的数据传递到表函数中,
函数字符串\u AGG将多条记录中的物料连接起来,在选择查询中显示唯一的销售订单使用分组依据。由于记录是按SO分组的,项目是串联的,淘客推广平台,所以唯一的,所以输出将是预期的结果。
步骤6:
转到表函数并选择数据预览
结论:
通过ABAP CDS views模型无法实现上述复杂逻辑,但是通过表函数复杂逻辑可以通过利用现有的SQL函数来实现。
,返利购物