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

doubt in BDC session method program

Former Member
0 Likes
1,104

hi,

I tried to execute this program..i am getting error in the bolded line..can you give suggestions..

REPORT ZPRABA1.

TABLES:LFA1.

DATA:BEGIN OF IT_ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

LAND1 LIKE LFA1-LAND1,

NAME1 LIKE LFA1-NAME1,

END OF IT_ITAB.

DATA:BEGIN OF IT_JTAB OCCURS 0,

  • Error is showing in the below line..that means i have to create new structure or

  • what?

INCLUDE STRUCTURE BDCDATA.

END OF IT_JTAB.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

FILENAME = 'C:/praba.txt'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

CHANGING

DATA_TAB = IT_ITAB[].

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = 'USER01'

USER = SY-UNAME.

LOOP AT IT_ITAB[] INTO IT_ITAB.

REFRESH IT_JTAB.

PERFORM SUB USING 'YVTRANS' '0100'.

PERFORM SUB1 USING 'LFA1-LIFNR' ITAB-LIFNR,

PERFORM SUB1 USING 'LFA1-LAND1' ITAB-LAND1,

PERFORM SUB1 USING 'LFA1-NAME1' ITAB-NAME.

PERFORM SUB1 USING 'BDC_OKCODE' 'INSERT'.

PERFORM SUB USING 'YSBDC1' '100'.

PERFORM SUB1 USING 'BDC_OKCODE' 'EXIT'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'YSBDC1'

TABLES

DYNPROTAB = IT_JTAB.

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

SUBMIT RSBDCSUB VIA SELECTION-SCREEN.

FORM SUB USING A B.

CLEAR IT_JTAB.

IT_JTAB-PROGRAM = A.

IT_JTAB-DYNPRO = B.

IT_JTAB-DYNBEGIN = 'X'.

ENDFORM.

Error message:

unable to interpret 'STRUCTURE'. POSSIBLE causes of error:Incorrect spelling or comma error.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,071

Chenge the following portion:

<b>DATA:BEGIN OF IT_JTAB OCCURS 0,

  • Error is showing in the below line..that means i have to create new structure or

  • what?

INCLUDE STRUCTURE BDCDATA.

END OF IT_JTAB.</b>

<b>change it as:</b>

DATA:BEGIN OF IT_JTAB OCCURS 0.

  • Error is showing in the below line..that means i have to create new structure or

  • what?

DATA:INCLUDE STRUCTURE BDCDATA.

DATA:END OF IT_JTAB.

9 REPLIES 9
Read only

Former Member
0 Likes
1,072

Chenge the following portion:

<b>DATA:BEGIN OF IT_JTAB OCCURS 0,

  • Error is showing in the below line..that means i have to create new structure or

  • what?

INCLUDE STRUCTURE BDCDATA.

END OF IT_JTAB.</b>

<b>change it as:</b>

DATA:BEGIN OF IT_JTAB OCCURS 0.

  • Error is showing in the below line..that means i have to create new structure or

  • what?

DATA:INCLUDE STRUCTURE BDCDATA.

DATA:END OF IT_JTAB.

Read only

0 Likes
1,071

Aur you can write:

data: IT_JTAB type table of BDCDATA.

Read only

0 Likes
1,071

HI,

thanks for ur suggestion..i corrected that error..

error is showing like this..

"FILENAME = 'C:\PRABA.TXT' file type is not expected

Read only

0 Likes
1,071

Thats gr8 that you have corrected your error.

But the error you mentioned is only for the reason i have told earlier.

beause before the include structure in the internal table declaretion, you put comma but it should be full stop.

Read only

Former Member
0 Likes
1,071

Hi Praba,

DATA: i_file like rlgrap-filename value 'C:/praba.txt'.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = i_file

filetype = 'ASC'

TABLES

data_tab = it_itab "internal table name

EXCEPTIONS

file_open_error = 1

OTHERS = 2.

Read only

0 Likes
1,071

hi,

i executed the following program but got error after program termination

runtime errors: CALL_FUNCTION_CONFLICT_TYPE

EXCEPT:CX_SY_DYN_CALL_ILLEGAL_TYPE

TYPE CONFLICT WHEN CALLING A FUNCTION MODEULE

A FUNCTION MODULE WAS CALLED INCORRECTLY..

one more thing i have to change filename=i_file line according to my filename or what?

..........................................

REPORT ZPRABA1.

TABLES:LFA1.

DATA:BEGIN OF IT_ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

