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 (UPLOAD/DOWNLOAD) ERROR

Former Member
0 Likes
571

HI

IS THIS CODING IS ENOUGH FOR UPLOAD A TEXT USING

1.BDC_OPEN_GROUP

2.BDC_INSERT

3.BDC_CLOSE_GROUP

&----


*& Report ZBDCCODE

*&

&----


*&

*&

&----


REPORT ZBDCCODE.

TABLES : ZSDHALFYEARLY.

DATA : BEGIN OF STR OCCURS 0,

MATNR1 LIKE MARA-MATNR,

ENAME LIKE MARA-ERNAM,

UNIT LIKE MARA-MEINS,

END OF STR.

DATA ITAB LIKE BDCDATA OCCURS 10 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

PARAMETERS : P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK1.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'C:\Documents and Settings\Administrator\Desktop\SS.TXT'

FILETYPE = 'ASC'

  • HEADLEN = ' ',

  • LINE_EXIT = ' '

  • TRUNCLEN = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • DAT_D_FORMAT = ' '

  • IMPORTING

  • FILELENGTH =

TABLES

DATA_TAB = STR

  • CONVERSION_ERROR = 1

  • FILE_OPEN_ERROR = 2

  • FILE_READ_ERROR = 3

  • INVALID_TYPE = 4

  • NO_BATCH = 5

  • UNKNOWN_ERROR = 6

  • INVALID_TABLE_WIDTH = 7

  • GUI_REFUSE_FILETRANSFER = 8

  • CUSTOMER_ERROR = 9

  • NO_AUTHORITY = 10

  • OTHERS = 11

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

INITIALIZATION.

*PERFORM INIT_PARM.

*FORM INIT_PARM.

P_FILE = 'C:\Documents and Settings\Administrator\Desktop\SS.TXT'.

*ENDFORM. " INIT_PARM

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = 'SMM1'

  • HOLDDATE = FILLER8

KEEP = 'X'

USER = SY-UNAME

  • RECORD = FILLER1

  • PROG = SY-CPROG

  • IMPORTING

  • QID =

EXCEPTIONS

CLIENT_INVALID = 1

DESTINATION_INVALID = 2

GROUP_INVALID = 3

GROUP_IS_LOCKED = 4

HOLDDATE_INVALID = 5

INTERNAL_ERROR = 6

QUEUE_ERROR = 7

RUNNING = 8

SYSTEM_LOCK_ERROR = 9

USER_INVALID = 10

OTHERS = 11

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

*LOOP AT STR.

    • perform to fill it_bdcdata.

*CALL TRANSACTION 'SE11' USING ITAB MODE 'N' UPDATE 'S'.

**MESSAGES INTO IT_MESSAGES.

**IF SY-SUBRC <> 0.

**FG_FLAG1 = 1.

    • if error occurs in transaction mode run bdc session for that data

*CLEAR : ITAB,STR.

*REFRESH : ITAB.

*ENDLOOP.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'SE11'

POST_LOCAL = 'X'

  • PRINTING = NOPRINT

SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

DYNPROTAB = ITAB

EXCEPTIONS

INTERNAL_ERROR = 1

NOT_OPEN = 2

QUEUE_ERROR = 3

TCODE_INVALID = 4

PRINTING_INVALID = 5

POSTING_INVALID = 6

OTHERS = 7

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

CALL FUNCTION 'BDC_CLOSE_GROUP'

EXCEPTIONS

NOT_OPEN = 1

QUEUE_ERROR = 2

OTHERS = 3

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

HI

IS THIS CODING IS ENOUGH FOR UPLOAD A TEXT USING

1.BDC_OPEN_GROUP

2.BDC_INSERT

3.BDC_CLOSE_GROUP

&----


*& Report ZBDCCODE

*&

&----


*&

*&

&----


REPORT ZBDCCODE.

TABLES : ZSDHALFYEARLY.

