Skip to Content
author's profile photo
Former Member

bdc with xk01

In xk01 transaction if the data along with the bank details has to be updates how would be the flat file like, Will there be two different files or entire data put in one file. Show me the structure of it......

regards

johny

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

2 Answers

  • Best Answer
    author's profile photo
    Former Member
    Posted on Aug 11, 2007 at 10:02 PM

    Hi

    Check the below link.

    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm

    THis is example to upload the Bank details of the Vendor which has the TC.

    REPORT zprataptable2

    NO STANDARD PAGE HEADING LINE-SIZE 255.

    DATA : BEGIN OF itab OCCURS 0,

    i1 TYPE i,

    lifnr LIKE rf02k-lifnr,

    bukrs LIKE rf02k-bukrs,

    ekorg LIKE rf02k-ekorg,

    ktokk LIKE rf02k-ktokk,

    anred LIKE lfa1-anred,

    name1 LIKE lfa1-name1,

    sortl LIKE lfa1-sortl,

    land1 LIKE lfa1-land1,

    akont LIKE lfb1-akont,

    fdgrv LIKE lfb1-fdgrv,

    waers LIKE lfm1-waers,

    END OF itab.

    DATA : BEGIN OF jtab OCCURS 0,

    j1 TYPE i,

    banks LIKE lfbk-banks,

    bankl LIKE lfbk-bankl,

    bankn LIKE lfbk-bankn,

    END OF jtab.

    DATA : cnt(4) TYPE n.

    DATA : fdt(20) TYPE c.

    DATA : c TYPE i.

    INCLUDE bdcrecx1.

    START-OF-SELECTION.

    CALL FUNCTION 'WS_UPLOAD'

    EXPORTING

    filename = 'C:\first1.txt'

    filetype = 'DAT'

    TABLES

    data_tab = itab.

    CALL FUNCTION 'WS_UPLOAD'

    EXPORTING

    filename = 'C:\second.txt'

    filetype = 'DAT'

    TABLES

    data_tab = jtab.

    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-BUKRS'

    itab-bukrs.

    PERFORM bdc_field USING 'RF02K-EKORG'

    itab-ekorg.

    PERFORM bdc_field USING 'RF02K-KTOKK'

    itab-ktokk.

    PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.

    PERFORM bdc_field USING 'BDC_CURSOR'

    'LFA1-LAND1'.

    PERFORM bdc_field USING 'BDC_OKCODE'

    '/00'.

    PERFORM bdc_field USING 'LFA1-ANRED'

    itab-anred.

    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_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-BANKN(01)'.

    PERFORM bdc_field USING 'BDC_OKCODE'

    '=ENTR'.

    cnt = 0.

    LOOP AT jtab WHERE j1 = itab-i1.

    cnt = cnt + 1.

    CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.

    PERFORM bdc_field USING fdt jtab-banks.

    CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.

    PERFORM bdc_field USING fdt jtab-bankl.

    CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.

    PERFORM bdc_field USING fdt jtab-bankn.

    IF cnt = 5.

    cnt = 0.

    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.

    PERFORM bdc_field USING 'BDC_CURSOR'

    'LFBK-BANKS(01)'.

    PERFORM bdc_field USING 'BDC_OKCODE'

    '=P+'.

    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.

    PERFORM bdc_field USING 'BDC_CURSOR'

    'LFBK-BANKN(02)'.

    PERFORM bdc_field USING 'BDC_OKCODE'

    '=ENTR'.

    ENDIF.

    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'

    itab-akont.

    PERFORM bdc_field USING 'LFB1-FDGRV'

    itab-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'

    itab-waers.

    PERFORM bdc_dynpro USING 'SAPMF02K' '0320'.

    PERFORM bdc_field USING 'BDC_CURSOR'

    'RF02K-LIFNR'.

    PERFORM bdc_field USING 'BDC_OKCODE'

    '=ENTR'.

    PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.

    PERFORM bdc_field USING 'BDC_OKCODE'

    '=YES'.

    PERFORM bdc_transaction USING 'XK01'.

    ENDLOOP.

    PERFORM close_group.

    Header file:

    1 63190 0001 0001 0001 mr bal188 b in 31000 a1 inr

    2 63191 0001 0001 0001 mr bal189 b in 31000 a1 inr

    TC file:

    1 in sb 11000

    1 in sb 12000

    1 in sb 13000

    1 in sb 14000

    1 in sb 15000

    1 in sb 16000

    1 in sb 17000

    1 in sb 18000

    1 in sb 19000

    1 in sb 20000

    1 in sb 21000

    1 in sb 22000

    2 in sb 21000

    2 in sb 22000

    <b>Reward points for useful Answers</b>

    Regards

    Anji

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Aug 10, 2007 at 05:47 PM

    You should get the functional people or whoever is supplying the file to get you the structure.

    Rob

    Add comment
    10|10000 characters needed characters exceeded