LAND1 LIKE LFA1-LAND1,

NAME1 LIKE LFA1-NAME1,

END OF IT_ITAB.

DATA:BEGIN OF IT_JTAB OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF IT_JTAB.

*CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

"FILENAME = 'C:\PRABA.TXT'

"FILETYPE = 'ASC'

"HAS_FIELD_SEPARATOR = 'X'

DATA: i_file like rlgrap-filename value 'C:/praba.txt'.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = i_file

filetype = 'ASC'

TABLES

data_tab = it_itab "internal table name

EXCEPTIONS

file_open_error = 1

OTHERS = 2.

"CHANGING

"DATA_TAB = IT_ITAB[].

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = 'USER01'

USER = SY-UNAME.

LOOP AT IT_ITAB[] INTO IT_ITAB.

REFRESH IT_JTAB.

PERFORM SUB USING 'YVTRANS' '0100'.

PERFORM SUB USING 'LFA1-LIFNR' IT_ITAB-LIFNR.

PERFORM SUB USING 'LFA1-LAND1' IT_ITAB-LAND1.

PERFORM SUB USING 'LFA1-NAME1' IT_ITAB-NAME1.

PERFORM SUB USING 'BDC_OKCODE' 'INSERT'.

PERFORM SUB USING 'YSBDC1' '100'.

PERFORM SUB USING 'BDC_OKCODE' 'EXIT'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'YSBDC1'

TABLES

DYNPROTAB = IT_JTAB.

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

SUBMIT RSBDCSUB VIA SELECTION-SCREEN.

FORM SUB USING A B.

CLEAR IT_JTAB.

IT_JTAB-PROGRAM = A.

IT_JTAB-DYNPRO = B.

IT_JTAB-DYNBEGIN = 'X'.

ENDFORM.

Read only

Former Member
0 Likes
1,071

hi,

u ahve to pass scrren field values .

FORM sub1 USING VALUE(P_0074)

VALUE(P_0075).

CLEAR it_jtab.

it_jtab-FNAM = P_0074.

it_jtab-FVAL = P_0075.

APPEND it_jtab.

ENDIF.

ENDFORM.

check the sample pg.

REPORT ZSR_BDC_SESSION.

DATA: BEGIN OF ITAB OCCURS 0,

LIFNR LIKE RF02K-LIFNR,

KTOKK LIKE RF02K-KTOKK,

NAME1 LIKE LFA1-NAME1,

SORTL LIKE LFA1-SORTL,

LAND1 LIKE LFA1-LAND1,

SPRAS LIKE LFA1-SPRAS,

END OF ITAB.

DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE,

BDCMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

START-OF-SELECTION.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'z:\flatfiles\sr1.txt'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = ITAB

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

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = 'SR'

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

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0100'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'RF02K-KTOKK'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'RF02K-LIFNR'

ITAB-LIFNR.

PERFORM BDC_FIELD USING 'RF02K-KTOKK'

ITAB-KTOKK.

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0110'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'LFA1-SPRAS'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'LFA1-NAME1'

ITAB-NAME1.

PERFORM BDC_FIELD USING 'LFA1-SORTL'

ITAB-SORTL.

PERFORM BDC_FIELD USING 'LFA1-LAND1'

ITAB-LAND1.

PERFORM BDC_FIELD USING 'LFA1-SPRAS'

ITAB-SPRAS.

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0120'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'LFA1-KUNNR'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0130'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'LFBK-BANKS(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=ENTR'.

PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=YES'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'XK01'

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

DYNPROTAB = BDCTAB

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

ENDLOOP.

*perform bdc_transaction using 'XK01'.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

*perform close_group.

&----


*& Form bdc_dynpro

&----


FORM BDC_DYNPRO USING VALUE(P_0069)

VALUE(P_0070).

CLEAR BDCTAB.

BDCTAB-PROGRAM = P_0069.

BDCTAB-DYNPRO = P_0070.

BDCTAB-DYNBEGIN = 'X'.

APPEND BDCTAB.

ENDFORM. " bdc_dynpro

&----


*& Form bdc_field

&----


*

FORM BDC_FIELD USING VALUE(P_0074)

VALUE(P_0075).

IF P_0075 IS NOT INITIAL.

CLEAR BDCTAB.

BDCTAB-FNAM = P_0074.

BDCTAB-FVAL = P_0075.

APPEND BDCTAB.

ENDIF.

ENDFORM. " bdc_field

if helpful reward points

Read only

0 Likes
1,071

