如何动态填充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条回答
大简至美
2020-09-02 14:55

使用以下代码:

 PERFORM fill_x_structure更改ls_shippingx。
 FORM fill_x_structure更改cs_x_structure TYPE任何。
    数据:lr_struct类型参考cl_abap_structdescr,
          lr_field类型参考cl_abap_elemdescr。
    FIELD-SYMBOLS:类似于cl_abap_structdescr => components的行,
                    TYPE ANY。
    lr_struct?= cl_abap_typedescr => describe_by_data(cs_x_structure)。
    检查lr_struct是否绑定。
    环回lr_struct->组件ASSIGNING 。
      UNASSIGN 。
  *如果unicode处于活动状态,则仅考虑x字段,C1会考虑
  2字节
      检查 -type_kind EQ lr_struct-> typekind_char。
      ASSIGN COMPONENT -结构名称cs_x_structure TO 。
      检查已分配。
  *获取元素描述
      lr_field?= cl_abap_typedescr => describe_by_data()。
      检查lr_field-> absolute_name EQ'\ TYPE = BAPIUPDATE'。
       = cl_mmpur_constants =>是。
    结局。
  ENDFORM。  " fill_x_structure 

一周热门 更多>