如果字段的值是初始值或空格,如何动态创建表或结构

2020-08-14 09:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好, 我有一个需要比较两个记...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,

我有一个需要比较两个记录的要求。

例如,我需要比较VBAK表的记录。
我有两个vbelns,123,124
VBELN:123,124。

现在,我将表名称,旧的第一个vbeln和第二个vbeln用作类方法的输入(方法的输入是dynamic,它可以具有任何值),其中我正在动态选择数据并 比较字段值并给出如下表格式的输出:

VBELN ERDAT ERNAM VKROG

123 XXY

124 XXX

ERDAT和VKORG由于在123个和124个vbelns之间显示为空格而具有相同的值,因此我将仅考虑具有差异的字段,并因此显示具有差异的字段。

现在我要删除ERDAT列和VKORG列,因为这些字段没有值,因此要在输出表中避免使用。

我希望将输出显示为:

VBELN ERNAM

123 XXY

124 XXX

上面的VBAK表可以是任何东西,例如VBRK,KONV等...

您能给我输入的想法如何动态创建该输出表。

此致

Priya

4条回答
Aaron 3364
2020-08-14 10:02 .采纳回答

你好 priya ramani

您应该首先使用CL_ABAP_STRUCTDESCR类读取有关您作为参数提供的表的信息。 结果对象具有GET_COMPONENTS方法,该方法将返回有关表的每个字段的信息。 使用此方法获取字段列表。

在比较了两条记录之后,您可以从GET_COMPONENTS收到的内部表中删除不需要的字段。

然后,您应该能够使用CL_ABAP_TABLEDESCR类(方法CREATE)创建一个新的内部表。

您可以在此处找到一个简单的示例: /img/ answer/829685/view.html

亲切的问候,
Mateusz

一周热门 更多>