lc_LFIMG = GT_TABLE-LFIMG.
“关键代码如上所示 需要为交货数量重新赋值,否则改值为屏幕大小所显示的信息,特别注意数值类型。
perform bdc_field using 'LIPS-LFIMG(02)'
lc_LFIMG.
交货单批次拆分BDC
FORM SAVE_DATA .
SORT GT_TABLE BY HK_VBELN HK_POSNR.
DATA: lc_LFIMG(10).
LOOP AT GT_TABLE.
AT new HK_VBELN.
perform bdc_clear.
"-----------------Input DN# in the first screen--------------------
perform bdc_dynpro using 'SAPMV50A' '4004'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LIKP-VBELN'
GT_TABLE-HK_VBELN.
endat.
AT new HK_POSNR.
"-----------------Clear all the bacth split--------------------
perform bdc_dynpro using 'SAPMV50A' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=POPO_T'.
perform bdc_dynpro using 'SAPMV50A' '0111'.
perform bdc_field using 'BDC_OKCODE'
'=WEIT'.
perform bdc_field using 'RV50A-POSNR'
GT_TABLE-HK_POSNR.
perform bdc_dynpro using 'SAPMV50A' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=CHSP_T'.
perform bdc_dynpro using 'SAPMV50A' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=MKAL_T'.
perform bdc_dynpro using 'SAPMV50A' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=POLO_T'.
endat.
"-----------------add new bacth split--------------------
perform bdc_dynpro using 'SAPMV50A' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=POAN_T'.
perform bdc_field using 'LIPS-CHARG(02)'
GT_TABLE-CHARG.
perform bdc_field using 'LIPS-LGORT(02)'
GT_TABLE-LGORT.
CLEAR: lc_LFIMG.
lc_LFIMG = GT_TABLE-LFIMG.
perform bdc_field using 'LIPS-LFIMG(02)'
lc_LFIMG.
perform bdc_field using 'LIPS-VRKME(02)'
GT_TABLE-MEINS.
AT END OF HK_POSNR.
perform bdc_dynpro using 'SAPMV50A' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=BACK_T '.
ENDAT.
AT END OF HK_VBELN.
perform bdc_dynpro using 'SAPMV50A' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=SICH_T '.
call transaction 'VL02N' using gt_bdctab
mode bdcmode
update 'L'
messages into gt_mess.
* BREAK-POINT.
read table gt_mess with key msgtyp = 'E'.
if sy-subrc ne 4.
call function 'FORMAT_MESSAGE'
EXPORTING
id = gt_mess-msgid
lang = '1'
no = gt_mess-msgnr
v1 = gt_mess-msgv1
v2 = gt_mess-msgv2
v3 = gt_mess-msgv3
v4 = gt_mess-msgv4
IMPORTING
msg = GT_MESSAGE-MESSAGE
EXCEPTIONS
not_found = 1
others = 2.
.
ELSE.
UPDATE ZDN_HK_QD_MAP SET AENAM = sy-uname AEDAT = sy-datum ZUPDATED = 'X' WHERE ZHK_DN = GT_TABLE-HK_VBELN.
GT_MESSAGE-MESSAGE = 'Successful'.
endif.
GT_MESSAGE-HK_VBELN = GT_TABLE-HK_VBELN.
APPEND GT_MESSAGE.
ENDAT.
ENDLOOP.
ENDFORM. " SAVE_DATA