0
点赞
收藏
分享

微信扫一扫

SAP KUE字段使用BAPI导入指南(全网首发)


1. 使用前提

  • KUE字段可以使用BAPI导入

2. 导入方法

  • 参考Note:1650360 - BAPI: Length EXTENSION insufficient for cust-specific fields
  • 标准代码实现KUE字段转换代码位置:SE38->L1001MASSUEBF01(建议用SAP新功能Migration导入带KUE的数据)
  • 子例程:migration_map_from_extension
  • 子例程:migration_extensibility
  • 查找导入表对应结构:SCFD_FIELDVIEWER
  • 实现代码

DATA: ls_bape_product TYPE bape_product.
    DATA: lo_reference_bape_product TYPE REF TO data.

    ls_bape_product-key = im_s_mde0003_001-matnr.
    MOVE-CORRESPONDING im_s_mde0003_001 TO ls_bape_product-data  .

    me->fill_datax_dynamic_stru(
      EXPORTING
        im_v_skip_empty_filed = abap_true
        im_s_data             = ls_bape_product-data
      CHANGING
        ch_s_datax            = ls_bape_product-datax
    ).

    GET REFERENCE OF ls_bape_product INTO lo_reference_bape_product.

    TRY.
        cl_cmd_prod_bapi_mapping=>get_instance( )->map_to_bapiparex_single(
          EXPORTING
            ir_source_structure = lo_reference_bape_product
          CHANGING
            ct_bapiparex        = ch_t_extension
        ).

      CATCH cx_cmd_bapi_mapping.
        "handle exception
    ENDTRY.

  • 由于map_to_bapiparex_single不会填充物料编码导致无法成功导入KUE字段信息,所以需要手动填充

SAP KUE字段使用BAPI导入指南(全网首发)_CFL

```
"填充Dummy数据,只需要调用BAPI前增加一行带物料编码的数据即可(也可循环lt_extensionin和lt_extensioninx表放入物料编码)
    APPEND VALUE #( material_long = im_s_mde0003_001-matnr ) TO lt_extensionin.
    APPEND VALUE #( material_long = im_s_mde0003_001-matnr ) TO lt_extensioninx.
```

3. 其他说明

  • KUE字段增强不再受增强限制(CHAR NUMC类型),可以导入金额 日期 时间等类型的增强字段数据
  • KUE字段发布后不需要增强传统的 **BAPI_TE_***结构
  • KUE字段不用OMSR维护字段状态组属性
  • 常规增强的字段应该也可以使用此方法导入,但是需要支持KUE增强的ERP系统


举报

相关推荐

0 条评论