如何动态填充BAPI_MATERIAL_SAVEDATA的update/X结构

2020-09-02 14:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我正在使用FM ...

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

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


专家您好,

我正在使用FM BAPI_MATERIAL_SAVEDATA创建物料主数据。

效果很好,但我想动态填充X-结构,例如BAPI_MARAX和BAPI_MARCX

具有" X"值,应根据BAPI_MARA中的填充值来更新/创建字段,等等。

能不能提供一个我必须通过本地结构的好的解决方案或功能

还是仅要更新的结构名称(即BAPI_MARA/X)?

任何帮助将不胜感激,


非常感谢!

8条回答
95年老男孩
2020-09-02 14:50 .采纳回答

Hi

具有数据的bapi结构和对应的结构X具有相同的名称和字段(我相信位置相同),因此您可以使用字段符号:

A)如果字段位于相同位置:

字段符号: ANY类型,

ANY类型。

DO

将结构BAPI_MARA的组件SY-索引分配给

如果SY-SUBRC <>0。退出。 ENDIF。

将结构BAPI_MARAX的组件SY-索引分配给

如果不是初始的。

='X '。

ENDIF。

ENDDO。

如果位置不同,则可以使用名称,因此可以使用fm DDIF_FIELDINFO_GET来获取 结构的名称,结果将在DFIES_TAB中:

在DFIES_TAB中循环。

ASSIGN COMPONENT DFIES_TAB-FIELD STRUCTURE BAPI_MARA

TO

将结构BAPI_MARAX的组件DFIES_TAB-FIELDNAME分配给

如果不是初始的。

='X'。

ENDIF。

ENDLOOP。

Max

一周热门 更多>