#问题描述:
采购订单PO的增强信息在使用BAPI创建时,通过extension传入。extension的结构BAPIPAREX。
在创建PO时,增强数据指定防止valuepart1中。但增强数据超过240位,造成增强数据丢失。
#解决办法
DATA ls_extensionin TYPE bapiparex.
DATA lt_extensionin TYPE TABLE OF bapiparex.
DATA ls_header_ext TYPE bapi_te_mepoheader.
DATA ls_header_extx TYPE bapi_te_mepoheaderx.
" EKKO增强字段
" 采购订单抬头增强参数
CLEAR :ls_header_ext ,ls_header_extx,lt_extensionin.
ls_header_ext = VALUE #( zzdccgddid = ls_members1-zzdccgddid "电采2.0订单号
zzinteriorcode = ls_members1-interiorcode "合同编号
zzname = ls_members1-name "合同名称
zzdeclarecode = ls_members1-declarecode "报审序号
zzbuilddate = ls_members1-builddate "合同签订日期
zzbdje = ls_members1-objectssum "标的金额
zzcgfs = ls_members1-zzcgfs "采购方式
zzcglb = ls_members1-zzcglb "采购类别
).
ls_header_extx = VALUE #( zzdccgddid = abap_true
zzinteriorcode = abap_true
zzname = abap_true
zzdeclarecode = abap_true
zzbuilddate = abap_true
zzbdje = abap_true
zzcgfs = abap_true
zzcglb = abap_true
).
CLEAR: ls_extensionin.
ls_extensionin-structure = 'BAPI_TE_MEPOHEADER'.
CALL METHOD cl_abap_container_utilities=>fill_container_c
EXPORTING
im_value = ls_header_ext
IMPORTING
ex_container = ls_extensionin+30(960).
APPEND ls_extensionin TO lt_extensionin.
CLEAR: ls_extensionin.
ls_extensionin-structure = 'BAPI_TE_MEPOHEADERX'.
CALL METHOD cl_abap_container_utilities=>fill_container_c
EXPORTING
im_value = ls_header_extx
IMPORTING
ex_container = ls_extensionin+30(960).
APPEND ls_extensionin TO lt_extensionin.