Application Development 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: 

bdc program

Former Member
0 Kudos

pl. send bdc model program for real time project for F-28, F-53, FB60, FB70, MIRO,VF01. Pl. send it in my mail id rammtec_4u@yahoo.com. it's urgent pl.

1 REPLY 1

Former Member
0 Kudos

Hi,

Please see the BDC Program For FB60 Transaction:

I can call in fm level:

The Follwing are declared in TOP Include:

DATA: atg_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,

atg_messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF it_atg_invfo OCCURS 0,

accnt(17),

bldat(10),

xblnr(16),

budat(10),

wrbtr(15),

waers(5),

xmwst(1),

bupla(5),

sgtxt(50),

END OF it_atg_invfo.

DATA: BEGIN OF atg_acgl,

hkont(10),

wrbtr(15),

mwskz(2),

prctr(10),

END OF atg_acgl.

DATA: lv_count(2) TYPE n.

DATA:it_acgl_item TYPE STANDARD TABLE OF acgl_item.

The Follwing subroutines written in :LZATG_VEN_LIBF01

----


***INCLUDE LZATG_VEN_LIBF01 .

----


----


  • Start new screen *

----


FORM bdc_dynpro USING program dynpro.

CLEAR atg_bdcdata.

atg_bdcdata-program = program.

atg_bdcdata-dynpro = dynpro.

atg_bdcdata-dynbegin = 'X'.

APPEND atg_bdcdata.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

CLEAR atg_bdcdata.

atg_bdcdata-fnam = fnam.

atg_bdcdata-fval = fval.

APPEND atg_bdcdata.

ENDFORM. "BDC_FIELD

&----


*& Form GL_ACCOUNTS

&----


  • text

----


  • -->P_ATG_ACGL_ITEM_HKONT text

  • -->P_ATG_ACGL_ITEM_WRBTR text

  • -->P_ATG_ACGL_ITEM_MWSKZ text

  • -->P_ATG_ACGL_ITEM_PRCTR text

  • -->P_LV_COUNT text

----


FORM gl_accounts TABLES p_atg_acgl_item LIKE it_acgl_item

USING p_lv_count TYPE any.

DATA: atg_hkont(22) TYPE c,

atg_wrbtr(22) TYPE c,

atg_mwskz(22) TYPE c,

atg_prctr(22) TYPE c.

STATICS: V(2) TYPE N VALUE 1.

CLEAR: atg_hkont,

atg_wrbtr,

atg_mwskz,

atg_prctr.

atg_acgl-hkont = p_atg_acgl_item-hkont.

atg_acgl-wrbtr = p_atg_acgl_item-wrbtr.

atg_acgl-mwskz = p_atg_acgl_item-mwskz.

atg_acgl-prctr = p_atg_acgl_item-prctr.

CONCATENATE atg_hkont 'ACGL_ITEM-HKONT' '(' v ')' INTO atg_hkont.

CONCATENATE atg_wrbtr 'ACGL_ITEM-WRBTR'

'(' v ')' INTO atg_wrbtr.

CONCATENATE atg_mwskz 'ACGL_ITEM-MWSKZ'

'(' v ')' INTO atg_mwskz.

CONCATENATE atg_prctr 'ACGL_ITEM-PRCTR'

'(' v ')' INTO atg_prctr.

IF p_lv_count GE 4.

PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.

PERFORM bdc_field USING

'BDC_CURSOR' atg_mwskz.

PERFORM bdc_field USING 'BDC_OKCODE' '=0005'.

v = 4.

ELSE.

ADD 1 TO V.

ENDIF.

PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_field USING atg_wrbtr atg_acgl-wrbtr.

PERFORM bdc_field USING atg_mwskz atg_acgl-mwskz.

PERFORM bdc_field USING atg_hkont atg_acgl-hkont.

PERFORM bdc_field USING atg_prctr atg_acgl-prctr.

.

ENDFORM. " GL_ACCOUNTS

In FM level we wrote code:

