BDC 代码参考
* BDC 定义
DATA: BEGIN OF bdcdata OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdcdata.
DATA: gv_string TYPE string.
DATA: tt1(100).
DATA: tt2(100).
DATA: bdc_message LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
* BDC 调用
PERFORM frm_bdc_f-51 USING <fs_data> <fs_data>-msg <fs_data>-msgst. " 修改凭证抬头文本
* BDC 子程序
FORM frm_process_fb02 USING is_data LIKE gs_data .
*** 修改凭证抬头文本
PERFORM bdc_dynpro USING 'SAPMF05L' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05L-BELNR'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'RF05L-BELNR' is_data-belnr.
PERFORM bdc_field USING 'RF05L-BUKRS' is_data-bukrs.
PERFORM bdc_field USING 'RF05L-GJAHR' is_data-bldat+0(4).
PERFORM bdc_dynpro USING 'SAPMF05L' '0700'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BKPF-BELNR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=VK'.
PERFORM bdc_dynpro USING 'SAPMF05L' '1710'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BKPF-BKTXT'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTR'.
PERFORM bdc_field USING 'BKPF-BKTXT' is_data-bktxt.
PERFORM bdc_dynpro USING 'SAPMF05L' '0700'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BKPF-BELNR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=AE'.
ENDFORM.
FORM frm_bdc_f-51 USING et_data STRUCTURE gs_data
CHANGING ev_mes TYPE zfi_bank_info-msg
ev_msgst TYPE c.
DATA : v_mode TYPE c VALUE 'E'.
DATA: ls_bdcopt TYPE ctu_params.
REFRESH:bdc_message, bdcdata.
PERFORM frm_process_fb02 USING et_data.
ls_bdcopt-dismode = 'N'. " A 前台显示 E 出错显示 N 后台显示 P
ls_bdcopt-updmode = 'S'.
ls_bdcopt-racommit = 'X'.
ls_bdcopt-nobiend = 'X'.
CALL TRANSACTION 'FB02' USING bdcdata OPTIONS FROM ls_bdcopt MESSAGES INTO bdc_message .
IF sy-subrc <> 0.
PERFORM generate_message.
ev_mes = w_message.
ev_msgst = 'E'.
ELSE.
ev_mes = TEXT-013.
ev_msgst = 'S'.
ENDIF.
ENDFORM.
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM.
* BDC 消息
FORM generate_message .
CLEAR w_message.
READ TABLE it_errtab INDEX 1.
IF sy-subrc = 0.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = it_errtab-err-msgid
lang = sy-langu
no = it_errtab-err-msgnr
v1 = it_errtab-err-msgv1
v2 = it_errtab-err-msgv2
v3 = it_errtab-err-msgv3
v4 = it_errtab-err-msgv4
IMPORTING
msg = w_message
EXCEPTIONS
not_found = 1
OTHERS = 2.
ENDIF.
ENDFORM. " generate_message

浙公网安备 33010602011771号