2014 Dec 16 12:33 PM
Dear Experts,
Trying to execute the BDC program for the transaction MB1A, the below error is displayed. Need help in resolving pls
Piece of coding is as below
REPORT ZPP_MB1A
NO STANDARD PAGE HEADING LINE-SIZE 255.
*INCLUDE BDCRECX1.
*
*START-OF-SELECTION.
*
* PERFORM OPEN_GROUP.
DATA : BEGIN OF GT_MB1A OCCURS 0,
BLDAT TYPE MKPF-BLDAT,
BUDAT TYPE MKPF-BUDAT,
BWARTWA TYPE RM07M-BWARTWA,
SOBKZ TYPE RM07M-SOBKZ,
WERKS TYPE RM07M-WERKS,
LGORT TYPE RM07M-LGORT,
MAT_KDAUF TYPE MSEGK-MAT_KDAUF,
MAT_KDPOS TYPE MSEGK-MAT_KDPOS,
AUFNR TYPE COBL-AUFNR,
MATNR TYPE MSEG-MATNR,
ERFMG TYPE MSEG-ERFMG,
J_3AERFMG TYPE J_3AIMDL-J_3AERFMG,
CHARG TYPE J_3AIMDL-CHARG,
J_4KSCAT TYPE J_3AIMDL-J_4KSCAT,
J_3ASIZED TYPE J_3AIMDL-J_3ASIZED,
END OF GT_MB1A.
DATA : BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'D:/UPLOAD/UPLOAD.TXT'
FILETYPE = 'DAT'
* HAS_FIELD_SEPARATOR = 'X '
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM = ' '
* VIRUS_SCAN_PROFILE =
* NO_AUTH_CHECK = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = GT_MB1A.
* EXCEPTIONS
* FILE_OPEN_ERROR = 1
* FILE_READ_ERROR = 2
* NO_BATCH = 3
* GUI_REFUSE_FILETRANSFER = 4
* INVALID_TYPE = 5
* NO_AUTHORITY = 6
* UNKNOWN_ERROR = 7
* BAD_DATA_FORMAT = 8
* HEADER_NOT_ALLOWED = 9
* SEPARATOR_NOT_ALLOWED = 10
* HEADER_TOO_LONG = 11
* UNKNOWN_DP_ERROR = 12
* ACCESS_DENIED = 13
* DP_OUT_OF_MEMORY = 14
* DISK_FULL = 15
* DP_TIMEOUT = 16
* OTHERS = 17
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
LOOP AT GT_MB1A.
REFRESH BDCDATA.
PERFORM MAPPING.
CALL TRANSACTION 'MB1A' USING BDCDATA MODE 'A'.
ENDLOOP.
FORM MAPPING.
PERFORM BDC_DYNPRO USING 'SAPMM07M' '0400'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM07M-SOBKZ'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'MKPF-BLDAT'
GT_MB1A-BLDAT.
PERFORM BDC_FIELD USING 'MKPF-BUDAT'
GT_MB1A-BUDAT.
PERFORM BDC_FIELD USING 'RM07M-BWARTWA'
GT_MB1A-BWARTWA.
PERFORM BDC_FIELD USING 'RM07M-SOBKZ'
GT_MB1A-SOBKZ.
PERFORM BDC_FIELD USING 'RM07M-WERKS'
GT_MB1A-WERKS.
PERFORM BDC_FIELD USING 'RM07M-LGORT'
GT_MB1A-LGORT.
PERFORM BDC_FIELD USING 'XFULL'
'X'.
PERFORM BDC_FIELD USING 'RM07M-WVERS2'
'X'.
PERFORM BDC_DYNPRO USING 'SAPMM07M' '0421'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSEG-ERFMG(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PF02'.
PERFORM BDC_FIELD USING 'MSEG-MATNR(01)'
GT_MB1A-MATNR.
PERFORM BDC_FIELD USING 'MSEG-ERFMG(01)'
''.
PERFORM BDC_FIELD USING 'MSEGK-MAT_KDAUF'
GT_MB1A-MAT_KDAUF.
PERFORM BDC_FIELD USING 'MSEGK-MAT_KDPOS'
GT_MB1A-MAT_KDPOS.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-AUFNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-AUFNR'
GT_MB1A-AUFNR.
PERFORM BDC_DYNPRO USING 'SAPLJ3AI' '0400'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'J_3AIMDL-CHARG(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'J_3AIMDL-J_3ASIZED(01)'
GT_MB1A-J_3ASIZED.
PERFORM BDC_FIELD USING 'J_3AIMDL-J_3AERFMG(01)'
GT_MB1A-J_3AERFMG.
PERFORM BDC_FIELD USING 'J_3AIMDL-J_4KSCAT(01)'
GT_MB1A-J_4KSCAT.
PERFORM BDC_FIELD USING 'J_3AIMDL-CHARG(01)'
GT_MB1A-CHARG.
PERFORM BDC_DYNPRO USING 'SAPLJ3AI' '0400'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'J_3AIMDL-J_3ASIZED(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=COPY'.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-AUFNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-AUFNR'
GT_MB1A-CHARG.
PERFORM BDC_DYNPRO USING 'SAPMM07M' '0410'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSEG-ERFMG'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'MSEG-ERFMG'
GT_MB1A-ERFMG.
PERFORM BDC_FIELD USING 'DM07M-KONTO'
'70007900'.
PERFORM BDC_FIELD USING 'DKACB-FMORE'
'X'.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-AUFNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-AUFNR'
GT_MB1A-AUFNR.
* PERFORM BDC_TRANSACTION USING 'MB1A'.
*
*
*
* PERFORM CLOSE_GROUP.
ENDFORM.
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM. "BDC_FIELD
Best rgds/thnks,
Srikanth.
2014 Dec 16 1:12 PM
hi vn srikanth,
can you replace FM 'GUI_UPLOAD' with this and try
CALL FUNCTION 'UPLOAD'
EXPORTING
* CODEPAGE = ' '
FILENAME = 'C:\'
FILETYPE = 'DAT'
*
TABLES
data_tab = GT_MB1A
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
You have to select file at runtime.
2014 Dec 16 12:37 PM
Hii Srikanth
Please check the type of field file... or use ASC type instead of DAT
Regards
Gaurav
Message was edited by: Gaurav Joshi
2014 Dec 16 12:43 PM
File type is ' DAT ' . Trying to upload from Notepad.
Uploading format is as below
16.12.2014 16.12.2014 261 E 1040 40IN 1001881 10 400000567
STNP-LYNGDLASER-01 1 PCS 0000057872
Best rgds/thnks,
Srikanth
2014 Dec 16 12:52 PM
hii
Please check your data type for date it might not be same,
Regards
Gaurav
2014 Dec 16 1:12 PM
hi vn srikanth,
can you replace FM 'GUI_UPLOAD' with this and try
CALL FUNCTION 'UPLOAD'
EXPORTING
* CODEPAGE = ' '
FILENAME = 'C:\'
FILETYPE = 'DAT'
*
TABLES
data_tab = GT_MB1A
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
You have to select file at runtime.
2014 Dec 16 1:33 PM
Hi adbul,
This seems to be working. But this function module is obselete and normally GUI_UPLOAD is the updated function module to be used. Pls suggest a solution for using the GUI_UPLOAD FM.
Best rgds/thnks,
Srikanth.