FUNCTION zfm_cancel_aufnr.
*“----------------------------------------------------------------------
"“本地接口:
*” IMPORTING
*” VALUE(IV_AUFNR) TYPE AUFNR OPTIONAL
*" EXPORTING
*" VALUE(EV_STATUS) TYPE CHAR1
*" VALUE(EV_MESSAGE) TYPE CHAR100
*"----------------------------------------------------------------------
*(修改日志)--------------------------------------------------------
*
DATA:lv_message TYPE string.
REFRESH:bdcdata,
messtab.
CLEAR:bdcdata,
messtab.
PERFORM bdc_dynpro USING ‘SAPLKO71’ ‘1000’.
PERFORM bdc_field USING ‘BDC_CURSOR’
‘LKO74-TESTLAUF’.
PERFORM bdc_field USING ‘BDC_OKCODE’
‘=STOR’.
PERFORM bdc_field USING ‘LKO74-PERIO’
sy-datum+4(2)."期间月
PERFORM bdc_field USING ‘LKO74-GJAHR’
sy-datum+0(4)."年
PERFORM bdc_field USING ‘LKO74-VAART’
‘8’."固定值 8 完全结算
PERFORM bdc_field USING ‘LKO74-TESTLAUF’
‘’."固定值 空 测试运行
PERFORM bdc_field USING ‘LKO74-TDCHECK’
‘’."固定值 空 检查业务数据
PERFORM bdc_field USING ‘CODIA-AUFNR’
iv_aufnr."订单
IF bdcdata[] IS NOT INITIAL.
CALL TRANSACTION 'KO88' USING bdcdata
MODE bdcmode
UPDATE bdcupdate
MESSAGES INTO messtab.
READ TABLE messtab INTO DATA(ls_message) WITH KEY msgtyp = 'E'.
IF sy-subrc <> 0.
COMMIT WORK AND WAIT.
ev_status = 'S'.
ev_message = '取消结算成功'.
ELSE.
ROLLBACK WORK.
ev_status = 'E'.
LOOP AT messtab INTO ls_message.
CLEAR : lv_message.
CALL FUNCTION 'MESSAGE_TEXT_BUILD' " 显示出具体的错误讯息
EXPORTING
msgid = ls_message-msgid
msgnr = ls_message-msgnr
msgv1 = ls_message-msgv1
msgv2 = ls_message-msgv2
msgv3 = ls_message-msgv3
msgv4 = ls_message-msgv4
IMPORTING
message_text_output = lv_message.
CONDENSE lv_message NO-GAPS.
ev_message = lv_message.
ENDLOOP.
ENDIF.
ENDIF.
ENDFUNCTION.