


녹음하고 싶은 위치로 달려갔다가 돌아오세요.
위와 같이 녹음이 완료됩니다.
위 데이터셋을 기반으로 소스코드를 작성합니다.
DATA : bdcdata TYPE TABLE OF bdcdata,
gs_bdcdata TYPE bdcdata,
messtab TYPE TABLE OF bdcmsgcoll,
gs_messtab TYPE bdcmsgcoll.
DATA: g_bdcopt LIKE ctu_params,
g_message(100).
REFRESH: bdcdata, messtab.
CLEAR : bdcdata, messtab, gs_bdcdata, gs_messtab.
PERFORM bdc_dynpro USING 'SAPMV45A' '0101' .
PERFORM bdc_field USING: 'BDC_OKCODE' '=COPY' ,
'VBAK-AUART' 'ZRJ',
'VBAK-VKORG' '',
'VBAK-VTWEG' '',
'VBAK-SPART' '',
'VBAK-VKBUR' '',
'VBAK-VKGRP' ''
.
PERFORM bdc_dynpro USING 'SAPLV45C' '0100' .
PERFORM bdc_field USING: 'BDC_OKCODE' '=RFAK' .
PERFORM bdc_dynpro USING 'SAPLV45C' '0100' .
PERFORM bdc_field USING: 'BDC_OKCODE' '=UEBR' ,
'VBRK-VBELN' lv_vbeln .
PERFORM bdc_dynpro USING 'SAPMV45A' '4001' .
PERFORM bdc_field USING: 'BDC_OKCODE' '=SICH' .
PERFORM bdc_dynpro USING 'SAPMV45A' '0101' .
PERFORM bdc_field USING: 'BDC_OKCODE' '=SICH' .
* TRANSACTION CALL
PERFORM transaction_call USING 'VA01'.
* BREAK-POINT.
*-- 실패 메세지를 읽는다.
READ TABLE messtab INTO gs_messtab WITH KEY msgtyp = 'E'.
IF sy-subrc NE 0.
READ TABLE messtab INTO gs_messtab WITH KEY msgtyp = 'W'.
IF sy-subrc NE 0.
READ TABLE messtab INTO gs_messtab INDEX 1.
ENDIF.
ENDIF.
IF gs_messtab-msgtyp NE 'S'.
*-- BDC실행 결과 메세지를 만든다.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = gs_messtab-msgid
msgnr = gs_messtab-msgnr
msgv1 = gs_messtab-msgv1
msgv2 = gs_messtab-msgv2
msgv3 = gs_messtab-msgv3
msgv4 = gs_messtab-msgv4
IMPORTING
message_text_output = gv_mess.
gs_vbeln-message = gv_mess.
*-- 성공 메세지를 읽는다.
ELSE.
gs_vbeln-message="주문생성을 성공하였습니다.".
ENDIF.
위의 VA01 레코드와 관련 없는 소스 및 참조 소스.
*&---------------------------------------------------------------------*
*& Form BDC_DYNPRO
*&---------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR gs_bdcdata.
gs_bdcdata-program = program.
gs_bdcdata-dynpro = dynpro.
gs_bdcdata-dynbegin = 'X'.
APPEND gs_bdcdata TO bdcdata.
ENDFORM. " BDC_DYNPRO
*&---------------------------------------------------------------------*
*& form bdc_field
*&---------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
CLEAR gs_bdcdata.
gs_bdcdata-fnam = fnam.
gs_bdcdata-fval = fval.
APPEND gs_bdcdata TO bdcdata.
ENDFORM. "bdc_field
*&---------------------------------------------------------------------*
*& Form TRANSACTION_CALL
*&---------------------------------------------------------------------*
FORM transaction_call USING p_tcode.
g_bdcopt-dismode="N"."'A'."'N'.
g_bdcopt-defsize="X".
g_bdcopt-nobinpt="X".
g_bdcopt-updmode="S".
g_bdcopt-racommit="X".
CALL TRANSACTION p_tcode USING bdcdata
OPTIONS FROM g_bdcopt
MESSAGES INTO messtab .
ENDFORM. " TRANSACTION_CALL