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

Former Member
0 Likes
918

Hi guys

I have to write BDC program of T.C( BGM2).

Here header fields are : MGANR, GAART , GAERB

and items fields are : GAKTX , LSTNR, POSNM, SELEK, GAZNA, GAZWE, KZOPR_AND, KLART, CLASS, MWERT,MNAME, PAGPOS,

And also I have given the following recording using SHDB.

report Z_BGM1

no standard page heading line-size 255.

include bdcrecx1.

start-of-selection.

perform open_group.

perform bdc_dynpro using 'SAPLBG00' '0101'.

perform bdc_field using 'BDC_CURSOR'

'RBGM00-MGANR'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'RBGM00-MGANR'

'C00002'.

perform bdc_dynpro using 'SAPLBG00' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'GBGMK-GAKTX'

'Customer Warranty for Small Cars-001'.

perform bdc_field using 'GBGMK-GAART'

'3'.

perform bdc_field using 'GBGMK-GAERB'

'X'.

perform bdc_field using 'BDC_CURSOR'

'GBGMP-LSTNR(01)'.

perform bdc_field using 'GBGMP-LSTNR(01)'

'wty_service'.

perform bdc_dynpro using 'SAPLBG00' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=TAB2'.

perform bdc_field using 'GBGMK-GAKTX'

'Customer Warranty for Small Cars-001'.

perform bdc_field using 'GBGMK-GAART'

'3'.

perform bdc_field using 'GBGMK-GAERB'

'X'.

perform bdc_field using 'BDC_CURSOR'

'GBGMP-POSNM(01)'.

perform bdc_field using 'RBGM00-SELEK(01)'

'X'.

perform bdc_dynpro using 'SAPLBG00' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'GBGMK-GAKTX'

'Customer Warranty for Small Cars-001'.

perform bdc_field using 'GBGMK-GAART'

'3'.

perform bdc_field using 'GBGMK-GAERB'

'X'.

perform bdc_field using 'BDC_CURSOR'

'GBGMZ-GAZNA(02)'.

perform bdc_field using 'RBGM00-KZOPR_AND'

'X'.

perform bdc_field using 'GBGMZ-GAZNA(02)'

'WTY_PERIOD'.

perform bdc_dynpro using 'SAPLBG00' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'GBGMK-GAKTX'

'Customer Warranty for Small Cars-001'.

perform bdc_field using 'GBGMK-GAART'

'3'.

perform bdc_field using 'GBGMK-GAERB'

'X'.

perform bdc_field using 'BDC_CURSOR'

'RBGM00-GAZWE(01)'.

perform bdc_field using 'RBGM00-KZOPR_AND'

'X'.

perform bdc_field using 'RBGM00-GAZWE(01)'

' 24000'.

perform bdc_dynpro using 'SAPLBG00' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'GBGMK-GAKTX'

'Customer Warranty for Small Cars-001'.

perform bdc_field using 'GBGMK-GAART'

'3'.

perform bdc_field using 'GBGMK-GAERB'

'X'.

perform bdc_field using 'BDC_CURSOR'

'RBGM00-GAZWE(02)'.

perform bdc_field using 'RBGM00-KZOPR_AND'

'X'.

perform bdc_field using 'RBGM00-GAZWE(02)'

' 18'.

perform bdc_dynpro using 'SAPLBG00' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=CLZU'.

perform bdc_field using 'BDC_CURSOR'

'GBGMK-GAKTX'.

perform bdc_field using 'GBGMK-GAKTX'

'Customer Warranty for Small Cars-001'.

perform bdc_field using 'GBGMK-GAART'

'3'.

perform bdc_field using 'GBGMK-GAERB'

'X'.

perform bdc_dynpro using 'SAPLCLCA' '0602'.

perform bdc_field using 'BDC_CURSOR'

'RMCLF-KLART'.

perform bdc_field using 'BDC_OKCODE'

'=ENTE'.

perform bdc_field using 'RMCLF-KLART'

'039'.

perform bdc_dynpro using 'SAPLCLFM' '0500'.

perform bdc_field using 'BDC_CURSOR'

'RMCLF-CLASS(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'RMCLF-CLASS(01)'

'Z_BGM1_CLASS'.

perform bdc_dynpro using 'SAPLCTMS' '0109'.

perform bdc_field using 'BDC_CURSOR'

'RCTMS-MWERT(05)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'RCTMS-MNAME(01)'

'Z_VEH_USAGE'.

perform bdc_field using 'RCTMS-MNAME(02)'

'Z_CUST_CATEG'.

perform bdc_field using 'RCTMS-MNAME(03)'

'Z_MODEL_TYPE'.

perform bdc_field using 'RCTMS-MNAME(04)'

'Z_EFF_DT_FROM'.

perform bdc_field using 'RCTMS-MNAME(05)'

'Z_EQMNT_TYPE'.

perform bdc_field using 'RCTMS-MWERT(01)'

'01'.

perform bdc_field using 'RCTMS-MWERT(02)'

'01'.

perform bdc_field using 'RCTMS-MWERT(03)'

'612'.

perform bdc_field using 'RCTMS-MWERT(04)'

'01.01.2008'.

perform bdc_field using 'RCTMS-MWERT(05)'

'01'.

perform bdc_dynpro using 'SAPLCTMS' '0109'.

