<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic TABLE CONTROL IN BDC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220242#M476624</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey guyz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it seems to be a very big problem for me sinse 3-4 days....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz dont ask me to go thru the threads available...coz.. i did so...and ..moreover &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz dont copy paste the code coz i dont even know ABCDs in this concept,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have hell loda questions....please pay attention.....plzzz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what this table control in bdc???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when does this table control come into picture in BDC???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how and where wud we insert dat????&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how wud we handle dat??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;like this i have loda questions......soo....can some1 gimme SPOON FEED explanation regarding this... do watever u cud...but help me out...ill definitely award points...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Zid.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 26 Apr 2007 05:53:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-26T05:53:51Z</dc:date>
    <item>
      <title>TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220242#M476624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey guyz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it seems to be a very big problem for me sinse 3-4 days....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz dont ask me to go thru the threads available...coz.. i did so...and ..moreover &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz dont copy paste the code coz i dont even know ABCDs in this concept,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have hell loda questions....please pay attention.....plzzz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what this table control in bdc???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when does this table control come into picture in BDC???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how and where wud we insert dat????&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how wud we handle dat??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;like this i have loda questions......soo....can some1 gimme SPOON FEED explanation regarding this... do watever u cud...but help me out...ill definitely award points...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Zid.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 05:53:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220242#M476624</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T05:53:51Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220243#M476625</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How to deal with table control / step loop in BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen? Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')&lt;/P&gt;&lt;P&gt;Now with the help of Poonam on sapfans.com developement forum, I find a method with which we can determine the number of visible lines on Transaction Screen from our Calling BDC program. Maybe it is useless to you, but I think it will give your some idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Demo ABAP code has two purposes:&lt;/P&gt;&lt;P&gt;1. how to determine number of visible lines and how to calculte page number;&lt;/P&gt;&lt;P&gt;(the 'calpage' routine has been modify to meet general purpose usage)&lt;/P&gt;&lt;P&gt;2. using field symbol in BDC program, please pay special attention to the difference in Static ASSIGN and Dynamic ASSIGN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I begin to describe the step to implement my method:&lt;/P&gt;&lt;P&gt;(I use transaction 'ME21', screen 121 for sample,&lt;/P&gt;&lt;P&gt;the method using is Call Transation Using..)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop. Then have a look at steploop itselp, one entry of it will occupy two lines.&lt;/P&gt;&lt;P&gt;(Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)&lt;/P&gt;&lt;P&gt;Now we have : FixedLine = 9&lt;/P&gt;&lt;P&gt;              LoopLine  = 2(for table control, LoopLine is always equal to 1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.&lt;/P&gt;&lt;P&gt;Now we have: FirstLine = 0&lt;/P&gt;&lt;P&gt;          or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step3: write a subroutine calcalculating number of pages&lt;/P&gt;&lt;P&gt;(here, the name of actual parameter is the same as formal parameter)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;global data:    FixedLine type i, " number of fixed line on a certain screen&lt;/P&gt;&lt;P&gt;                LoopLine  type i, " the number of lines occupied by one steploop item&lt;/P&gt;&lt;P&gt;                FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new                                                               " scrolling screen is empty, otherwise is 1&lt;/P&gt;&lt;P&gt;                Dataline  type i, " number of items you will use in BDC, using DESCRIBE to get&lt;/P&gt;&lt;P&gt;                pageno    type i, " you need to scroll screen how many times.&lt;/P&gt;&lt;P&gt;                line      type i, " number of lines appears on the screen.&lt;/P&gt;&lt;P&gt;                index(2)  type N, " the screen index for certain item&lt;/P&gt;&lt;P&gt;                begin     type i, " from parameter of loop&lt;/P&gt;&lt;P&gt;                end       type i. " to parameter of loop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*in code sample, the DataTable-linindex stands for the table index number of this line&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form calpage using FixedLine type i (see step 1)&lt;/P&gt;&lt;P&gt;                   LoopLine  type i (see step 1)&lt;/P&gt;&lt;P&gt;                   FirstLine type i (see step 2)&lt;/P&gt;&lt;P&gt;                   DataLine  type i ( this is the item number you will enter in transaction)&lt;/P&gt;&lt;P&gt;          changing pageno    type i (return the number of page, depends on run-time visible                                                                             line in table control/ Step Loop)&lt;/P&gt;&lt;P&gt;          changing line      type i.(visible lines one the screen)&lt;/P&gt;&lt;P&gt;data: midd type i,&lt;/P&gt;&lt;P&gt;      vline type i, "visible lines&lt;/P&gt;&lt;P&gt;if DataLine eq 0.&lt;/P&gt;&lt;P&gt;   Message eXXX.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vline = ( sy-srows - FixedLine ) div LoopLine.&lt;/P&gt;&lt;P&gt;*for table control, you should compare vline with maximum line of&lt;/P&gt;&lt;P&gt;*table control, then take the small one that is min(vline, maximum)&lt;/P&gt;&lt;P&gt;*here only illustrate step loop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if FirstLine eq 0.&lt;/P&gt;&lt;P&gt;        pageno = DataLine div vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if pageno eq 0.&lt;/P&gt;&lt;P&gt;           pageno = pageno + 1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;elseif FirstLine eq 1.&lt;/P&gt;&lt;P&gt;        pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.&lt;/P&gt;&lt;P&gt;        midd = ( DataLine - 1 ) mod ( vline - 1).&lt;/P&gt;&lt;P&gt;        if midd = 0 and DataLine gt 1.&lt;/P&gt;&lt;P&gt;                pageno = pageno - 1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;line = vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step4 write a subroutine to calculate the line index for each item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form calindex using Line type i (visible lines on the screen)&lt;/P&gt;&lt;P&gt;                    FirstLine type i(see step 2)&lt;/P&gt;&lt;P&gt;                    LineIndex type i(item index)&lt;/P&gt;&lt;P&gt;          changing  Index type n.    (index on the screen)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if  FirstLine = 0.&lt;/P&gt;&lt;P&gt;        index = LineIndex mod Line.&lt;/P&gt;&lt;P&gt;        if index = '00'.&lt;/P&gt;&lt;P&gt;                index = Line.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;  elseif FirstLine = 1.&lt;/P&gt;&lt;P&gt;        index = LineIndex mod ( Line - 1 ).&lt;/P&gt;&lt;P&gt;        if ( index between 1 and 0 ) and LineIndex gt 1.&lt;/P&gt;&lt;P&gt;                index = index + Line - 1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        if Line = 2.&lt;/P&gt;&lt;P&gt;                index = index + Line - 1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step5 write a subroutine to calculate the loop range.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form calrange using Line type i ( visible lines on the screen)&lt;/P&gt;&lt;P&gt;                    DataLine type i&lt;/P&gt;&lt;P&gt;                    FirstLine type i&lt;/P&gt;&lt;P&gt;                    loopindex like sy-index&lt;/P&gt;&lt;P&gt;        changing    begin type i&lt;/P&gt;&lt;P&gt;                    end type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If FirstLine = 0.&lt;/P&gt;&lt;P&gt;   if loopindex = 1.&lt;/P&gt;&lt;P&gt;        begin = 1.&lt;/P&gt;&lt;P&gt;        if DataLine &amp;lt;= Line.&lt;/P&gt;&lt;P&gt;                end = DataLine.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;                end = Line.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;   elseif loopindex gt 1.&lt;/P&gt;&lt;P&gt;        begin = Line * ( loopindex - 1 ) + 1.&lt;/P&gt;&lt;P&gt;        end   = Line * loopindex.&lt;/P&gt;&lt;P&gt;        if end gt DataLine.&lt;/P&gt;&lt;P&gt;           end = DataLine.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;elseif FirstLine = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if loopindex = 1.&lt;/P&gt;&lt;P&gt;        begin = 1.&lt;/P&gt;&lt;P&gt;        if DataLine &amp;lt;= Line.&lt;/P&gt;&lt;P&gt;                end = DataLine.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;                end = Line.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;  elseif loop index gt 1.&lt;/P&gt;&lt;P&gt;        begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.&lt;/P&gt;&lt;P&gt;        end =   ( Line - 1 ) * ( loopindex - 1 ) + Line.&lt;/P&gt;&lt;P&gt;        if end gt DataLine.&lt;/P&gt;&lt;P&gt;                end = DataLine.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step6 using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form creat_bdc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;field-symbols: &amp;lt;material&amp;gt;, &amp;lt;quan&amp;gt;, &amp;lt;indicator&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: name1(14) value 'EKPO-EMATN(XX)',&lt;/P&gt;&lt;P&gt;      name2(14) value 'EKPO-MENGE(XX)',&lt;/P&gt;&lt;P&gt;      name3(15) value 'RM06E-SELKZ(XX)'.&lt;/P&gt;&lt;P&gt;assign:         name1 to &amp;lt;material&amp;gt;,&lt;/P&gt;&lt;P&gt;                name2 to &amp;lt;quan&amp;gt;,&lt;/P&gt;&lt;P&gt;                name3 to &amp;lt;indicator&amp;gt;.&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;do pageno times.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-index gt 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*insert scroll page ok_code"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;        perform calrange using Line DataLine FirstLine sy-index&lt;/P&gt;&lt;P&gt;                         changing begin end.&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;loop at DataTable from begin to end.&lt;/P&gt;&lt;P&gt;        perform calindex using Line FirstLine DataTable-LineIndex changing Index.&lt;/P&gt;&lt;P&gt;        name1+11(2) = Index.&lt;/P&gt;&lt;P&gt;        name2+11(2) = Index.&lt;/P&gt;&lt;P&gt;        name3+12(2) = Index.&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;        perform bdcfield using &amp;lt;material&amp;gt; DataTable-matnr.&lt;/P&gt;&lt;P&gt;        perform bdcfield using &amp;lt;quan&amp;gt;     DataTable-menge.&lt;/P&gt;&lt;P&gt;        perform bdcfield using &amp;lt;indicator&amp;gt; DataTable-indicator.&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I only focus on the most difficult part, otherwise we will lost in the sea of code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 05:55:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220243#M476625</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T05:55:44Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220244#M476626</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;syntax:&lt;/P&gt;&lt;P&gt;CONTROLS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you only want to determine the row of the table control. SY´-SUBRC allows you to check if the cursor is placed in a row of a table control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;u need to comment the performs of table control fields and write ur own perform statements. And u have to declare the table control fields as separate internal tables.&lt;/P&gt;&lt;P&gt;Go through this urls.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.saptechnical.com" target="test_blank"&gt;www.saptechnical.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.sap-img.com" target="test_blank"&gt;www.sap-img.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the below links.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.planetsap.com/howdo_a.htm" target="test_blank"&gt;http://www.planetsap.com/howdo_a.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dbac5135c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dbac5135c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap.niraj.tripod.com/id25.html" target="test_blank"&gt;http://sap.niraj.tripod.com/id25.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the below link.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm" target="test_blank"&gt;http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THis is example to upload the Bank details of the Vendor which has the TC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zprataptable2&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;        i1 TYPE i,&lt;/P&gt;&lt;P&gt;        lifnr LIKE   rf02k-lifnr,&lt;/P&gt;&lt;P&gt;        bukrs LIKE   rf02k-bukrs,&lt;/P&gt;&lt;P&gt;        ekorg LIKE   rf02k-ekorg,&lt;/P&gt;&lt;P&gt;        ktokk LIKE   rf02k-ktokk,&lt;/P&gt;&lt;P&gt;        anred LIKE lfa1-anred,&lt;/P&gt;&lt;P&gt;        name1 LIKE lfa1-name1,&lt;/P&gt;&lt;P&gt;        sortl LIKE lfa1-sortl,&lt;/P&gt;&lt;P&gt;        land1 LIKE lfa1-land1,&lt;/P&gt;&lt;P&gt;        akont LIKE lfb1-akont,&lt;/P&gt;&lt;P&gt;        fdgrv LIKE lfb1-fdgrv,&lt;/P&gt;&lt;P&gt;         waers LIKE lfm1-waers,&lt;/P&gt;&lt;P&gt;        END OF itab.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF jtab OCCURS 0,&lt;/P&gt;&lt;P&gt;        j1 TYPE i,&lt;/P&gt;&lt;P&gt;        banks LIKE lfbk-banks,&lt;/P&gt;&lt;P&gt;        bankl LIKE lfbk-bankl,&lt;/P&gt;&lt;P&gt;        bankn LIKE lfbk-bankn,&lt;/P&gt;&lt;P&gt;         END OF jtab.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : cnt(4) TYPE n.&lt;/P&gt;&lt;P&gt;DATA : fdt(20) TYPE c.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : c TYPE i.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;INCLUDE bdcrecx1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename = 'C: irst1.txt'&lt;/P&gt;&lt;P&gt;      filetype = 'DAT'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab = itab.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     filename                      = 'C:second.txt'&lt;/P&gt;&lt;P&gt;     filetype                      = 'DAT'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                      = jtab.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LOOP AT itab.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0100'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'RF02K-KTOKK'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RF02K-LIFNR'&lt;/P&gt;&lt;P&gt;                                  itab-lifnr.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RF02K-BUKRS'&lt;/P&gt;&lt;P&gt;                                  itab-bukrs.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RF02K-EKORG'&lt;/P&gt;&lt;P&gt;                                   itab-ekorg.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RF02K-KTOKK'&lt;/P&gt;&lt;P&gt;                                   itab-ktokk.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0110'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'LFA1-LAND1'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'LFA1-ANRED'&lt;/P&gt;&lt;P&gt;                                  itab-anred.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'LFA1-NAME1'&lt;/P&gt;&lt;P&gt;                                  itab-name1.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'LFA1-SORTL'&lt;/P&gt;&lt;P&gt;                                  itab-sortl.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'LFA1-LAND1'&lt;/P&gt;&lt;P&gt;                                  itab-land1.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0120'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'LFA1-KUNNR'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'LFBK-BANKN(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=ENTR'.&lt;/P&gt;&lt;P&gt;    cnt = 0.&lt;/P&gt;&lt;P&gt;    LOOP AT jtab WHERE j1 = itab-i1.&lt;/P&gt;&lt;P&gt;      cnt = cnt + 1.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field  USING fdt jtab-banks.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field USING fdt jtab-bankl.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field   USING fdt jtab-bankn.&lt;/P&gt;&lt;P&gt;      IF cnt = 5.&lt;/P&gt;&lt;P&gt;        cnt = 0.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                      'LFBK-BANKS(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                      '=P+'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                      'LFBK-BANKN(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                      '=ENTR'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'LFBK-BANKS(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=ENTR'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0210'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'LFB1-FDGRV'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'LFB1-AKONT'&lt;/P&gt;&lt;P&gt;                                  itab-akont.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'LFB1-FDGRV'&lt;/P&gt;&lt;P&gt;                                  itab-fdgrv.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0215'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'LFB1-ZTERM'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0220'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'LFB5-MAHNA'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0310'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'LFM1-WAERS'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'LFM1-WAERS'&lt;/P&gt;&lt;P&gt;                                  itab-waers.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'RF02K-LIFNR'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=ENTR'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPLSPO1' '0300'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=YES'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING 'XK01'.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  PERFORM close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Header file:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1	63190 	0001	0001	0001	mr	bal188	b	in	31000	a1	inr&lt;/P&gt;&lt;P&gt;2	63191 	0001	0001	0001	mr	bal189	b	in	31000	a1	inr&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TC file:&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;1	in	sb	11000&lt;/P&gt;&lt;P&gt;1	in	sb	12000&lt;/P&gt;&lt;P&gt;1	in	sb	13000&lt;/P&gt;&lt;P&gt;1	in	sb	14000&lt;/P&gt;&lt;P&gt;1	in	sb	15000&lt;/P&gt;&lt;P&gt;1	in	sb	16000&lt;/P&gt;&lt;P&gt;1	in	sb	17000&lt;/P&gt;&lt;P&gt;1	in	sb	18000&lt;/P&gt;&lt;P&gt;1	in	sb	19000&lt;/P&gt;&lt;P&gt;1	in	sb	20000&lt;/P&gt;&lt;P&gt;1	in	sb	21000&lt;/P&gt;&lt;P&gt;1	in	sb	22000&lt;/P&gt;&lt;P&gt;2	in	sb	21000&lt;/P&gt;&lt;P&gt;2	in	sb	22000&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;reward points&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 05:56:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220244#M476626</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T05:56:32Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220245#M476627</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;lt;b&amp;gt;&amp;gt;&amp;gt;when does this table control come into picture in BDC?&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Table control comes into picture when you write a BDC (creating a recording using shdb) for a transaction that contains table control...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&amp;gt;&amp;gt;how and where wud we insert dat????&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;just do the recording... by filling the first row of the table control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it will automatically come in the BDC when u create a program for taht recording.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&amp;gt;&amp;gt;how wud we handle dat??&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;In the program created, u will see something like &lt;/P&gt;&lt;P&gt; PERFORM bdc_field       USING 'COWB_COMP-MATNR(01)'&lt;/P&gt;&lt;P&gt;                                  'NK-1.75'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;put this statement (and all consecutive table control statements in a loop.)&lt;/P&gt;&lt;P&gt;use sy-tabix as index instead of (01)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 06:01:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220245#M476627</guid>
      <dc:creator>aabhas_wilmar</dc:creator>
      <dc:date>2007-04-26T06:01:30Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220246#M476628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;guyz,&lt;/P&gt;&lt;P&gt;thnx for ur reply...but&lt;/P&gt;&lt;P&gt;wat my question is....in which conditions , do we need to use this table control in bdc?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;like...we have a conventional way of uploading data rite....then waz d need of goin for this table control...advantages...and where do we need to define design this TC??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this kinda Q i have...so cud u plz put ya efforts to enlighten me than answering the Q..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thnx in advance..&lt;/P&gt;&lt;P&gt;Zid.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 06:07:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220246#M476628</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T06:07:52Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220247#M476629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ziden.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                      The screen that have a table display like header data and item data. In thet case itam information comes in a table control format. So while uploading data to the line items you have to cosnider that table control involved for displaying item data. You can see the vendor invoice transction (FB60).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 06:13:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220247#M476629</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T06:13:52Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220248#M476630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello anji,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can u plz explain me  Where have u handled TABLE CONTROL in the code given by u??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;explain me in detail...this solves my problem...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Zid.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 06:37:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220248#M476630</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T06:37:33Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220249#M476631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;soooo....what is the precised answer if some1 asks "how do u handles table controls in BDCs?"...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 06:50:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220249#M476631</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T06:50:53Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220250#M476632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Table control in BDC is very simple but tricky if u r got little experience in that. if som e one asks how u handled the table control in BDCs then answer "Using loops and index"...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one e.g i did is MB21.  in this table control is used. for material no and qty etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;More explanation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In table control, various entries are there for main data so&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at git_main_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at git_table_data where key1 = git_main_data-key1.&lt;/P&gt;&lt;P&gt;"insert data in BDC_DATA.&lt;/P&gt;&lt;P&gt;endloop. " loop for table data ends here&lt;/P&gt;&lt;P&gt;"Inset data in BDC_DATA.&lt;/P&gt;&lt;P&gt;endloop. "Main loop ends here&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this iwll help u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jogdand M B&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 07:04:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220250#M476632</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T07:04:05Z</dc:date>
    </item>
    <item>
      <title>Re: TABLE CONTROL IN BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220251#M476633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;lt;b&amp;gt;what this table control in bdc???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when does this table control come into picture in BDC???&lt;/P&gt;&lt;P&gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;   The table control provides a look similar to spreadsheet programs, with column and row headers that may select entire columns or rows, a new selection logic, an inbuilt scroll mechanism, and much more. This control makes interaction with tables much easier for the users, but also for the developer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In cases of one-line tables the table control should replace the step loop when presenting structures in table form. It offers improved usability and clarity compared with the loop due to the range of functions installed and the more precise visualization. You still have to implement multi-line tables in steploop technique.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here We come Accross the Table Comtrol While Recording the transaction (Ex  ME21N - For Line Items)  in SHDB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;how and where wud we insert dat????&lt;/P&gt;&lt;P&gt;how wud we handle dat??&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Just Go Through the program For Purchase Order which has table Control&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zmm_bdcp_purchaseorderkb02&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                Declaring internal tables                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Declaring line structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_dummy OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         dummy(255) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF it_dummy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table for line items&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :  BEGIN OF it_idata OCCURS 0,&lt;/P&gt;&lt;P&gt;          ematn(18),      "Material Number.&lt;/P&gt;&lt;P&gt;          menge(13),      "Qyantity.&lt;/P&gt;&lt;P&gt;          netpr(11),      "Net Price.&lt;/P&gt;&lt;P&gt;          werks(4),       "Plant.&lt;/P&gt;&lt;P&gt;          ebelp(5),       "Item Number.&lt;/P&gt;&lt;P&gt;        END OF it_idata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Deep structure for header data and line items&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  :  BEGIN OF it_me21 OCCURS 0,&lt;/P&gt;&lt;P&gt;           lifnr(10),      "Vendor A/c No.&lt;/P&gt;&lt;P&gt;           bsart(4),       "A/c Type.&lt;/P&gt;&lt;P&gt;           bedat(8),       "Date of creation of PO.&lt;/P&gt;&lt;P&gt;           ekorg(4),       "Purchasing Organisation.&lt;/P&gt;&lt;P&gt;           ekgrp(3),       "Purchasing Group.&lt;/P&gt;&lt;P&gt;           x_data LIKE TABLE OF it_idata,&lt;/P&gt;&lt;P&gt;         END OF it_me21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  :  x_idata LIKE LINE OF it_idata.&lt;/P&gt;&lt;P&gt;DATA  :  v_delimit VALUE ','.&lt;/P&gt;&lt;P&gt;DATA  :  v_indx(3) TYPE n.&lt;/P&gt;&lt;P&gt;DATA  :  v_fnam(30) TYPE c.&lt;/P&gt;&lt;P&gt;DATA  :  v_count TYPE n.&lt;/P&gt;&lt;P&gt;DATA  :  v_ne TYPE i.&lt;/P&gt;&lt;P&gt;DATA  :  v_ns TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*include bdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zmm_incl_purchaseorderkb01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                Search help for file                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      program_name  = syst-cprog&lt;/P&gt;&lt;P&gt;      dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      file_name     = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       To upload the data into line structure                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename = p_file&lt;/P&gt;&lt;P&gt;      filetype = 'DAT'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab = it_dummy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Processing the data from line structure to internal tables       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH:it_me21.&lt;/P&gt;&lt;P&gt;  CLEAR  :it_me21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_dummy.&lt;/P&gt;&lt;P&gt;    IF it_dummy-dummy+0(01) = 'H'.&lt;/P&gt;&lt;P&gt;      v_indx = v_indx + 1.&lt;/P&gt;&lt;P&gt;      CLEAR   it_idata.&lt;/P&gt;&lt;P&gt;      REFRESH it_idata.&lt;/P&gt;&lt;P&gt;      CLEAR   it_me21-x_data.&lt;/P&gt;&lt;P&gt;      REFRESH it_me21-x_data.&lt;/P&gt;&lt;P&gt;      SHIFT it_dummy.&lt;/P&gt;&lt;P&gt;      SPLIT it_dummy AT v_delimit INTO it_me21-lifnr&lt;/P&gt;&lt;P&gt;                                       it_me21-bsart&lt;/P&gt;&lt;P&gt;                                       it_me21-bedat&lt;/P&gt;&lt;P&gt;                                       it_me21-ekorg&lt;/P&gt;&lt;P&gt;                                       it_me21-ekgrp.&lt;/P&gt;&lt;P&gt;      APPEND it_me21.&lt;/P&gt;&lt;P&gt;    ELSEIF it_dummy-dummy+0(01) = 'L'.&lt;/P&gt;&lt;P&gt;      SHIFT it_dummy.&lt;/P&gt;&lt;P&gt;      SPLIT it_dummy AT v_delimit INTO it_idata-ematn&lt;/P&gt;&lt;P&gt;                                       it_idata-menge&lt;/P&gt;&lt;P&gt;                                       it_idata-netpr&lt;/P&gt;&lt;P&gt;                                       it_idata-werks&lt;/P&gt;&lt;P&gt;                                       it_idata-ebelp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND it_idata TO it_me21-x_data.&lt;/P&gt;&lt;P&gt;      MODIFY it_me21 INDEX v_indx.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                To open the group                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        To populate the bdcdata table for header data                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_me21.&lt;/P&gt;&lt;P&gt;    v_count = v_count + 1.&lt;/P&gt;&lt;P&gt;    REFRESH it_bdcdata.&lt;/P&gt;&lt;P&gt;    PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0100',&lt;/P&gt;&lt;P&gt;                                    ' ' 'BDC_CURSOR'  'EKKO-LIFNR',&lt;/P&gt;&lt;P&gt;                                    ' ' 'BDC_OKCODE'  '/00',&lt;/P&gt;&lt;P&gt;                                    ' ' 'EKKO-LIFNR'  it_me21-lifnr,&lt;/P&gt;&lt;P&gt;                                    ' ' 'RM06E-BSART' it_me21-bsart,&lt;/P&gt;&lt;P&gt;                                    ' ' 'RM06E-BEDAT' it_me21-bedat,&lt;/P&gt;&lt;P&gt;                                    ' ' 'EKKO-EKORG'  it_me21-ekorg,&lt;/P&gt;&lt;P&gt;                                    ' ' 'EKKO-EKGRP'  it_me21-ekgrp,&lt;/P&gt;&lt;P&gt;                                    ' ' 'RM06E-LPEIN' 'T'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0120',&lt;/P&gt;&lt;P&gt;                                    ' ' 'BDC_CURSOR'  'RM06E-EBELP',&lt;/P&gt;&lt;P&gt;                                    ' ' 'BDC_OKCODE'  '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE 1 TO v_indx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----To populate the bdcdata table for line item data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_me21-x_data INTO x_idata.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'EKPO-EMATN(' v_indx ')'  INTO v_fnam.&lt;/P&gt;&lt;P&gt;      PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-ematn.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'EKPO-MENGE(' v_indx ')'  INTO v_fnam.&lt;/P&gt;&lt;P&gt;      PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-menge.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'EKPO-NETPR(' v_indx ')'  INTO v_fnam.&lt;/P&gt;&lt;P&gt;      PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-netpr.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'EKPO-WERKS(' v_indx ')'  INTO v_fnam.&lt;/P&gt;&lt;P&gt;      PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-werks.&lt;/P&gt;&lt;P&gt;      v_indx = v_indx + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM subr_bdc_table USING:  'X' 'SAPMM06E'    '0120',&lt;/P&gt;&lt;P&gt;                                     ' ' 'BDC_CURSOR'  'RM06E-EBELP',&lt;/P&gt;&lt;P&gt;                                     ' ' 'BDC_OKCODE'  '/00'.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM subr_bdc_table USING:    'X' 'SAPMM06E'    '0120',&lt;/P&gt;&lt;P&gt;                                     ' ' 'BDC_CURSOR'  'RM06E-EBELP',&lt;/P&gt;&lt;P&gt;                                     ' ' 'BDC_OKCODE'  '=BU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING 'ME21'.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  PERFORM close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  End of selection event                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF session NE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----To display the successful records&lt;/P&gt;&lt;P&gt;    WRITE :/10  text-001.          "Sucess records&lt;/P&gt;&lt;P&gt;    WRITE :/10  SY-ULINE(20).&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    IF it_sucess IS INITIAL.&lt;/P&gt;&lt;P&gt;      WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;  text-002.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;   text-008,          "Total number of Succesful records&lt;/P&gt;&lt;P&gt;              35 v_ns.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      WRITE:/   text-003,          "Vendor Number&lt;/P&gt;&lt;P&gt;             17 text-004,          "Record number&lt;/P&gt;&lt;P&gt;             30 text-005.          "Message&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_sucess.&lt;/P&gt;&lt;P&gt;      WRITE:/4  it_sucess-lifnr,&lt;/P&gt;&lt;P&gt;             17 it_sucess-tabix CENTERED,&lt;/P&gt;&lt;P&gt;             30 it_sucess-sucess_rec.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----To display the erroneous records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/10   text-006.          "Error Records&lt;/P&gt;&lt;P&gt;    WRITE:/10   SY-ULINE(17).&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_error IS INITIAL.&lt;/P&gt;&lt;P&gt;      WRITE:/   text-007.          "No error records&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:/   text-009,          "Total number of erroneous records&lt;/P&gt;&lt;P&gt;             35 v_ne.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      WRITE:/   text-003,          "Vendor Number&lt;/P&gt;&lt;P&gt;             17 text-004,          "Record number&lt;/P&gt;&lt;P&gt;             30 text-005.          "Message&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_error.&lt;/P&gt;&lt;P&gt;      WRITE:/4  it_error-lifnr,&lt;/P&gt;&lt;P&gt;             17 it_error-tabix CENTERED,&lt;/P&gt;&lt;P&gt;             30 it_error-error_rec.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH it_sucess.&lt;/P&gt;&lt;P&gt;    REFRESH it_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CODE IN INCLUDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Include           ZMM_INCL_PURCHASEORDERKB01&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   it_BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:   it_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:   E_GROUP_OPENED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table to store sucess records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_sucess OCCURS 0,&lt;/P&gt;&lt;P&gt;       msgtyp(1)   TYPE c,&lt;/P&gt;&lt;P&gt;       lifnr  LIKE  ekko-lifnr,&lt;/P&gt;&lt;P&gt;       tabix  LIKE  sy-tabix,&lt;/P&gt;&lt;P&gt;       sucess_rec(125),&lt;/P&gt;&lt;P&gt;     END OF it_sucess.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_mess(125) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table to store error records&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_error OCCURS 0,&lt;/P&gt;&lt;P&gt;       msgtyp(1)   TYPE c,&lt;/P&gt;&lt;P&gt;       lifnr  LIKE  ekko-lifnr,&lt;/P&gt;&lt;P&gt;       tabix  LIKE  sy-tabix,&lt;/P&gt;&lt;P&gt;       error_rec(125),&lt;/P&gt;&lt;P&gt;     END OF it_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS session RADIOBUTTON GROUP ctu.  "create session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 45.&lt;/P&gt;&lt;P&gt;PARAMETERS ctu RADIOBUTTON GROUP ctu.     "call transaction&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 25.&lt;/P&gt;&lt;P&gt;PARAMETERS group(12).                      "group name of session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 70.&lt;/P&gt;&lt;P&gt;PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"A: show all dynpros&lt;/P&gt;&lt;P&gt;"E: show dynpro on error only&lt;/P&gt;&lt;P&gt;"N: do not display dynpro&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 70.&lt;/P&gt;&lt;P&gt;PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 25.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: keep AS CHECKBOX.       "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;"'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 70.&lt;/P&gt;&lt;P&gt;PARAMETERS e_group(12).             "group name of error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 70.&lt;/P&gt;&lt;P&gt;PARAMETERS: e_keep AS CHECKBOX.     "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;"'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS:p_file LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  at selection screen                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;group and user must be filled for create session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X' AND&lt;/P&gt;&lt;P&gt;     GROUP = SPACE. "OR USER = SPACE.&lt;/P&gt;&lt;P&gt;    MESSAGE E613(MS).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  create batchinput session                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM OPEN_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE: /(20) 'Create group'(I01), GROUP.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----open batchinput group&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        CLIENT = SY-MANDT&lt;/P&gt;&lt;P&gt;        GROUP  = GROUP&lt;/P&gt;&lt;P&gt;        USER   = sy-uname.&lt;/P&gt;&lt;P&gt;    WRITE:/(30) 'BDC_OPEN_GROUP'(I02),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "OPEN_GROUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  end batchinput session                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CLOSE_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*------close batchinput group&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;      WRITE: /.&lt;/P&gt;&lt;P&gt;      WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CLOSE_GROUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Start new transaction according to parameters                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_TRANSACTION USING TCODE TYPE ANY.&lt;/P&gt;&lt;P&gt;  DATA: L_SUBRC LIKE SY-SUBRC.&lt;/P&gt;&lt;P&gt;*------batch input session&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        TCODE     = TCODE&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        DYNPROTAB = it_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: / 'BDC_INSERT'(I03),&lt;/P&gt;&lt;P&gt;             TCODE,&lt;/P&gt;&lt;P&gt;             'returncode:'(I05),&lt;/P&gt;&lt;P&gt;             SY-SUBRC,&lt;/P&gt;&lt;P&gt;             'RECORD:',&lt;/P&gt;&lt;P&gt;             SY-INDEX.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    REFRESH it_MESSTAB.&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION TCODE USING it_BDCDATA&lt;/P&gt;&lt;P&gt;                     MODE   CTUMODE&lt;/P&gt;&lt;P&gt;                     UPDATE CUPDATE&lt;/P&gt;&lt;P&gt;                     MESSAGES INTO it_MESSTAB.&lt;/P&gt;&lt;P&gt;    L_SUBRC = SY-SUBRC.&lt;/P&gt;&lt;P&gt;    WRITE: / 'CALL_TRANSACTION',&lt;/P&gt;&lt;P&gt;             TCODE,&lt;/P&gt;&lt;P&gt;             'returncode:'(I05),&lt;/P&gt;&lt;P&gt;             L_SUBRC,&lt;/P&gt;&lt;P&gt;             'RECORD:',&lt;/P&gt;&lt;P&gt;             SY-INDEX.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Message handling for Call Transaction                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform subr_mess_hand using g_mess.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Erzeugen fehlermappe&lt;/P&gt;&lt;P&gt;  IF L_SUBRC &amp;lt;&amp;gt; 0 AND E_GROUP &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;    IF E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          CLIENT = SY-MANDT&lt;/P&gt;&lt;P&gt;          GROUP  = E_GROUP&lt;/P&gt;&lt;P&gt;          USER   = sy-uname&lt;/P&gt;&lt;P&gt;          KEEP   = E_KEEP.&lt;/P&gt;&lt;P&gt;      E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        TCODE     = TCODE&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        DYNPROTAB = it_BDCDATA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_TRANSACTION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  subr_bdc_table                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0220   text                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0221   text                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0222   text                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM subr_bdc_table  USING      VALUE(P_0220) TYPE ANY&lt;/P&gt;&lt;P&gt;                                VALUE(P_0221) TYPE ANY&lt;/P&gt;&lt;P&gt;                                VALUE(P_0222) TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR it_bdcdata.&lt;/P&gt;&lt;P&gt;  IF P_0220 = ' '.&lt;/P&gt;&lt;P&gt;    CLEAR it_bdcdata.&lt;/P&gt;&lt;P&gt;    it_bdcdata-fnam     = P_0221.&lt;/P&gt;&lt;P&gt;    it_bdcdata-fval     = P_0222.&lt;/P&gt;&lt;P&gt;    APPEND it_bdcdata.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    it_bdcdata-dynbegin = P_0220.&lt;/P&gt;&lt;P&gt;    it_bdcdata-program  = P_0221.&lt;/P&gt;&lt;P&gt;    it_bdcdata-dynpro   = P_0222.&lt;/P&gt;&lt;P&gt;    APPEND it_bdcdata.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " subr_bdc_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  subr_mess_hand                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_G_MESS  text                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM subr_mess_hand USING  P_G_MESS TYPE ANY.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MESSTAB.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        ID     = it_messtab-msgid&lt;/P&gt;&lt;P&gt;        LANG   = it_messtab-msgspra&lt;/P&gt;&lt;P&gt;        NO     = it_messtab-msgnr&lt;/P&gt;&lt;P&gt;        v1     = it_messtab-msgv1&lt;/P&gt;&lt;P&gt;        v2     = it_messtab-msgv2&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        MSG    = P_G_MESS&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        OTHERS = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE it_messtab-msgtyp.&lt;/P&gt;&lt;P&gt;      when 'E'.&lt;/P&gt;&lt;P&gt;        it_error-error_rec   =  P_G_MESS.&lt;/P&gt;&lt;P&gt;        it_error-lifnr       =  it_me21-lifnr.&lt;/P&gt;&lt;P&gt;        it_error-tabix       =  v_count.&lt;/P&gt;&lt;P&gt;        APPEND IT_ERROR.&lt;/P&gt;&lt;P&gt;      when 'S'.&lt;/P&gt;&lt;P&gt;        it_sucess-sucess_rec =  P_G_MESS.&lt;/P&gt;&lt;P&gt;        it_sucess-lifnr      =  it_me21-lifnr.&lt;/P&gt;&lt;P&gt;        it_sucess-tabix      =  v_count.&lt;/P&gt;&lt;P&gt;        APPEND IT_SUCESS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  Describe table it_sucess lines v_ns.&lt;/P&gt;&lt;P&gt;  Describe table it_error  lines v_ne.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " subr_mess_hand&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 07:12:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-control-in-bdc/m-p/2220251#M476633</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T07:12:34Z</dc:date>
    </item>
  </channel>
</rss>

