Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BDC PROGRAM INPUT FILE

Former Member
0 Likes
662

hi all,

i have developed a bdc program, wen i run this program its going into dump,showing that a function module guiupload was called incorrectly, it is not accepting the file type, iam attaching the bdc program please help me in this regard.

thanks in advance

siva

REPORT Z_DISPLAY_SERVICE line-size 80

line-count 65

message-id zz.

TABLES: ASMD,ASMDT.

DATA : BEGIN OF INT_BDC OCCURS 100.

INCLUDE STRUCTURE BDCDATA.

DATA : END OF INT_BDC.

DATA :BEGIN OF INT_SERVICE OCCURS 0,

ASNUM LIKE ASMD-ASNUM, "ACTIVITY NUMBER

ASKTX LIKE ASMDT-ASKTX, "DESCRIPTION FOR ACTIVITY

ASTYP LIKE ASMD-ASTYP, "SERVICE CATEGORY

MEINS LIKE ASMD-MEINS, "BASIC UNIT OF MEASURE

MATKL LIKE ASMD-MATKL, "MAT/SERVICE GROUP

TAXIM LIKE ASMD-TAXIM, "TAX INDICATOR

BKLAS LIKE ASMD-BKLAS, "VALUATION CLASS

END OF INT_SERVICE.

DATA :BEGIN OF INT_ERROR OCCURS 50,

MSG LIKE SY-MSGV1,

ASNUM LIKE ASMD-ASNUM,

END OF INT_ERROR.

PARAMETER : P_INFILE like rlgrap-filename.

*DATA : p_INFILE(128) VALUE

  • 'C:\Documents and Settings\scdadm\Desktop\testbdc.txt'.

*

START-OF-SELECTION.

PERFORM UPLOAD.

PERFORM BUILD_BDC.

perform submit_bdc.

END-OF-SELECTION.

PERFORM ERROR_REPORT.

FORM UPLOAD.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = P_INFILE

FILETYPE = 'DAT'

  • HAS_FIELD_SEPARATOR = ' '

  • 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 = INT_SERVICE.

  • 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.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

FORM BUILD_BDC.

PERFORM BDC_SCREEN TABLES INT_BDC

USING 'SAPLBAS0' '0300'.

PERFORM BDC_FIELDS TABLES INT_BDC:

USING 'ASMD-ASNUM' INT_SERVICE-ASNUM, "ACTIVITY NUMBER

  • PERFORM BDC_FIELDS TABLES INT_BDC

USING 'ASMDT-ASKTX' INT_SERVICE-ASKTX, "DESCRIPTION TEXT

  • PERFORM BDC_FIELDS TABLES INT_BDC

USING 'ASMD-ASTYP' INT_SERVICE-ASTYP, "SERVICE CATEGORY

  • PERFORM BDC_FIELDS TABLES INT_BDC

USING 'ASMD-MEINS' INT_SERVICE-MEINS, "BASIC UNIT OF MEASURE

  • PERFORM BDC_FIELDS TABLES INT_BDC

USING 'ASMD-TAXIM' INT_SERVICE-TAXIM, "TAX INDICATOR

  • PERFORM BDC_FIELDS TABLES INT_BDC

USING 'ASMD-BKLAS' INT_SERVICE-BKLAS, "VALUATION CLASS

  • PERFORM BDC_FIELDS TABLES INT_BDC

USING 'BDC_OKCODE' '/11'. "SAVE AND END

ENDFORM.

FORM SUBMIT_BDC.

CALL TRANSACTION 'AC03' USING INT_BDC MODE 'N'.

IF SY-SUBRC <> 0.

MOVE SY-MSGV1 TO INT_ERROR-MSG.

MOVE INT_SERVICE-ASNUM TO INT_ERROR-ASNUM.

APPEND INT_ERROR.

ENDIF.

ENDFORM.

FORM ERROR_REPORT.

WRITE: 'ACTIVITY RECORDS WITH ERRORS'.

WRITE:1, 'VENDOR', 11 'ERROR MESSAGE'.

LOOP AT INT_ERROR.

WRITE:1,INT_ERROR-ASNUM,11 INT_ERROR-MSG.

ENDLOOP.

ENDFORM.

FORM BDC_SCREEN TABLES P_BDC STRUCTURE BDCDATA

USING P_PROGRAM P_SCREEN.

CLEAR P_BDC.

P_BDC-PROGRAM = P_PROGRAM.

P_BDC-DYNPRO = P_SCREEN.

P_BDC-DYNBEGIN = 'X'.

APPEND P_BDC.

ENDFORM.

FORM BDC_FIELDS TABLES P_BDC STRUCTURE BDCDATA

USING P_NAME P_VALUE.

CASE P_VALUE.

WHEN ' '.

WHEN OTHERS.

MOVE P_NAME TO P_BDC-FNAM.

MOVE P_VALUE TO P_BDC-FVAL.

APPEND P_BDC.

ENDCASE.

5 REPLIES 5
Read only

Former Member
0 Likes
611

Hi,

Comment the line FILE TYPE and execute the program

Regards

Sudheer

Read only

0 Likes
611

hi sudeer,

tanks for ur reply, i did like that wat u said,but it is showing the error message p_infile specified is has different field type.

can u help me in this regard

regards

siva

Read only

Former Member
0 Likes
611

Hi,

Go thru this FM.

Change file type to ASC

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = P_INFILE

FILETYPE = 'ASC'

  • HAS_FIELD_SEPARATOR = ' '

  • 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 = INT_SERVICE.

  • 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.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Thanks

Sunil

Read only

Former Member
0 Likes
611

Hi siva,

uncomment the parameter has_field_separator and pass ' ' in gui_upload.

Regards,

venkat

Read only

Former Member
0 Likes
611

Declare a variable type string.

ex: g_str type string.

Pass the file name to this variable in start-of-selection event.

START-OF-SELECTION.

g_str = P_INFILE.

now pass this g_str to gui_upload fm instead of p_infile.