DATA : BEGIN OF STR OCCURS 0,

MATNR1 LIKE MARA-MATNR,

ENAME LIKE MARA-ERNAM,

UNIT LIKE MARA-MEINS,

END OF STR.

DATA ITAB LIKE BDCDATA OCCURS 10 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

PARAMETERS : P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK1.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'C:\Documents and Settings\Administrator\Desktop\SS.TXT'

FILETYPE = 'ASC'

  • HEADLEN = ' ',

  • LINE_EXIT = ' '

  • TRUNCLEN = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • DAT_D_FORMAT = ' '

  • IMPORTING

  • FILELENGTH =

TABLES

DATA_TAB = STR

  • CONVERSION_ERROR = 1

  • FILE_OPEN_ERROR = 2

  • FILE_READ_ERROR = 3

  • INVALID_TYPE = 4

  • NO_BATCH = 5

  • UNKNOWN_ERROR = 6

  • INVALID_TABLE_WIDTH = 7

  • GUI_REFUSE_FILETRANSFER = 8

  • CUSTOMER_ERROR = 9

  • NO_AUTHORITY = 10

  • OTHERS = 11

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

INITIALIZATION.

*PERFORM INIT_PARM.

*FORM INIT_PARM.

P_FILE = 'C:\Documents and Settings\Administrator\Desktop\SS.TXT'.

*ENDFORM. " INIT_PARM

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = 'SMM1'

  • HOLDDATE = FILLER8

KEEP = 'X'

USER = SY-UNAME

  • RECORD = FILLER1

  • PROG = SY-CPROG

  • IMPORTING

  • QID =

EXCEPTIONS

CLIENT_INVALID = 1

DESTINATION_INVALID = 2

GROUP_INVALID = 3

GROUP_IS_LOCKED = 4

HOLDDATE_INVALID = 5

INTERNAL_ERROR = 6

QUEUE_ERROR = 7

RUNNING = 8

SYSTEM_LOCK_ERROR = 9

USER_INVALID = 10

OTHERS = 11

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

*LOOP AT STR.

    • perform to fill it_bdcdata.

*CALL TRANSACTION 'SE11' USING ITAB MODE 'N' UPDATE 'S'.

**MESSAGES INTO IT_MESSAGES.

**IF SY-SUBRC <> 0.

**FG_FLAG1 = 1.

    • if error occurs in transaction mode run bdc session for that data

*CLEAR : ITAB,STR.

*REFRESH : ITAB.

*ENDLOOP.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'SE11'

POST_LOCAL = 'X'

  • PRINTING = NOPRINT

SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

DYNPROTAB = ITAB

EXCEPTIONS

INTERNAL_ERROR = 1

NOT_OPEN = 2

QUEUE_ERROR = 3

TCODE_INVALID = 4

PRINTING_INVALID = 5

POSTING_INVALID = 6

OTHERS = 7

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

CALL FUNCTION 'BDC_CLOSE_GROUP'

EXCEPTIONS

NOT_OPEN = 1

QUEUE_ERROR = 2

OTHERS = 3

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

3 REPLIES 3
Read only

former_member378318
Contributor
0 Likes
546

Its looks far from OK to me.

You have your main program code (open group, call transaction, insert group) in the INITIALIZATION event. Move your main code to eiter start-of-selection of end-of-selection.

You are not filling the BDC table ITAB with any bdc session data or information.

You seem to be calling transaction SE11 exactly what is it that you are trying to achieve?

Read only

0 Likes
546

I WANT TO UPLOAD MY DATA IN THE TABLE

Read only

0 Likes
546

You want to ulpoad the data into the table?

I assume by table you mean a Z table.

In that case don't bother with a BDC or call transaction just modify your code as follows:

Keep the selection screen and keep the code that uploads the file into your internal table STR.

Next loop over all entries in table STR and use the INSERT statement to insert the data into your Z table.

Hope it helps