Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

REPORT z05calltransaction03.

DATA: t_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE.


DATA: t_msg LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
*TABELA INTERNA UNINDO AS 3 TABELAS COM OS CAMPOS QUE POSSUEM VALORES
*DAS PERFORM ABAIXO.
DATA:BEGIN OF t_mara_rmmg_makt OCCURS 0,
matnr(18) TYPE c,
mbrsh(01) TYPE c,
mtart(04) TYPE c,
maktx(40) TYPE c,
meins(03) TYPE c,
mtpos_mara(04) TYPE c,
END OF t_mara_rmmg_makt.
INITIALIZATION.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
PARAMETER:p_modo TYPE c.
PARAMETER:p_path LIKE rlgrap-filename.
*
DEFAULT 'C:\CURSOABAP'.
SELECTION-SCREEN END OF BLOCK a1.
AT SELECTION-SCREEN.
TOP-OF-PAGE.
START-OF-SELECTION.
PERFORM pega_dados.
PERFORM insercao.
PERFORM calltransaction.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&
Form insert_line
*&---------------------------------------------------------------------*
*
PERFORM DO 60
*----------------------------------------------------------------------*
*
-->P_0026 text
*
-->P_0027 text
*
-->P_0028 text
*----------------------------------------------------------------------*
FORM insert_line USING u_start TYPE c u_name TYPE c u_value.
CLEAR t_bdc.
MOVE u_start TO t_bdc-dynbegin.
IF u_start = 'X'.
MOVE:
u_name TO t_bdc-program,
u_value TO t_bdc-dynpro.
ELSE.
MOVE:
u_name TO t_bdc-fnam,
u_value TO t_bdc-fval.
ENDIF.

APPEND t_bdc.
ENDFORM.

" insert_line

*&---------------------------------------------------------------------*
*&
Form INSERCAO
*&---------------------------------------------------------------------*
*
text INSERO DE DADOS
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM insercao.
REFRESH t_bdc.
PERFORM insert_line
'X' 'SAPLMGMM'
' ' 'BDC_CURSOR'
' ' 'BDC_OKCODE'
' ' 'RMMG1-MATNR'
' ' 'RMMG1-MBRSH'
' ' 'RMMG1-MTART'
REFRESH t_msg.

USING:
'0060',
'RMMG1-MTART',
'=AUSW',
'LAPIS',
'A',
'FERT'.

PERFORM insert_line USING:


'X' 'SAPLMGMM'
'0070',
' ' 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(04)',
' ' 'BDC_OKCODE'
'=ENTR',
' ' 'MSICHTAUSW-KZSEL(01)' 'X'.
REFRESH t_msg.
PERFORM insert_line USING:
'X' 'SAPLMGMM'
'4004',
' ' 'BDC_OKCODE'
'=BU',
' ' 'MAKT-MAKTX'
'LAPIS PRETO',
' ' 'MARA-MEINS'
'CM',
' ' 'MARA-MTPOS_MARA'
'NORM'.
ENDFORM.

" INSERCAO

*&---------------------------------------------------------------------*
*&
Form CALLTRANSACTION
*&---------------------------------------------------------------------*
*
text CALL TRANSACTION
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM calltransaction.
REFRESH t_msg.
CALL TRANSACTION 'MM01'
USING t_bdc
MODE p_modo
MESSAGES INTO t_msg
UPDATE 'S'.
ENDFORM.
" CALLTRANSACTION
*&---------------------------------------------------------------------*

*&
Form PEGA_DADOS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM pega_dados.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename
= p_path
filetype
= 'ASC'
TABLES
data_tab
= t_mara_rmmg_makt
EXCEPTIONS
conversion_error
= 1
file_open_error
= 2
file_read_error
= 3
invalid_type
= 4
no_batch
= 5
unknown_error
= 6
invalid_table_width
= 7
gui_refuse_filetransfer = 8
customer_error
= 9
OTHERS
= 10.
IF sy-subrc <> 0.
ENDIF.
ENDFORM.

" PEGA_DADOS

You might also like