什么是最佳ABAP逻辑? 2个内部表以及一个映射表。

2020-09-16 17:22发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有2张桌子; 我的Local表...

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

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


我有2张桌子; 我的Local表(包含300个字段)和Customer表(包含300个字段),以及一个映射表,用于将字段从Local表映射到Customer表。 在我的本地表中,大约有10000个条目,现在必须根据映射表将它们复制到客户表。

映射表可能会不时更改,因此解决方案必须是动态的。

两个文件中的字段名称完全不同,看起来像这样:

LOC_TAB(字段)

  • 用户名
  • 名字
  • field_0001
  • xyz_fld
  • …等等…

CUST_TAB(字段)

  • usrid
  • fname
  • tpid
  • 示例
  • …等等…

MAPPING_TAB

  • LOC名称CUST_name
  • 用户名已结束
  • 名字fname
  • field_0001示例
  • xyz_fld tpid
  • …等等…

因此,例如,必须将字段" userid"中的值传递到"客户"表中的字段" usrid"。 我可以做类似的事情:

LOC_TAB处的LOOP进入local_workarea。

在MAPPING_TAB处将LOOP放入map_workarea。

  • 这里有什么动态编码?

附加CUST_TAB吗????

ENDLOOP。

ENDLOOP。

问题是上述解决方案意味着要在我的映射表上为每个单个条目循环并在本地文件上循环。 我想不出更好的方法。:(

所有帮助深表感谢!

4条回答
野沐沐
2020-09-16 18:01

我认为这应该可行 :

选择source_col,target_col
  来自MAPPING_TAB
  插入表@DATA(lt_mab)。

 循环到lt_mab INTO DATA(ls_mab)。
  如果lv_sel是INITIAL。
  lv_sel = | {ls_mab-source_col} AS {ls_mab-target_col} |。
  其他。
  lv_sel = | {lv_sel},{ls_mab-source_col} AS {ls_mab-target_col} |。
  万一。
 结局。
 从LOC_TAB选择(LV_SEL)到表@DATA(lt_target)中。
 
 从lt_target更新CUST_TAB。

一周热门 更多>