访问导出的动态表时如何减少冗余?

2020-09-08 17:15发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在访问导出的动态表,...

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

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


嗨,

我正在访问导出的动态表,为此,我正在按照以下方法进行操作...

数据:lo_tab类型引用数据。

字段:符号:类型标准表。

调用方法zcl_class => get_data

导出

iv_plant ='e123'

导入

et_data = lo_tab。

lo_tab -> *分配给

"""现在可以获取数据。



处循环,分配字段符号

将初始行附加到 et_table ,以分配字段符号 。 " et_table我的导出参数。

将结构 的组件" 植物"分配给字段符号

将结构 >的组件' Plant_no'关联到字段符号

=

Endloop。


现在我的问题是:如果我的导出表(et_table)中有40个字段,那么我必须写这些

重复声明40次,具有不同的字段值。


,因为我的两个结构都不同-文件名不同。


是否有更好的方法来实现此功能?


需要您的宝贵建议...


3条回答
callcenter油条
2020-09-08 18:00

最简单的方法是尝试定义具有相同结构或至少具有相同字段名称的两个表,这有助于以后移动相应内容。

如果您不能这样做,建议 2种方式:

1。 使用CORRESPONDING#()语句。 它具有运算符MAPPING,可用于映射差异字段名称。 您仍然必须写下所有字段,但要用1条语句,而不必重复分配。

2。 也许不是很好的解决方案,但是您可以尝试将映射保存到表中,循环并传输数据:

 LOOP AT  ASSIGNING FIELD-SYMBOL()。
   将初始行追加到et_table ASSIGNING FIELD-SYMBOL()。
   循环到lt_mapping到DATA(ls_mapping)中。
     将结构的组件(ls_mapping-from)分配给。
     将结构的组件(ls_mapping-to)分配给 = 。
   结局。
 结局。
 

一周热门 更多>