Code: Alles auswählen.
CALL TRANSACTION tacode USING bdcdata_tab
OPTIONS FROM opt
MESSAGES INTO msg_tab.
Code: Alles auswählen.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
LANGUAGE = msg_wa-msgspra
msg_id = msg_wa-msgid
msg_no = msg_wa-msgnr
MSG_VAR1 = SY-MSGV1
MSG_VAR2 = SY-MSGV2
MSG_VAR3 = SY-MSGV3
MSG_VAR4 = SY-MSGV4
IMPORTING
MSG_TEXT = err_msg.
* EXCEPTIONS
* FUNCTION_NOT_COMPLETED = 1
* MESSAGE_NOT_FOUND = 2
* OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Code: Alles auswählen.
* Type: msgcoll
* ´´´´´´´´´´´´´´´´´´´´
* Aufbau gleich der Struktur BDCMSGCOLL
* Sammeln von Meldungen im SAP-System
*
* Komponenten:
* - TCODE
* - DYNAME
* - DYNUMB
* - MSGTYP
* - MSGSPRA
* - MSGID
* - MSGNR
* - MSGV1 -> sy-msgv1
* - MSGV2 -> sy-msgv2
* - MSGV3 -> sy-msgv3
* - MSGV4 -> sy-msgv4
* - ENV
* - FLDNAME
* ´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
TYPES: BEGIN OF msgcoll,
tcode LIKE bdcmsgcoll-tcode,
dyname LIKE bdcmsgcoll-dyname,
dynumb LIKE bdcmsgcoll-dynumb,
msgtyp LIKE bdcmsgcoll-msgtyp,
msgspra LIKE bdcmsgcoll-msgspra,
msgid LIKE bdcmsgcoll-msgid,
msgnr LIKE bdcmsgcoll-msgnr,
msgv1 LIKE sy-msgv1,
msgv2 LIKE sy-msgv2,
msgv3 LIKE sy-msgv3,
msgv4 LIKE sy-msgv4,
env LIKE bdcmsgcoll-env,
fldname LIKE bdcmsgcoll-fldname,
END OF msgcoll.
DATA: msg_wa TYPE msgcoll,
msg_tab TYPE TABLE OF msgcoll.
Code: Alles auswählen.
LOOP AT msg_tab INTO msg_wa.
* ---------------------------------------- Ermitteln der Message Textes
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = msg_wa-msgspra
msg_id = msg_wa-msgid
msg_no = msg_wa-msgnr
msg_var1 = msg_wa-msgv1
msg_var2 = msg_wa-msgv2
msg_var3 = msg_wa-msgv3
msg_var4 = msg_wa-msgv4
IMPORTING
msg_text = err_msg
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
CASE sy-subrc.
WHEN 1.
"message
WHEN 2.
"message
WHEN 3.
"message
ENDCASE.
WRITE: / err_msg.
ENDLOOP.
Code: Alles auswählen.
...
PERFORM bdc_dynpro USING 'SAPLCOKO1'
'0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'CAUFVD-AUFNR'.
PERFORM bdc_field USING 'CAUFVD-AUFNR'
aufnr.
PERFORM bdc_field USING 'R62CLORD-FLG_OVIEW'
'X'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
...
FORM bdc_dynpro USING program
dynpro.
CLEAR bdcdata_wa.
bdcdata_wa-program = program.
bdcdata_wa-dynpro = dynpro.
bdcdata_wa-dynbegin = 'X'.
APPEND bdcdata_wa TO bdcdata_tab.
ENDFORM.
FORM bdc_field USING fnam
fval.
CLEAR bdcdata_wa.
bdcdata_wa-fnam = fnam.
bdcdata_wa-fval = fval.
APPEND bdcdata_wa TO bdcdata_tab.
ENDFORM.
FORM bdc_transaction USING tacode.
break stettler.
CALL TRANSACTION tacode USING bdcdata_tab
OPTIONS FROM opt
MESSAGES INTO msg_tab.
IF sy-subrc <> 0.
PERFORM err_list.
ENDIF.
ENDFORM.