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

2020-08-14 09:34发布

         点击此处--->   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

         点击此处--->   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
1楼 · 2020-08-14 10:02.采纳回答

你好 priya ramani

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

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

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

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

亲切的问候,
Mateusz
能不能别闹
2楼-- · 2020-08-14 10:11

请阅读参与规则:唐 不要发布您的私人信息(电子邮件)。

南山jay
3楼-- · 2020-08-14 10:10

发布数据表时,请使用" CODE"按钮。

输入数据:

< pre> VBELN ERDAT ERNAM VKROG 123 XXY 124 XXX

预期输出:

 VBELN ERNAM
 123 XXY
 124 XXX 
xfwsx85
4楼-- · 2020-08-14 10:19

很高兴听到这个消息!

亲切的问候,
Mateusz

一周热门 更多>