perform bdc_field using 'BDC_CURSOR'

'RCTMS-MNAME(01)'.

perform bdc_field using 'BDC_OKCODE'

'=BACK'.

perform bdc_dynpro using 'SAPLCLFM' '0500'.

perform bdc_field using 'BDC_CURSOR'

'RMCLF-CLASS(01)'.

perform bdc_field using 'BDC_OKCODE'

'=ENDE'.

perform bdc_field using 'RMCLF-PAGPOS'

'1'.

perform bdc_dynpro using 'SAPLBG00' '1000'.

perform bdc_field using 'RBGM00-KZOPR_AND'

'X'.

perform bdc_dynpro using 'SAPLBG00' '1000'.

perform bdc_field using 'BDC_OKCODE'

'=BUCH'.

perform bdc_field using 'BDC_CURSOR'

'GBGMK-GAKTX'.

perform bdc_field using 'GBGMK-GAKTX'

'Customer Warranty for Small Cars-001'.

perform bdc_field using 'GBGMK-GAART'

'3'.

perform bdc_field using 'GBGMK-GAERB'

'X'.

perform bdc_field using 'RBGM00-KZOPR_AND'

'X'.

perform bdc_transaction using 'BGM1'.

perform close_group.

So can anybody send me the sample coding for this so that i can proceed my program.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
742

Sample code??

Rob

4 REPLIES 4
Read only

Former Member
0 Likes
743

Sample code??

Rob

Read only

0 Likes
742

Plz send me sample code for this so that I can proceed .

Read only

0 Likes
742

Search in SDN i feel here lots of sample code already available for you.

Amit.

Read only

Former Member
0 Likes
742

Hi,

Following is a sample code of handling table control in BDC.


REPORT ZS_BDC5 .
*HANDLING TABLE CONTROL IN BDC
DATA : BEGIN OF IT_DUMMY OCCURS 0,
DUMMY(100) TYPE C,
END OF IT_DUMMY.
DATA : BEGIN OF IT_XK01 OCCURS 0,
LIFNR(10) TYPE C,
BUKRS(4) TYPE C,
EKORG(4) TYPE C,
KTOKK(4) TYPE C,
NAME1(30) TYPE C,
SORTL(10) TYPE C,
LAND1(3) TYPE C,
SPRAS(2) TYPE C,
AKONT(6) TYPE C,
FDGRV(2) TYPE C,
WAERS(3) TYPE C,
END OF IT_XK01,
BEGIN OF IT_BANK OCCURS 0,
BANKS(3) TYPE C,
BANKL(10) TYPE C,
BANKN(10) TYPE C,
KOINH(30) TYPE C,
LIFNR(10) TYPE C,
END OF IT_BANK.
DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = 'C:\VENDOR.TXT'
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_DUMMY.

LOOP AT IT_DUMMY.
IF IT_DUMMY-DUMMY+0(2) = '11'.
IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10).
IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4).
IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4).
IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4).
IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30).
IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10).
IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3).
IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2).
IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6).
IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2).
IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3).
APPEND IT_XK01.
ELSE.
IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3).
IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10).
IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10).
IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30).
IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10).
APPEND IT_BANK.
ENDIF.
ENDLOOP.

LOOP AT IT_XK01.
REFRESH IT_BDCDATA.
perform bdc_dynpro using 'SAPMF02K' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-REF_LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
IT_XK01-LIFNR.
perform bdc_field using 'RF02K-BUKRS'
IT_XK01-BUKRS.
perform bdc_field using 'RF02K-EKORG'
IT_XK01-EKORG.
perform bdc_field using 'RF02K-KTOKK'
IT_XK01-KTOKK.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-TELX1'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-NAME1'
IT_XK01-NAME1.
perform bdc_field using 'LFA1-SORTL'
IT_XK01-SORTL.
perform bdc_field using 'LFA1-LAND1'
IT_XK01-LAND1.
perform bdc_field using 'LFA1-SPRAS'
IT_XK01-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-KOINH(02)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
DATA : FNAM(20) TYPE C,
IDX TYPE C.
MOVE 1 TO IDX.
LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR.
CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKS.

CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKL.

CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKN.

CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-KOINH.
IDX = IDX + 1.
ENDLOOP.

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 'SAPMF02K' '0210'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-FDGRV'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFB1-AKONT'
IT_XK01-AKONT.
perform bdc_field using 'LFB1-FDGRV'
IT_XK01-FDGRV.
perform bdc_dynpro using 'SAPMF02K' '0215'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0220'.
perform bdc_field using 'BDC_CURSOR'
'LFB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0310'.
perform bdc_field using 'BDC_CURSOR'
'LFM1-WAERS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFM1-WAERS'
IT_XK01-WAERS.
perform bdc_dynpro using 'SAPMF02K' '0320'.
perform bdc_field using 'BDC_CURSOR'
'WYT3-PARVW(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=YES'.
CALL TRANSACTION 'XK01' USING IT_BDCDATA
MODE 'A'
UPDATE 'S'
MESSAGES INTO IT_BDCMSGCOLL.
ENDLOOP.

FORM BDC_DYNPRO USING PROG SCR.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROG.
IT_BDCDATA-DYNPRO = SCR.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM.

FORM BDC_FIELD USING FNAM FVAL.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
ENDFORM.

Sarada