on 09-16-2022 6:47 AM
TYPES: BEGIN OF st_bdc,
matnr TYPE rmmg1-matnr,
mbRsh TYPE rmmg1-mbrsh,
mtart TYPE rmmg1-mtart,
maktx TYPE makt-maktx,
meins TYPE mara-meins,
END OF st_bdc.
DATA: wa_bdc TYPE st_bdc,
it_bdc TYPE TABLE OF st_bdc.
data: IT_TEXT TYPE TRUXS_T_TEXT_DATA.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
data: wa_mes TYPE bdcmsgcoll.
DATA: LV_TEXT TYPE STRING.
PARAMETERS: s_file TYPE LOCALFILE.
at SELECTION-SCREEN on VALUE-REQUEST for s_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'S_FILE'
IMPORTING
FILE_NAME = S_FILE
.
START-OF-SELECTION.
PERFORM upload.
LOOP AT IT_BDC INTO WA_BDC.
* PERFORM open_group.
PERFORM bdc_dynpro USING 'SAPLSHL2' '1600'.
PERFORM bdc_field USING 'BDC_CURSOR'
'HELP_INFO-DYNPPROG'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TNEX'.
PERFORM bdc_dynpro USING 'SAPLSHL2' '1600'.
PERFORM bdc_field USING 'BDC_CURSOR'
'HELP_INFO-DYNPPROG'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TNEX'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MTART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'RMMG1-MATNR'
WA_BDC-MATNR.
PERFORM bdc_field USING 'RMMG1-MBRSH'
WA_BDC-MBRSH.
PERFORM bdc_field USING 'RMMG1-MTART'
WA_BDC-MTART.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM bdc_dynpro USING 'SAPLSHL2' '1600'.
PERFORM bdc_field USING 'BDC_CURSOR'
'HELP_INFO-DYNPPROG'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TNEX'.
PERFORM bdc_dynpro USING 'SAPLSHL2' '1600'.
PERFORM bdc_field USING 'BDC_CURSOR'
'HELP_INFO-DYNPPROG'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TNEX'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'MAKT-MAKTX'
WA_BDC-MAKTX.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MEINS'.
PERFORM bdc_field USING 'MARA-MEINS'
WA_BDC-MEINS.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
'VERP'.
* PERFORM bdc_transaction USING 'MM01'.
* PERFORM close_group.
CALL TRANSACTION 'MM01' USING BDCDATA MODE 'N' UPDATE 'A' MESSAGES INTO MESSTAB.
loop at messtab INTO wa_mes.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = wa_mes-msgid
LANG = SY-LANGU
NO = WA_MES-msgnr
V1 = WA_MES-msgv1
V2 = WA_MES-msgv2
V3 = WA_MES-msgv3
V4 = WA_MES-msgv4
IMPORTING
MSG = LV_TEXT
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDLOOP.
ENDLOOP.
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM.
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form UPLOAD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM upload .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_tab_raw_data = IT_TEXT
i_filename = S_FILE
TABLES
i_tab_converted_data = IT_BDC[]
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM.
My recommendation:
Stop using batch input and use a BAPI instead!
In your case it should be BAPI_MATERIAL_SAVEDATA.
First run BAPI_MATERIAL_GET_DETAIL to see what needs to be filled in for a sample material.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.