HI,

I edited code like below and i have executed still i am getting the same error

Type conflict while selecting function module..

&----


*& Report ZPRABA1

*&

&----


*&

*&

&----


REPORT ZPRABA1.

TABLES:LFA1.

DATA:BEGIN OF IT_ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

LAND1 LIKE LFA1-LAND1,

NAME1 LIKE LFA1-NAME1,

END OF IT_ITAB.

DATA:BEGIN OF IT_JTAB OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF IT_JTAB.

*CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

"FILENAME = 'C:\PRABA.TXT'

"FILETYPE = 'ASC'

"HAS_FIELD_SEPARATOR = 'X'

DATA: i_file like rlgrap-filename value 'C:/praba.txt'.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = i_file

filetype = 'ASC'

TABLES

data_tab = it_itab "internal table name

EXCEPTIONS

file_open_error = 1

OTHERS = 2.

"CHANGING

"DATA_TAB = IT_ITAB[].

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

USER = SY-UNAME.

LOOP AT IT_ITAB[] INTO IT_ITAB.

REFRESH IT_JTAB.

PERFORM SUB USING 'YVTRANS' '0100'.

PERFORM SUB1 USING 'LFA1-LIFNR' IT_ITAB-LIFNR.

PERFORM SUB1 USING 'LFA1-LAND1' IT_ITAB-LAND1.

PERFORM SUB1 USING 'LFA1-NAME1' IT_ITAB-NAME1.

PERFORM SUB1 USING 'BDC_OKCODE' 'INSERT'.

PERFORM SUB USING 'YSBDC1' '100'.

PERFORM SUB1 USING 'BDC_OKCODE' 'EXIT'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'YSBDC1'

TABLES

DYNPROTAB = IT_JTAB.

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

SUBMIT RSBDCSUB VIA SELECTION-SCREEN.

FORM SUB USING A B.

CLEAR IT_JTAB.

IT_JTAB-PROGRAM = A.

IT_JTAB-DYNPRO = B.

IT_JTAB-DYNBEGIN = 'X'.

ENDFORM.

FORM SUB1 USING C D.

CLEAR IT_JTAB.

IT_JTAB-FNAM = C.

IT_JTAB-FVAL = D.

APPEND IT_JTAB.

ENDFORM.

Read only

Former Member
0 Likes
1,071

hi,

I edited my program like below as u suggested..but i am getting same function module error

REPORT ZPRABA1.

TABLES:LFA1.

DATA:BEGIN OF IT_ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

LAND1 LIKE LFA1-LAND1,

NAME1 LIKE LFA1-NAME1,

END OF IT_ITAB.

DATA:BEGIN OF IT_JTAB OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF IT_JTAB.

*CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

"FILENAME = 'C:\PRABA.TXT'

"FILETYPE = 'ASC'

"HAS_FIELD_SEPARATOR = 'X'

DATA: i_file like rlgrap-filename value 'C:/praba.txt'.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = i_file

filetype = 'ASC'

TABLES

data_tab = it_itab "internal table name

EXCEPTIONS

file_open_error = 1

OTHERS = 2.

"CHANGING

"DATA_TAB = IT_ITAB[].

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

USER = SY-UNAME.

LOOP AT IT_ITAB[] INTO IT_ITAB.

REFRESH IT_JTAB.

PERFORM SUB USING 'YVTRANS' '0100'.

PERFORM SUB1 USING 'LFA1-LIFNR' IT_ITAB-LIFNR.

PERFORM SUB1 USING 'LFA1-LAND1' IT_ITAB-LAND1.

PERFORM SUB1 USING 'LFA1-NAME1' IT_ITAB-NAME1.

PERFORM SUB1 USING 'BDC_OKCODE' 'INSERT'.

PERFORM SUB USING 'YSBDC1' '100'.

PERFORM SUB1 USING 'BDC_OKCODE' 'EXIT'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'YSBDC1'

TABLES

DYNPROTAB = IT_JTAB.

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

SUBMIT RSBDCSUB VIA SELECTION-SCREEN.

FORM SUB USING A B.

CLEAR IT_JTAB.

IT_JTAB-PROGRAM = A.

IT_JTAB-DYNPRO = B.

IT_JTAB-DYNBEGIN = 'X'.

ENDFORM.

FORM SUB1 USING C D.

CLEAR IT_JTAB.

IT_JTAB-FNAM = C.

IT_JTAB-FVAL = D.

APPEND IT_JTAB.

ENDFORM.