FUNCTION zatg_vend_lib_fb60.

*"----


""Local Interface:

*" IMPORTING

*" REFERENCE(ATG_INVFO_ACCNT) TYPE C

*" REFERENCE(ATG_INVFO_BLDAT) TYPE C

*" REFERENCE(ATG_INVFO_XBLNR) TYPE C

*" REFERENCE(ATG_INVFO_BUDAT) TYPE C

*" REFERENCE(ATG_INVFO_WRBTR) TYPE C

*" REFERENCE(ATG_INVFO_WAERS) TYPE C

*" REFERENCE(ATG_INVFO_XMWST) TYPE C

*" REFERENCE(ATG_INVFO_BUPLA) TYPE C

*" REFERENCE(ATG_INVFO_SGTXT) TYPE C

*" REFERENCE(ATG_BKPF_BUKRS) TYPE C

*" EXPORTING

*" VALUE(ATG_RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2

*" TABLES

*" ATG_ACGL_ITEM STRUCTURE ACGL_ITEM

*"----


DATA: atg_ctuparams LIKE ctu_params,

atg_bkpf(05) TYPE c.

  • v_wrbtr(15) type c,

  • acgl_wrbtr(15) type c.

  • v_wrbtr = atg_invfo_wrbtr.

*data: it_atg like ATG_ACGL_ITEM occurs 1 with header line.

DATA: wbukrs(4) TYPE c.

atg_ctuparams-dismode = 'A'.

atg_ctuparams-updmode = 'L'.

atg_ctuparams-defsize = 'X'.

atg_ctuparams-nobinpt = 'X'.

it_atg_invfo-accnt = atg_invfo_accnt.

it_atg_invfo-bldat = atg_invfo_bldat.

it_atg_invfo-xblnr = atg_invfo_xblnr.

it_atg_invfo-budat = atg_invfo_budat.

it_atg_invfo-wrbtr = atg_invfo_wrbtr.

it_atg_invfo-waers = atg_invfo_waers.

it_atg_invfo-xmwst = atg_invfo_xmwst.

it_atg_invfo-bupla = atg_invfo_bupla.

it_atg_invfo-sgtxt = atg_invfo_sgtxt.

wbukrs = atg_bkpf_bukrs.

PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_field USING 'RF05A-BUSCS' 'R'.

PERFORM bdc_field USING 'INVFO-ACCNT' it_atg_invfo-accnt.

PERFORM bdc_field USING 'INVFO-BLDAT' it_atg_invfo-bldat.

PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.

PERFORM bdc_field USING 'BDC_OKCODE' '/ECCDE'.

PERFORM bdc_dynpro USING 'SAPLACHD' '1000'.

PERFORM bdc_field USING 'BDC_OKCODE' '=ENTR'.

PERFORM bdc_field USING 'BKPF-BUKRS' wbukrs.

PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_field USING

'INVFO-XBLNR' it_atg_invfo-xblnr.

PERFORM bdc_field USING

'INVFO-BUDAT' it_atg_invfo-budat.

PERFORM bdc_field USING 'INVFO-WRBTR' it_atg_invfo-wrbtr.

PERFORM bdc_field USING 'INVFO-WAERS' it_atg_invfo-waers.

PERFORM bdc_field USING 'INVFO-XMWST' it_atg_invfo-xmwst.

PERFORM bdc_field USING 'INVFO-BUPLA' it_atg_invfo-bupla.

PERFORM bdc_field USING 'INVFO-SGTXT' it_atg_invfo-sgtxt.

  • PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.

  • PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

LOOP AT atg_acgl_item.

ADD 1 TO lv_count.

PERFORM gl_accounts TABLES atg_acgl_item

USING lv_count.

ENDLOOP.

PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.

CALL TRANSACTION 'FB60' USING atg_bdcdata

OPTIONS FROM atg_ctuparams

MESSAGES INTO atg_messtab.

REFRESH atg_bdcdata.

ENDFUNCTION.

If it is helpful rewards points.

Regards

Pratap.M