事物代碼:SHDB
點選開始記錄,開始進行錄屏操作。
選中該條記錄,生成程式。
根據生成的代碼,進行整理的時候,可以調用系統封裝過的函數,也可以自己進行歸納,抽離代碼。
*&---BDC錄屏傳回消息
DATA i_messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
DATA:bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
LOOP AT gt_burks INTO gw_burks.
*&===BOM BDC處理
*&---打開BDC
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = gv_group
user = sy-uname.
IF sy-subrc <> 0.
ENDIF.
CLEAR:bdcdata[].
REFRESH i_messtab.
PERFORM bdc_dynpro USING 'SAPMM03Y' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR' "記錄光标的位置
'MARV-BUKRS'.
PERFORM bdc_field USING 'BDC_OKCODE' "記錄動作
'/00'.
PERFORM bdc_field USING 'MARV-BUKRS' "記錄螢幕輸入的字段
gw_burks-bukrs_001.
PERFORM bdc_dynpro USING 'SAPMM03Y' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARV-XRUEM'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'MARV-XRUEM'
gw_burks-xruem_002.
*&---調用BDC事務
CALL TRANSACTION 'MMRV' USING bdcdata
MODE 'N'
UPDATE 'S'
MESSAGES INTO i_messtab.
*&---錯誤消息處理
DATA:e_mess(50).
CLEAR:e_mess.
* LOOP AT i_messtab WHERE msgtyp = 'E' OR msgtyp = 'A'.
LOOP AT i_messtab .
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = i_messtab-msgid
msgnr = i_messtab-msgnr
msgv1 = i_messtab-msgv1
msgv2 = i_messtab-msgv2
msgv3 = i_messtab-msgv3
msgv4 = i_messtab-msgv4
IMPORTING
message_text_output = e_mess.
MESSAGE e_mess TYPE 'S'.
gw_burks-bz = e_mess.
ENDLOOP.
*關閉BDC
CALL FUNCTION 'BDC_CLOSE_GROUP'.
IF sy-subrc <> 0.
ENDIF.
MODIFY gt_burks FROM gw_burks.
ENDLOOP.
*用到的兩個系統的BDC函數
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM.
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM.