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

2020-09-08 17:15发布

         点击此处--->   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次,具有不同的字段值。


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


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


需要您的宝贵建议...


         点击此处--->   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条回答
派大星 ヾ
1楼-- · 2020-09-08 17:57

使用命名字段定义结构。

 DATA输入记录类型input_structure_ty。
 DATA result_record类型为result_structure_ty。
 在分配字段符号()处循环。
   将对应的移动到input_record。
   ...做一些事情来填充input_record中的result_Record
   将初始行插入并分配field-symbol()。
   将对应的result_record移动到。
 ENDLOOP。
callcenter油条
2楼-- · 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)分配给 = 。
   结局。
 结局。
 
CPLASF-自律
3楼-- · 2020-09-08 17:51

至少可以创建一个方法,在其中放置这三行。
导入参数i_field_name1,i_fieldname2,is_struc1,is_struc2。 然后只需调用此方法x次。 重复相同的代码不是很好。 重复使用。

将结构的组件'Plant'分配给字段符号。
 将结构的组件'Plant_no'关联到字段符号 = 

一周热门 更多>