BDC3批量创建物料主数据

INCLUDE BDCRECX1.

PARAMETERSDATASET(132LOWER 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 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'
                                  '=ENTR'.
    PERFORM BDC_FIELD       USING 'MSICHTAUSW-KZSEL(01)'
                                  'X'.
    PERFORM BDC_FIELD       USING 'MSICHTAUSW-KZSEL(02)'
                                  'X'.
    PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4004'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=SP02'.
    PERFORM BDC_FIELD       USING 'MAKT-MAKTX'
                                  GS_01-MAKTX.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  GS_01-MATKL.
    PERFORM BDC_FIELD       USING 'MARA-MEINS'
                                 GS_01-MEINS.
    PERFORM BDC_FIELD       USING 'MARA-MATKL'
                                  GS_01-MATKL.
    PERFORM BDC_FIELD       USING 'MARA-MTPOS_MARA'
                                  'NORM'.
    PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4004'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=BU'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  GS_01-MAKTX.
    PERFORM BDC_FIELD       USING 'MAKT-MAKTX'
                                  GS_01-MAKTX.
    PERFORM BDC_TRANSACTION USING 'MM01'.

  ENDLOOP.

  PERFORM CLOSE_GROUP.

猜你喜欢

转载自www.cnblogs.com/salah/p/11934336.html