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

Former Member
0 Likes
656

What is the structure of a BDC sessions.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
636

BDCDATA is the structure please go to se11 and check for its fields.

regards

prabhu

6 REPLIES 6
Read only

Former Member
0 Likes
636

Hi,

1. Session Method:

Open a session by calling the following functional module

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

client = sy-mandt

group = session_name

keep = p_keep

user = sy-uname

………………

2. Call the following FM and pass the BDCDATA table and the transaction code.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

tcode = ‘MM01'

TABLES

dynprotab = i_bdcdata

EXCEPTIONS

…..

3 . Close the Session

CALL FUNCTION 'BDC_CLOSE_GROUP'

Check the following Thread,

Regards,

Padmam.

Read only

Former Member
0 Likes
636

hi Manjula,

Go through this sample program, you might get some idea.

TABLES ZBDC_TABLE.

  • CREATE A STRUCTURE FOR EQUALENT TO THE TABLE.

DATA: BEGIN OF STRUCT,

ID(2) TYPE C,

NAME(15) TYPE C,

AGE(2) TYPE C,

SEX TYPE C,

COMPANY(3) TYPE C,

END OF STRUCT.

  • CREATE TWO INTERNAL TABLE ONE FOR TO ACCESS THE STRUCTURE OF BDCDATA

  • ANOTHER FOR ERROR MESSAGE

DATA: ITAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

  • CREATE EXTERNAL FILE EG NOTPAD...

DATA: FNAME(200) VALUE 'C:\V1.TXT'.

START-OF-SELECTION.

  • HERE BDC PROCESS START FIRST OPEN THE FILE THEN READ THE DATA..

PERFORM BDC_PROCESS.

&----


*& Form BDC_PROCESS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BDC_PROCESS .

OPEN DATASET FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.

IF SY-SUBRC <> 0.

WRITE: 'ERROR OPENING FILE PLS CHECK FILE'.

ENDIF.

  • OPEN THE FIRST FM BDC_OPEN_GROUP TO GET THE DETAIL OF INFORMATION.

PERFORM OPEN_GROUP.

DO.

READ DATASET FNAME INTO STRUCT.

IF SY-SUBRC <> 0.

EXIT.

ENDIF.

  • GIVE THE PRGRAM NAME AND THE SCREEN NUMBER......

PERFORM BDC_DYNPRO USING 'ZVJ_BDC6' 9000.

PERFORM BDC_FIELD USING 'ZBDC_TABLE-ID' STRUCT-ID.

PERFORM BDC_FIELD USING 'ZBDC_TABLE-NAME' STRUCT-NAME.

PERFORM BDC_FIELD USING 'ZBDC_TABLE-AGE' STRUCT-AGE.

PERFORM BDC_FIELD USING 'ZBDC_TABLE-SEX' STRUCT-SEX.

PERFORM BDC_DYNPRO USING 'ZVJ_BDC6' 9001.

PERFORM BDC_FIELD USING 'ZBDC_TABLE-COMPANY' STRUCT-COMPANY.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=SAVE'.

ENDDO.

  • JUST GIVE THE SECOND FM FOR WHICH TCODE AND TABLE

PERFORM BDC_INSERT USING 'ZVJ_BDC'.

  • THIRD FM IS TO CLOSE THE SESSION IT IS OPTIONAL.

PERFORM BDC_CLOSEGROUP.

  • TO PROCESS JUST GO FOR SM35 TRANSACTION.

CALL TRANSACTION 'SM35'.

CLOSE DATASET FNAME.

ENDFORM. " BDC_PROCESS

&----


*& Form OPEN_GROUP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM OPEN_GROUP .

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = 'SESSION_1'

KEEP = 'X'

HOLDDATE = SY-DATUM

USER = SY-UNAME.

ENDFORM. " OPEN_GROUP

&----


*& Form BDC_DYNPRO

&----


  • text

----


  • -->P_0088 text

  • -->P_9000 text

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR ITAB.

ITAB-PROGRAM = PROGRAM.

ITAB-DYNPRO = DYNPRO.

ITAB-DYNBEGIN = 'X'.

APPEND ITAB.

ENDFORM. " BDC_DYNPRO

&----


*& Form BDC_FIELD

&----


  • text

----


  • -->P_0103 text

  • -->P_STRUCT_NAME text

----


FORM BDC_FIELD using FNAM FVAL.

CLEAR ITAB.

ITAB-FNAM = FNAM.

ITAB-FVAL = FVAL.

APPEND ITAB.

ENDFORM. " BDC_FIELD

&----


*& Form BDC_INSERT

&----


  • text

----


  • -->P_0119 text

----


FORM BDC_INSERT using TCODE .

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = TCODE

TABLES

DYNPROTAB = ITAB.

ENDFORM. " BDC_INSERT

&----


*& Form BDC_CLOSEGROUP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BDC_CLOSEGROUP .

CALL FUNCTION 'BDC_CLOSE_GROUP'.

ENDFORM. " BDC_CLOSEGROUP

&----


*& Module USER_COMMAND_9001 INPUT

&----


  • text

----


MODULE USER_COMMAND_9001 input.

CASE SY-UCOMM.

WHEN 'SAVE'.

MODIFY ZBDC_TABLE .

WHEN 'EXIT'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_9001 INPUT

&----


*& Module USER_COMMAND_9000 INPUT

&----


  • text

----


MODULE USER_COMMAND_9000 input.

CASE SY-UCOMM.

WHEN 'OK'.

CALL SCREEN 9001.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " USER_COMMAND_9000 INPUT

Reward useful points

Siva

Read only

Former Member
0 Likes
636

Hi,

The structure used is BDCDATA and the fields are :

PROGRAM

DYNPRO

DYNBEGIN

FNAM

FVAL

Moreover rthe Function modules used in Session method are:

BDC_open_group.

bdc_insert.

bdc_close_group.

Reverte back if any issues.

Reward with points if helpful.

Regards,

Naveen

Read only

sreeramkumar_madisetty
Active Contributor
0 Likes
636

<b>Hi Manjula

The structure used is BDCDATA and the fields are :

PROGRAM

DYNPRO

DYNBEGIN

FNAM

FVAL

Moreover rthe Function modules used in Session method are:

BDC_open_group.

bdc_insert.

bdc_close_group.</b>

Regards,

Sree

Read only

Former Member
0 Likes
637

BDCDATA is the structure please go to se11 and check for its fields.

regards

prabhu

Read only

Former Member
0 Likes
636

Hi,

Session method in BDC,.

session method is used in BDC . Three FMs are used for this:

1. BDC_OPEN " to open a BDC session

2. BDC_INSERT to insert data into BDC session, this uses table BDC_DATA. whcih contains screen no, name field name and value in foield .

3. BDC_CLOSE to close BDC session.

Using above FMs only session will be created and to run the session mean to update data in db SM37 tcode is used, this can be run with a program also in same prg of bdc with submit command,'

Jogdand M B