INCLUDE BDCRECX1.
PARAMETERS: DATASET(132) LOWER CASE.
*** DO NOT CHANGE - the generated data section - DO NOT CHANGE ***
*
* If it is nessesary to change the data section use the rules:
* 1.) Each definition of a field exists of two lines
* 2.) The first line shows exactly the comment
* '* data element: ' followed with the data element
* which describes the field.
* If you don't have a data element use the
* comment without a data element name
* 3.) The second line shows the fieldname of the
* structure, the fieldname must consist of
* a fieldname and optional the character '_' and
* three numbers and the field length in brackets
* 4.) Each field must be type C.
*
*** Generated data section with specific formatting - DO NOT CHANGE ***
*** End generated data section ***
TYPES:BEGIN OF TYP_01,
MAKTX TYPE MAKT-MAKTX,
MBRSH TYPE RMMG1-MBRSH,
MTART TYPE RMMG1-MTART,
MEINS TYPE MARA-MEINS,
MATKL TYPE MARA-MATKL,
END OF TYP_01.
DATA GT_01 TYPE STANDARD TABLE OF TYP_01.
DATA GS_01 TYPE TYP_01.
DATA G2 TYPE RLGRAP-FILENAME.
DATA GT_02 TYPE STANDARD TABLE OF ALSMEX_TABLINE.
DATA GS_02 LIKE LINE OF GT_02.
FIELD-SYMBOLS <FS>.
DATA INDEX TYPE I.
START-OF-SELECTION.
PERFORM OPEN_GROUP.
DO 5 TIMES.
GS_01-MAKTX = '1028 TEST'.
GS_01-MBRSH = 'S'.
GS_01-MTART = '101'.
GS_01-MEINS = 'PC'.
GS_01-MATKL = '0001'.
APPEND GS_01 TO GT_01.
ENDDO.
DATA G1 TYPE STRING.
CALL FUNCTION 'WS_FILENAME_GET'
IMPORTING
FILENAME = G2.
*
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = G1
FILETYPE = 'DAT'
CODEPAGE = '8404'
TABLES
DATA_TAB = GT_01.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = G2
I_BEGIN_COL = 1
I_BEGIN_ROW = 1
I_END_COL = 100
I_END_ROW = 100
TABLES
INTERN = GT_02
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
*用字段符号整理
LOOP AT GT_02 INTO GS_02.
INDEX = GS_02-COL.
ASSIGN COMPONENT INDEX OF STRUCTURE GS_01 TO <FS>.
IF <FS> IS ASSIGNED.
<FS> = GS_02-VALUE.
UNASSIGN <FS>.
ENDIF.
AT END OF ROW.
APPEND GS_01 TO GT_01.
ENDAT.
ENDLOOP.
LOOP AT GT_01 INTO GS_01.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
GS_01-MBRSH.
PERFORM BDC_FIELD USING 'RMMG1-MTART'
GS_01-MTART.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(02)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'