Skip to Content
author's profile photo Former Member
Former Member

Re : BDC Table Control

hai

how to do table control in BDC.

thanks

mani

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

4 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Jun 19, 2008 at 04:20 AM

    hi

    check the sample code of FB60 (uploading vendor invioces using table control)

    report ZZFB60 no standard page heading

    line-size 550.

    &----


    *& Database Tables Declaration

    &----


    tables: t100, "Messages

    lfa1, "Vendor Master (General Section)

    lfb1, "Vendor Master (Company Code)

    skb1, "G/L account master (company code)

    lfbw, "Vendor master record (withholding tax types) X

    csks, "Cost Center Master Data

    bkpf, "Accounting Document Header

    bseg, "Accounting Document Segment

    usr02, "Logon data

    bsip. "Index for Vendor Validation of Double Documents

    &----


    *& Selection Screen

    &----


    selection-screen begin of block b1 with frame.

    parameters : p_file1 like rlgrap-filename obligatory,

    p_doctyp like invfo-blart obligatory,

    p_invdat like invfo-bldat obligatory,

    p_posdat like invfo-budat obligatory.

    selection-screen end of block b1.

    skip 2.

    selection-screen begin of block b2 with frame.

    parameters :ZTEST RADIOBUTTON GROUP radi default 'X' user-command chang,

    ZRUN RADIOBUTTON GROUP radi.

    selection-screen end of block b2.

    skip 2.

    selection-screen begin of block b3 with frame title text-002.

    parameters : SUCCREC RADIOBUTTON GROUP rad1 modif id Z1,

    ERRORLOG RADIOBUTTON GROUP rad1 modif id Z1.

    selection-screen end of block b3.

    &----


    *& Constants Declaration

    &----


    CONSTANTS : C_TRANS_FB60(4) VALUE 'FB60'.

    &----


    *& Variables Declaration

    &----


    data : v_name like lfa1-name1,

    v_belnr like bseg-belnr,

    v_username type char12,

    v_kostl like csks-kostl.

    data : day type char2,

    month type char2,

    year type char4,

    date1 type char10,

    date2 type char10.

    data : c1(8) type c value '.txt',

    cnt(2) TYPE n,

    cnt1 type i,

    fld(25) TYPE c,

    fld2(67) type c,

    flag type c.

    data : v_belnr1 like bseg-belnr,

    amount like bseg-wrbtr,

    totalamount like bseg-wrbtr.

    data : MESSG TYPE STRING.

    &----


    *& Internal Tables Declaration

    &----


    data : begin of t_record occurs 0,

    BUKRS(004),

    ACCNT(010),

    XBLNR(016),

    WRBTR1(016),

    WAERS(005),

    SECCO(004) ,

    SGTXT(050),

    HKONT(010),

    WRBTR2(017),

    MWSKZ(002),

    GSBER(004),

    KOSTL(010),

    end of t_record.

    data : begin of error_record occurs 0,

    ROWNO type i,

    BUKRS(004),

    ACCNT(010),

    XBLNR(016),

    WRBTR1(016),

    WAERS(005),

    SECCO(004) ,

    SGTXT(020),

    HKONT(010),

    WRBTR2(017),

    MWSKZ(002),

    GSBER(004),

    KOSTL(010),

    text1(50),

    text2(55),

    text3(50),

    text4(50),

    text5(70),

    text6(50),

    flag,

    end of error_record.

    data : n_record like error_record occurs 0 with header line,

    f_record like error_record occurs 0 with header line.

    data : WA_BDCMSGCOLL TYPE BDCMSGCOLL.

    data : begin of t_head occurs 0,

    BUKRS(004), "Company Code

    ACCNT(010), "Account or Vendor

    XBLNR(016), "Reference

    WRBTR1(017), "Amount in document currency

    WAERS(005), "Currency

    SECCO(004), "Section Code

    SGTXT(050), "Text

    end of t_head.

    data : begin of error_head1 occurs 0,

    BUKRS(004), "Company Code

    ACCNT(010), "Account or Vendor

    XBLNR(016), "Reference

    WRBTR1(017), "Amount in document currency

    WAERS(005), "Currency

    SECCO(004), "Section Code

    SGTXT(050), "Text

    messtyp type char1,

    MESSG type char256,

    end of error_head1.

    data : succ_head like t_head occurs 0 with header line,

    error_head like t_head occurs 0 with header line.

    data : begin of t_item occurs 0,

    ACCNT(010), "Account

    XBLNR(016), "Reference

    WRBTR1(017), "Amount in document currency

    HKONT(010), "GL Account

    WRBTR2(017), "Line item Amount in document currency

    MWSKZ(002), "Tax Code

    GSBER(004), " Business Area

    KOSTL(010), "Cost centre

    end of t_item.

    data : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,

    IT_BDC_MESSAGES LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

    &----


    *& At Selection-Screen

    &----


    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.

    PERFORM file_selection.

    AT SELECTION-SCREEN ON p_file1.

    if p_file1 CS c1.

    PERFORM data_upload.

    else.

    message e303(ME) with 'File is not with .TXT extension'.

    endif.

    AT SELECTION-SCREEN OUTPUT.

    LOOP AT SCREEN.

    IF SCREEN-GROUP1 = 'Z1'.

    IF zrun = 'X'.

    SCREEN-INPUT = 1.

    ELSE.

    SCREEN-INPUT = 0.

    ENDIF.

    MODIFY SCREEN.

    ENDIF.

    ENDLOOP.

    &----


    *& Start-of-Selection

    &----


    start-of-selection.

    PERFORM date.

    PERFORM validate.

    if ZTEST = 'X'.

    PERFORM header.

    PERFORM disperrortestrun.

    endif.

    if ZRUN = 'X'.

    PERFORM head_item.

    PERFORM form_bdcbenerate.

    if SUCCREC = 'X'.

    PERFORM dispsuccrec.

    endif.

    if ERRORLOG = 'X'.

    PERFORM disperrorrec.

    endif.

    endif.

    End-of-selection.

    ----


    • Mappping *

    ----


    form form_bdcbenerate.

    refresh error_head.

    refresh succ_head.

    loop at t_head.

    REFRESH : IT_BDCDATA,IT_BDC_MESSAGES.

    CLEAR :IT_BDCDATA, IT_BDC_MESSAGES, WA_BDCMSGCOLL..

    perform bdc_dynpro using 'SAPLACHD' '1000'.

    perform bdc_field using 'BDC_OKCODE' '=ENTR'.

    perform bdc_field using 'BKPF-BUKRS' t_head-bukrs.

    perform bdc_dynpro using 'SAPMF05A' '1100'.

    perform bdc_field using 'BDC_OKCODE' '/00'.

    perform bdc_field using 'INVFO-ACCNT' t_head-accnt.

    perform bdc_field using 'INVFO-BLDAT' date1.

    perform bdc_field using 'INVFO-BUDAT' date2.

    perform bdC_field using 'INVFO-BLART' p_doctyp.

    perform bdc_field using 'INVFO-XBLNR' t_head-xblnr.

    perform bdc_field using 'INVFO-WRBTR' t_head-wrbtr1.

    perform bdc_field using 'INVFO-WAERS' t_head-waers.

    perform bdc_field using 'INVFO-SECCO' t_head-secco.

    perform bdc_field using 'INVFO-SGTXT' t_head-sgtxt.

    cnt = 1.

    cnt1 = 1.

    loop at t_item where accnt = t_head-accnt

    and xblnr = t_head-xblnr

    and wrbtr1 = t_head-wrbtr1.

    if cnt1 gt 1.

    CONCATENATE 'ACGL_ITEM-MARKSP(' cnt ')' INTO fld.

    perform bdc_field using fld 'X'.

    perform bdc_dynpro using 'SAPMF05A' '1100'.

    perform bdc_field using 'BDC_OKCODE' '=0005'.

    endif.

    perform bdc_dynpro using 'SAPMF05A' '1100'.

    perform bdc_field using 'BDC_OKCODE' '/00'.

    CONCATENATE 'ACGL_ITEM-HKONT(' cnt ')' INTO fld.

    perform bdc_field using fld t_item-hkont.

    CONCATENATE 'ACGL_ITEM-WRBTR(' cnt ')' INTO fld.

    perform bdc_field using fld t_item-wrbtr2.

    CONCATENATE 'ACGL_ITEM-MWSKZ(' cnt ')' INTO fld.

    perform bdc_field using fld t_item-mwskz.

    CONCATENATE 'ACGL_ITEM-GSBER(' cnt ')' INTO fld.

    perform bdc_field using fld t_item-gsber.

    CONCATENATE 'ACGL_ITEM-KOSTL(' cnt ')' INTO fld.

    perform bdc_field using fld t_item-kostl.

    perform bdc_field using 'BDC_CURSOR' fld.

    cnt1 = cnt1 + 1.

    endloop.

    perform bdc_dynpro using 'SAPMF05A' '1100'.

    perform bdc_field using 'BDC_OKCODE'

    '=BS'.

    perform bdc_dynpro using 'SAPMSSY0' '0120'.

    perform bdc_field using 'BDC_OKCODE'

    '=BU'.

    &----


    *& Calling Transaction FB60

    &----


    CALL TRANSACTION C_TRANS_FB60 USING IT_BDCDATA mode 'N'

    update 'S'

    MESSAGES INTO IT_BDC_MESSAGES.

    if sy-subrc <> 0.

    • MOVE-CORRESPONDING t_head TO error_head.

    • append error_head.

    • clear error_head.

    *

    loop at IT_BDC_MESSAGES into WA_BDCMSGCOLL.

    CALL FUNCTION 'FORMAT_MESSAGE'

    EXPORTING

    ID = WA_BDCMSGCOLL-MSGID

    LANG = WA_BDCMSGCOLL-MSGSPRA

    NO = WA_BDCMSGCOLL-MSGNR

    V1 = WA_BDCMSGCOLL-MSGV1

    V2 = WA_BDCMSGCOLL-MSGV2

    V3 = WA_BDCMSGCOLL-MSGV3

    V4 = WA_BDCMSGCOLL-MSGV4

    IMPORTING

    MSG = MESSG.

    IF ( WA_BDCMSGCOLL-MSGTYP = 'S' ) OR ( WA_BDCMSGCOLL-MSGTYP = 'E' )

    OR ( WA_BDCMSGCOLL-MSGTYP = 'W' ) .

    • move-corresponding error_head to error_head1.

    move-corresponding t_head to error_head1.

    error_head1-messg = MESSG. "ERROR MESSAGE

    error_head1-messtyp = WA_BDCMSGCOLL-MSGTYP.

    APPEND error_head1.

    ENDIF.

    endloop.

    else.

    MOVE-CORRESPONDING t_head TO succ_head.

    append succ_head.

    clear succ_head.

    endif.

    endloop.

    endform.

    &----


    *& Form data_upload

    &----


    FORM data_upload .

    CALL FUNCTION 'WS_UPLOAD'

    EXPORTING

    FILENAME = p_file1

    FILETYPE = 'DAT'

    TABLES

    DATA_TAB = t_record.

    ENDFORM. " data_upload

    &----


    *& Form file_selection

    &----


    FORM file_selection .

    CALL FUNCTION 'F4_FILENAME'

    EXPORTING

    program_name = syst-cprog

    dynpro_number = syst-dynnr

    field_name = 'p_file1'

    IMPORTING

    file_name = p_file1.

    ENDFORM. " file_selection

    &----


    *& Form BDC_DYNPRO

    &----


    FORM BDC_DYNPRO using program dynpro.

    CLEAR IT_BDCDATA.

    IT_BDCDATA-PROGRAM = PROGRAM.

    IT_BDCDATA-DYNPRO = DYNPRO.

    IT_BDCDATA-DYNBEGIN = 'X'.

    APPEND IT_BDCDATA.

    endform.

    &----


    *& Form BDC_FIELD

    &----


    FORM bdc_field using fnam fval.

    CLEAR IT_BDCDATA.

    IT_BDCDATA-FNAM = FNAM.

    IT_BDCDATA-FVAL = FVAL.

    APPEND IT_BDCDATA.

    ENDFORM.

    ----


    • FORM validate *

    ----


    FORM validate.

    delete t_record index 1.

    loop at t_record.

    delete t_record where accnt = ' '.

    translate t_record-bukrs to upper case.

    translate t_record-accnt to upper case.

    translate t_record-waers to upper case.

    translate t_record-xblnr to upper case.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

    EXPORTING

    INPUT = t_record-accnt

    IMPORTING

    OUTPUT = t_record-accnt.

    move-corresponding t_record to n_record.

    append n_record.

    clear n_record.

    endloop.

    loop at t_record.

    clear flag.

    delete t_record where accnt = ' '.

    vendor and company code checking.

    translate t_record-accnt to upper case.

    translate t_record-bukrs to upper case.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

    EXPORTING

    INPUT = t_record-accnt

    IMPORTING

    OUTPUT = t_record-accnt.

    select single * from lfb1 where bukrs = t_record-bukrs

    and lifnr = t_record-accnt.

    if sy-subrc <> 0.

    flag = 'X'.

    error_record-rowno = sy-tabix + 1.

    move-corresponding t_record to error_record.

    error_record-text1 = 'The Vendor not Under this company Code'.

    endif.

    With holding liability.

    select single * from lfbw where bukrs = t_record-bukrs

    and lifnr = t_record-accnt

    and WT_SUBJCT = 'X'.

    if sy-subrc <> 0.

    flag = 'X'.

    error_record-rowno = sy-tabix + 1.

    move-corresponding t_record to error_record.

    error_record-text2 = 'The Vendor doesnt have Withholding Tax Liability'.

    endif.

    • G/L account check with company code*

    select single * from skb1 where bukrs = t_record-bukrs

    and saknr = t_record-hkont.

    if sy-subrc <> 0.

    flag = 'X'.

    error_record-rowno = sy-tabix + 1.

    move-corresponding t_record to error_record.

    error_record-text3 = 'The G/L acc not under the given company code'.

    endif.

    *cost centre checking

    • this FM for leading zeros

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

    EXPORTING

    INPUT = t_record-kostl

    IMPORTING

    OUTPUT = v_kostl.

    select single kostl from csks into v_kostl where bukrs = t_record-bukrs

    and kostl = v_kostl.

    if sy-subrc <> 0.

    flag = 'X'.

    error_record-rowno = sy-tabix + 1.

    move-corresponding t_record to error_record.

    error_record-text4 = 'The costcentre not under the given company code'.

    endif.

    • it check the invioce alredy posted or not.

    translate t_record-waers to upper case.

    translate t_record-xblnr to upper case.

    select single belnr into v_belnr1 from bsip where bukrs = t_record-bukrs

    and lifnr = t_record-accnt

    and waers = t_record-waers

    and bldat = p_invdat

    and xblnr = t_record-xblnr.

    if sy-subrc = 0.

    day = p_invdat+6(2).

    month = p_invdat+4(2).

    year = p_invdat+0(4).

    concatenate day month year into date1 SEPARATED BY '.'.

    error_record-rowno = sy-tabix + 1.

    move-corresponding t_record to error_record.

    concatenate 'This document under number' v_belnr1 'already posted on '

    date1 into fld2 separated by space.

    error_record-text5 = fld2.

    flag = 'X'.

    endif.

    *zero balance

    on change of t_record-accnt or t_record-xblnr.

    amount = 0.

    totalamount = 0.

    amount = t_record-wrbtr1.

    loop at n_record where bukrs = t_record-bukrs

    and accnt = t_record-accnt

    and xblnr = t_record-xblnr

    and wrbtr1 = t_record-wrbtr1

    and waers = t_record-waers.

    totalamount = totalamount + n_record-wrbtr2.

    endloop.

    endon.

    if amount ne totalamount.

    error_record-rowno = sy-tabix + 1.

    move-corresponding t_record to error_record.

    error_record-text6 = 'Posting only possible with zero balance'.

    flag = 'X'.

    endif.

    if flag = 'X'.

    error_record-flag = 'X'.

    append error_record.

    endif.

    if flag <> 'X'.

    move-corresponding t_record to f_record.

    append f_record.

    endif.

    clear f_record.

    clear error_record.

    endloop.

    endform.

    &----


    *& Form Table Control

    &----


    FORM head_item .

    clear t_record.

    LOOP AT t_record.

    delete t_record where accnt = ' '.

    translate t_record-bukrs to upper case.

    translate t_record-accnt to upper case.

    translate t_record-waers to upper case.

    translate t_record-xblnr to upper case.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

    EXPORTING

    INPUT = t_record-accnt

    IMPORTING

    OUTPUT = t_record-accnt.

    on change of t_record-accnt or t_record-xblnr or t_record-wrbtr1.

    MOVE-CORRESPONDING t_record TO t_head.

    APPEND t_head.

    endon.

    MOVE-CORRESPONDING t_record TO t_item.

    APPEND t_item.

    clear : t_item,t_head.

    ENDLOOP.

    ENDFORM.

    &----


    *& Download the Internal Table to Local File.

    &----


    form disperrorrec.

    perform top-of-page1.

    PERFORM diserrorrecpostrun.

    endform.

    &----


    *& Date form

    &----


    FORM date.

    day = p_invdat+6(2).

    month = p_invdat+4(2).

    year = p_invdat+0(4).

    concatenate day month year into date1 SEPARATED BY '.'.

    day = p_posdat+6(2).

    month = p_posdat+4(2).

    year = p_posdat+0(4).

    concatenate day month year into date2 SEPARATED BY '.'.

    ENDFORM.

    &----


    *& Display the errors in flat file test run

    &----


    form disperrortestrun.

    loop at error_record.

    format color 2 intensified on.

    set left scroll-boundary column 70.

    write : /'|',

    (6) error_record-rowno, '|' no-gap,

    (14) error_record-bukrs, '|' no-gap,

    (12) error_record-accnt, '|' no-gap,

    (16) error_record-xblnr, '|' no-gap,

    (16) error_record-wrbtr1, '|' no-gap,

    (8) error_record-waers, '|' no-gap,

    (13) error_record-secco, '|' no-gap,

    (20) error_record-sgtxt, '|' no-gap,

    (14) error_record-hkont, '|' no-gap,

    (15) error_record-wrbtr2, '|' no-gap,

    (10) error_record-mwskz, '|' no-gap,

    (20) error_record-gsber, '|' no-gap,

    (12) error_record-kostl, '|' no-gap,

    (5) error_record-flag, '|' no-gap,

    (50) error_record-text1, '|' no-gap,

    (53) error_record-text2, '|' no-gap,

    (50) error_record-text3, '|' no-gap,

    (50) error_record-text4, '|' no-gap,

    (67) error_record-text5, '|' no-gap,

    (45) error_record-text6, '|' .

    endloop.

    uline at /1(538).

    format color off.

    endform.

    ----


    • Report Header for Test Run *

    ----


    form header.

    set left scroll-boundary column 70.

    format color 5 .

    write: 'REPORT :', sy-repid,

    38 'ERROR RECORDS DETAILS OF TEST RUN OF FB60(VENDOR INVIOCE POSTING)'

    ,123 'DATE :', sy-datum .

    format color off.

    skip 3.

    format color 1 intensified on.

    uline at 1(538).

    write : /'|',

    (6) 'Row No', '|' no-gap,

    (14) 'Company Code', '|' no-gap,

    (12) 'Vendor No', '|' no-gap,

    (16) 'Reference', '|' no-gap,

    (16) 'Invioce Amount', '|' no-gap,

    (8) 'Currency', '|' no-gap,

    (13) 'Section Code', '|' no-gap,

    (20) 'text', '|' no-gap,

    (14) 'G/L Account', '|' no-gap,

    (15) 'Item Amount', '|' no-gap,

    (10) 'Tax Code', '|' no-gap,

    (20) 'Business Area', '|' no-gap,

    (12) 'Cost Centre', '|' no-gap,

    (5) 'Error record Status', '|' no-gap,

    (50) 'Company Code/Vendor', '|' no-gap,

    (53) 'Vendor/With holding tax Liability', '|' no-gap,

    (50) 'Company Code/ G/L Account', '|' no-gap,

    (50) 'Company Code / Cost Centre', '|' no-gap,

    (67) 'Invioce Status', '|' no-gap,

    (45) 'Invalid Balance',

    '|'.

    uline at /1(538).

    format color off.

    endform.

    ----


    • Report Header for Uploaded records of post run *

    ----


    form top-of-page.

    format color 5 .

    write: 'REPORT :', sy-repid,60 'UPLOADED RECORDS DETAILS',

    123 'DATE :', sy-datum .

    format color off.

    skip 3.

    format color 1 intensified on.

    uline at 1(140).

    write : /'|',

    (14) 'Company Code', '|' no-gap,

    (17) 'Vendor Code', '|' no-gap,

    (32) 'Vendor Name', '|' no-gap,

    (13) 'Document No', '|' no-gap,

    (12) 'Posting Date', '|' no-gap,

    (24) 'Invioce Amount', '|' no-gap,

    (12) 'UserName',

    '|'.

    uline at /1(140).

    format color off.

    endform.

    ----


    • Display the upload records of post run *

    ----


    form dispsuccrec.

    PERFORM top-of-page.

    format color 2 intensified on.

    loop at succ_head.

    select single bname into (v_username) from usr02

    where bname = sy-uname.

    Translate succ_head-accnt to upper case.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

    EXPORTING

    INPUT = succ_head-accnt

    IMPORTING

    OUTPUT = succ_head-accnt.

    select single name1 into (v_name) from lfa1

    where lifnr = succ_head-accnt.

    translate succ_head-waers to upper case.

    translate succ_head-xblnr to upper case.

    select single belnr into v_belnr from bsip where

    bukrs = succ_head-bukrs

    and lifnr = succ_head-accnt

    and waers = succ_head-waers

    and bldat = p_invdat

    and xblnr = succ_head-xblnr

    .

    write : /'|',

    (14) succ_head-bukrs, '|' no-gap,

    (17) succ_head-accnt, '|' no-gap,

    (32) v_name, '|' no-gap,

    (13) v_belnr, '|' no-gap,

    (12) date2, '|' no-gap,

    (24) succ_head-wrbtr1, '|' no-gap,

    (12) v_username, '|' .

    endloop.

    uline at /1(140).

    format color off.

    endform.

    ----


    • Report for error records of post run *

    ----


    form diserrorrecpostrun.

    format color 2 intensified on.

    set left scroll-boundary column 70.

    loop at error_head1.

    write : /'|',

    (14) error_head1-bukrs, '|' no-gap,

    (17) error_head1-accnt, '|' no-gap,

    (15) error_head1-xblnr, '|' no-gap,

    (10) error_head1-waers, '|' no-gap,

    (20) error_head1-wrbtr1, '|' no-gap,

    (12) error_head1-secco, '|' no-gap,

    (30) error_head1-sgtxt, '|' no-gap,

    (14) error_head1-messtyp , '|' no-gap,

    (82) error_head1-messg , '|'.

    endloop.

    uline at /1(234).

    format color off.

    endform.

    ----


    • Report Header for error records of post run *

    ----


    form top-of-page1.

    format color 5 .

    write: 'REPORT :', sy-repid,60 'ERROR RECORDS DETAILS',

    123 'DATE :', sy-datum .

    set left scroll-boundary column 70.

    format color off.

    skip 3.

    format color 1 intensified on.

    uline at 1(234).

    write : /'|',

    (14) 'Company Code', '|' no-gap,

    (17) 'Vendor Code', '|' no-gap,

    (15) 'Reference ', '|' no-gap,

    (10) 'Currency', '|' no-gap,

    (20) 'Amount in Document', '|' no-gap,

    (12) 'Section Code', '|' no-gap,

    (30) 'Item text', '|' no-gap,

    (14) 'Message Type', '|' no-gap,

    (82) 'Message Text',

    '|'.

    uline at /1(234).

    format color off.

    endform.

    thanks

    sitaram

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jun 19, 2008 at 04:21 AM
    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 19, 2008 at 04:21 AM

    Hi Friend,

    Please go though :

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

    Regards

    Hemant Khemani

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 19, 2008 at 04:23 AM

    For table control in bdc declare two variable as integer.

    set the variable value as 0.In the program before the line

    item perform statement set the counter value as 1.

    count=count+1.then u hv to use the concantenate

    statementfor the line items for example

    concantenate '(lfa1-banks('count'))' into cval

    perform bdc using cval.

    during recording for the line items we hv record for the

    next page also for the line item.goto standard tool bar u

    hv to press the next page button.

    if count=5.

    perform bdc using p+ ->this for next page

    endif

    clear count.

    Here are the example programs

    http://arthur_ong.tripod.com/xab023.htm

    http://www.sap-basis-abap.com/abap/handling-table-control-in-bdc.htm

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

    Reward Points..

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.