ZSUNTESTBDC

You might also like

You are on page 1of 4

REPORT zsuntestbdc

NO STANDARD PAGE HEADING LINE-SIZE 255.

DATA: BEGIN OF tbl_upload OCCURS 0,


lifnr LIKE ekko-lifnr,
evart LIKE rm06e-evart,
ekorg LIKE ekko-ekorg,
ekgrp LIKE ekko-ekgrp,
werks LIKE rm06e-werks,
kdate LIKE ekko-kdate,
ematn LIKE ekpo-ematn,
ktmng(13), "LIKE ekpo-ktmng,
etfz1(3), "LIKE ekpo-etfz1,
etfz2(3), "LIKE ekpo-etfz2,
END OF tbl_upload.

DATA: tbl_file LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE.

************************************************************************
* SELECTION SCREEN *
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01.
PARAMETERS: p_pcfile LIKE rlgrap-filename DEFAULT 'C:/' OBLIGATORY.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK b1.

INCLUDE bdcrecx1.

************************************************************************
* AT SELECTION-SCREEN *
************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pcfile.

DATA: l_file TYPE string,


t_files TYPE filetable,
l_subrc TYPE i,
l_title TYPE string.

l_file = p_pcfile.

l_title = 'File System for Pres. Server'.

CALL METHOD cl_gui_frontend_services=>file_open_dialog


EXPORTING
window_title = l_title
default_filename = l_file
CHANGING
file_table = t_files
rc = l_subrc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
OTHERS = 4.

READ TABLE t_files INDEX 1 INTO p_pcfile.

************************************************************************
* START-OF-SELECTION *
************************************************************************
START-OF-SELECTION.

PERFORM read_data_from_file.

PERFORM open_group.

LOOP AT tbl_upload.
PERFORM bdc_dynpro USING 'SAPMM06E' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM06E-WERKS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EKKO-LIFNR'
tbl_upload-lifnr.
PERFORM bdc_field USING 'RM06E-EVART'
tbl_upload-evart.
PERFORM bdc_field USING 'EKKO-EKORG'
tbl_upload-ekorg.
PERFORM bdc_field USING 'EKKO-EKGRP'
tbl_upload-ekgrp.
PERFORM bdc_field USING 'RM06E-WERKS'
tbl_upload-werks.
PERFORM bdc_dynpro USING 'SAPMM06E' '0201'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EKKO-KDATE'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EKKO-KDATE'
tbl_upload-kdate.
PERFORM bdc_dynpro USING 'SAPMM06E' '0220'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EKPO-KTMNG(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=DETA'.
PERFORM bdc_field USING 'EKPO-EMATN(01)'
tbl_upload-ematn.
PERFORM bdc_field USING 'EKPO-KTMNG(01)'
tbl_upload-ktmng.

PERFORM bdc_dynpro USING 'SAPMM06E' '0211'.


PERFORM bdc_field USING 'BDC_CURSOR'
'EKPO-KTMNG'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=DETZ'.

PERFORM bdc_dynpro USING 'SAPMM06E' '0212'.


PERFORM bdc_field USING 'BDC_CURSOR'
'EKPO-ETFZ2'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EKPO-ETFZ1'
tbl_upload-etfz1.
PERFORM bdc_field USING 'EKPO-ETFZ2'
tbl_upload-etfz2.
PERFORM bdc_dynpro USING 'SAPMM06E' '0220'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM06E-EBELP'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'RM06E-EBELP'
'10'.
PERFORM bdc_transaction USING 'ME31L'.
ENDLOOP.

PERFORM close_group.
*&---------------------------------------------------------------------*
*& Form read_data_from_file
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM read_data_from_file.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'


EXPORTING
filename = p_pcfile
i_begin_col = '1'
i_begin_row = '2'
i_end_col = '10'
i_end_row = '60000'
TABLES
intern = tbl_file
* EXCEPTIONS
* INCONSISTENT_PARAMETERS = 1
* UPLOAD_OLE = 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.

LOOP AT tbl_file.

CASE tbl_file-col.
WHEN '0001'.
MOVE tbl_file-value TO tbl_upload-lifnr.
WHEN '0002'.
MOVE tbl_file-value TO tbl_upload-evart.
WHEN '0003'.
MOVE tbl_file-value TO tbl_upload-ekorg.
WHEN '0004'.
MOVE tbl_file-value TO tbl_upload-ekgrp.
WHEN '0005'.
MOVE tbl_file-value TO tbl_upload-werks.
WHEN '0006'.
MOVE tbl_file-value TO tbl_upload-kdate.
WHEN '0007'.
MOVE tbl_file-value TO tbl_upload-ematn.
WHEN '0008'.
MOVE tbl_file-value TO tbl_upload-ktmng.
WHEN '0009'.
MOVE tbl_file-value TO tbl_upload-etfz1.
WHEN '0010'.
MOVE tbl_file-value TO tbl_upload-etfz2.
ENDCASE.

AT END OF row.
APPEND tbl_upload. CLEAR tbl_upload.
ENDAT.
ENDLOOP.

ENDFORM. " read_data_from_file

You might also like