0% found this document useful (0 votes)
182 views3 pages

Exemplo de Batch Input

The document declares internal tables and variables used to process SAP transactions via the BDC interface. It initializes the tables, calls various transactions by populating the internal tables and passing them to CALL TRANSACTION, and handles any error messages returned, concatenating them into a single text variable.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
182 views3 pages

Exemplo de Batch Input

The document declares internal tables and variables used to process SAP transactions via the BDC interface. It initializes the tables, calls various transactions by populating the internal tables and passing them to CALL TRANSACTION, and handles any error messages returned, concatenating them into a single text variable.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

*--------------------------------------------------------------------*

* Tabelas Internas
*--------------------------------------------------------------------*
DATA: BEGIN OF bdc_tab OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdc_tab.

DATA: BEGIN OF messtab OCCURS 0.


INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.

*--------------------------------------------------------------------*
* Declaração
*--------------------------------------------------------------------*

DATA: ls_opcoes TYPE ctu_params.

DATA: lv_text TYPE string,


lv_text_2 TYPE string,
lv_erro TYPE c,
lv_msg_id LIKE t100-arbgb,
lv_msg_no LIKE t100-msgnr,
lv_msg_var1 LIKE balm-msgv1,
lv_msg_var2 LIKE balm-msgv2,
lv_msg_var3 LIKE balm-msgv3,
lv_msg_var4 LIKE balm-msgv4.

REFRESH: bdc_tab, messtab.

PERFORM dynpro USING 'X' 'SAPLCMFV' '1000'.


PERFORM dynpro USING '' 'BDC_OKCODE' '=ENTE'.
PERFORM dynpro USING '' 'MKAL-WERKS' i_versao-
werks.

PERFORM dynpro USING 'X' 'SAPLCMFV' '1000'.


PERFORM dynpro USING '' 'BDC_OKCODE' '=CREA'.
PERFORM dynpro USING '' 'MKAL-WERKS' i_versao-
werks.

PERFORM dynpro USING 'X' 'SAPLCMFV' '2000'.


PERFORM dynpro USING '' 'BDC_OKCODE' '=ENTE'.
PERFORM dynpro USING '' 'MKAL_EXPAND-MATNR' i_versao-
matnr.
PERFORM dynpro USING '' 'MKAL_EXPAND-VERID' i_versao-
verid.
PERFORM dynpro USING '' 'MKAL_EXPAND-TEXT1' i_versao-
text1.
PERFORM dynpro USING '' 'MKAL_EXPAND-MKSP' i_versao-
mksp.
PERFORM dynpro USING '' 'MKAL_EXPAND-BSTMI' '0'.
PERFORM dynpro USING '' 'MKAL_EXPAND-BSTMA' '999999999
'.
PERFORM dynpro USING '' 'MKAL_EXPAND-ADATU' '01.01.2014
'.
PERFORM dynpro USING '' 'MKAL_EXPAND-BDATU' '31.12.9999
'.
PERFORM dynpro USING '' 'MKAL_EXPAND-PLNTY' 'N'.
PERFORM dynpro USING '' 'MKAL_EXPAND-PLNNR' i_versao-
plnnr.
PERFORM dynpro USING '' 'MKAL_EXPAND-STLAL' i_versao-
stlal.
PERFORM dynpro USING '' 'MKAL_EXPAND-STLAN' i_versao-
stlan.
PERFORM dynpro USING '' 'MKAL_EXPAND-ALNAL' i_versao-
alnal.

PERFORM dynpro USING 'X' 'SAPLCMFV' '2000'.


PERFORM dynpro USING '' 'BDC_OKCODE' '=CLOS'.

PERFORM dynpro USING 'X' 'SAPLCMFV' '1000'.


PERFORM dynpro USING '' 'BDC_OKCODE' '=PRFG'.

PERFORM dynpro USING 'X' 'SAPMSSY0' '0120'.


PERFORM dynpro USING '' 'BDC_OKCODE' '=BACK'.

PERFORM dynpro USING 'X' 'SAPLCMFV' '1000'.


PERFORM dynpro USING '' 'BDC_OKCODE' '=SAVE'.

*-- Opções do CALL TRANSACTION


CLEAR ls_opcoes.
ls_opcoes-dismode = 'N'.
ls_opcoes-updmode = 'A'.
ls_opcoes-defsize = ' '.
ls_opcoes-cattmode = ' '.
ls_opcoes-racommit = ' '.
ls_opcoes-nobinpt = ' '.
ls_opcoes-nobiend = 'X'.

*Chamada ao CALL TRANSACTION


CALL TRANSACTION 'C223' USING bdc_tab OPTIONS FROM ls_opcoes MESSAGE
S INTO messtab.

READ TABLE messtab WITH KEY msgtyp = 'E'.


IF sy-subrc EQ 0.
lv_erro = 'X'.
ENDIF.

READ TABLE messtab WITH KEY msgtyp = 'A'.


IF sy-subrc EQ 0.
lv_erro = 'X'.
ENDIF.

LOOP AT messtab WHERE msgtyp = 'E' OR msgtyp = 'A'.

lv_msg_id = messtab-msgid.
lv_msg_no = messtab-msgnr.
lv_msg_var1 = messtab-msgv1(50).
lv_msg_var2 = messtab-msgv2(50).
lv_msg_var3 = messtab-msgv3(50).
lv_msg_var4 = messtab-msgv4(50).

CALL FUNCTION 'MESSAGE_PREPARE'


EXPORTING
language = sy-langu
msg_id = lv_msg_id
msg_no = lv_msg_no
msg_var1 = lv_msg_var1
msg_var2 = lv_msg_var2
msg_var3 = lv_msg_var3
msg_var4 = lv_msg_var4
IMPORTING
msg_text = lv_text_2
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.

CONCATENATE lv_text lv_text_2 INTO lv_text SEPARATED BY space.


CLEAR lv_text_2.

ENDLOOP.

*--------------------------------------------------------------------*
* FORM Dynpro
*--------------------------------------------------------------------*

FORM dynpro USING dynbegin name value.


IF dynbegin = 'X'.
CLEAR bdc_tab.
MOVE: name TO bdc_tab-program,
value TO bdc_tab-dynpro,
'X' TO bdc_tab-dynbegin.
APPEND bdc_tab.
ELSE.
CLEAR bdc_tab.
MOVE: name TO bdc_tab-fnam,
value TO bdc_tab-fval.
APPEND bdc_tab.
ENDIF.
ENDFORM.

You might also like