<?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 Re: BDC through Table control in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284172#M497564</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Yes it is possible to use BDC for table controls&lt;/P&gt;&lt;P&gt;But not for MM01 Tcode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for most of the tcodes like ME21, VA01, ME11 we use Table controls.&lt;/P&gt;&lt;P&gt;see the doc&lt;/P&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;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;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 23 May 2007 04:55:47 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-23T04:55:47Z</dc:date>
    <item>
      <title>BDC through Table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284171#M497563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to use BDC with table control .can it be possible ? how?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to get data from flat file for MM01 now all records should be display in table control (dialog programming) and after clicking one button (save) all records from flat file should be display in related Database tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can it be possible ? and How ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nimesh Master&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2007 04:51:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284171#M497563</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-23T04:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: BDC through Table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284172#M497564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Yes it is possible to use BDC for table controls&lt;/P&gt;&lt;P&gt;But not for MM01 Tcode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for most of the tcodes like ME21, VA01, ME11 we use Table controls.&lt;/P&gt;&lt;P&gt;see the doc&lt;/P&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;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;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2007 04:55:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284172#M497564</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-23T04:55:47Z</dc:date>
    </item>
    <item>
      <title>Re: BDC through Table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284173#M497565</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ya ,it is possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go thru this link for Table control in BDC.&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;A href="http://www.sap-basis-abap.com/abap/handling-table-control-in-bdc.htm" target="test_blank"&gt;http://www.sap-basis-abap.com/abap/handling-table-control-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This below &amp;lt;b&amp;gt;Program&amp;lt;/b&amp;gt; is for Tcode ME21N(Purchase Order).it will contain a table control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report ZBH_PURORDER no standard page heading line-size 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:P_FILE LIKE IBIPPARMS-PATH.&lt;/P&gt;&lt;P&gt;DATA FILENAME TYPE STRING.&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 = sy-cprog&lt;/P&gt;&lt;P&gt;dynpro_number = sy-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;FILENAME = P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF XTAB OCCURS 0,&lt;/P&gt;&lt;P&gt;TYP,&lt;/P&gt;&lt;P&gt;DES(255) TYPE C,&lt;/P&gt;&lt;P&gt;END OF XTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;SUPERFIELD LIKE MEPO_TOPLINE-SUPERFIELD,&lt;/P&gt;&lt;P&gt;EKORG LIKE MEPO1222-EKORG,&lt;/P&gt;&lt;P&gt;EKGRP LIKE MEPO1222-EKGRP,&lt;/P&gt;&lt;P&gt;BUKRS LIKE MEPO1222-BUKRS,&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;N(4) TYPE C,&lt;/P&gt;&lt;P&gt;EMATN LIKE MEPO1211-EMATN,&lt;/P&gt;&lt;P&gt;MENGE(13) TYPE C,&lt;/P&gt;&lt;P&gt;NETPR(13) TYPE C,&lt;/P&gt;&lt;P&gt;NAME1 LIKE MEPO1211-NAME1,&lt;/P&gt;&lt;P&gt;END OF JTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:DELIMITER VALUE '*'.&lt;/P&gt;&lt;P&gt;DATA A TYPE I.&lt;/P&gt;&lt;P&gt;DATA M(4) TYPE N.&lt;/P&gt;&lt;P&gt;DATA L_FNAM(30) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILENAME = FILENAME&lt;/P&gt;&lt;P&gt;FILETYPE = 'ASC'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = XTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT XTAB.&lt;/P&gt;&lt;P&gt;IF XTAB-TYP = 'H'.&lt;/P&gt;&lt;P&gt;SPLIT XTAB-DES AT DELIMITER INTO ITAB-SUPERFIELD ITAB-EKORG ITAB-EKGRP&lt;/P&gt;&lt;P&gt;ITAB-BUKRS.&lt;/P&gt;&lt;P&gt;JTAB-N = JTAB-N + 1.&lt;/P&gt;&lt;P&gt;APPEND ITAB.&lt;/P&gt;&lt;P&gt;ELSEIF XTAB-TYP = 'I'.&lt;/P&gt;&lt;P&gt;SPLIT XTAB-DES AT DELIMITER INTO JTAB-EMATN JTAB-MENGE JTAB-NETPR&lt;/P&gt;&lt;P&gt;JTAB-NAME1.&lt;/P&gt;&lt;P&gt;APPEND JTAB.&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;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 = 'PORDER'&lt;/P&gt;&lt;P&gt;KEEP = 'X'&lt;/P&gt;&lt;P&gt;USER = SY-UNAME.&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;A = SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH BDCTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLMEGUI' '0014'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'MEPO_TOPLINE-SUPERFIELD'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-BSART'&lt;/P&gt;&lt;P&gt;'NB'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-SUPERFIELD'&lt;/P&gt;&lt;P&gt;ITAB-SUPERFIELD.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-BEDAT'&lt;/P&gt;&lt;P&gt;'09.02.2007'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'DYN_6000-LIST'&lt;/P&gt;&lt;P&gt;' 1'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=MEV4000BUTTON'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLMEGUI' '0014'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-BSART'&lt;/P&gt;&lt;P&gt;'NB'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-SUPERFIELD'&lt;/P&gt;&lt;P&gt;ITAB-SUPERFIELD.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-BEDAT'&lt;/P&gt;&lt;P&gt;'09.02.2007'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'MEPO1222-EKORG'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-EKORG'&lt;/P&gt;&lt;P&gt;ITAB-EKORG.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-EKGRP'&lt;/P&gt;&lt;P&gt;ITAB-EKGRP.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-BUKRS'&lt;/P&gt;&lt;P&gt;ITAB-BUKRS.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'DYN_6000-LIST'&lt;/P&gt;&lt;P&gt;' 1'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=MEV4001BUTTON'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLMEGUI' '0014'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-BSART'&lt;/P&gt;&lt;P&gt;'NB'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-SUPERFIELD'&lt;/P&gt;&lt;P&gt;ITAB-SUPERFIELD.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-BEDAT'&lt;/P&gt;&lt;P&gt;'09.02.2007'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-EKORG'&lt;/P&gt;&lt;P&gt;ITAB-EKORG.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-EKGRP'&lt;/P&gt;&lt;P&gt;ITAB-EKGRP.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-BUKRS'&lt;/P&gt;&lt;P&gt;ITAB-BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;M = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT JTAB.&lt;/P&gt;&lt;P&gt;IF JTAB-N = A.&lt;/P&gt;&lt;P&gt;WRITE:/ JTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'MEPO1211-EMATN(' M ')' INTO L_FNAM.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;L_FNAM.&lt;/P&gt;&lt;P&gt;perform bdc_field using L_FNAM&lt;/P&gt;&lt;P&gt;JTAB-EMATN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'MEPO1211-MENGE(' M ')' INTO L_FNAM.&lt;/P&gt;&lt;P&gt;perform bdc_field using L_FNAM&lt;/P&gt;&lt;P&gt;JTAB-MENGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'MEPO1211-NETPR(' M ')' INTO L_FNAM.&lt;/P&gt;&lt;P&gt;perform bdc_field using L_FNAM&lt;/P&gt;&lt;P&gt;JTAB-NETPR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'MEPO1211-NAME1(' M ')' INTO L_FNAM.&lt;/P&gt;&lt;P&gt;perform bdc_field using L_FNAM&lt;/P&gt;&lt;P&gt;JTAB-NAME1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;M = M + 1.&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;perform bdc_field using 'DYN_6000-LIST'&lt;/P&gt;&lt;P&gt;' 1'.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLMEGUI' '0014'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-BSART'&lt;/P&gt;&lt;P&gt;'NB'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-SUPERFIELD'&lt;/P&gt;&lt;P&gt;ITAB-SUPERFIELD.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO_TOPLINE-BEDAT'&lt;/P&gt;&lt;P&gt;'09.02.2007'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-EKORG'&lt;/P&gt;&lt;P&gt;ITAB-EKORG.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-EKGRP'&lt;/P&gt;&lt;P&gt;ITAB-EKGRP.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1222-BUKRS'&lt;/P&gt;&lt;P&gt;ITAB-BUKRS.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'DYN_6000-LIST'&lt;/P&gt;&lt;P&gt;' 1'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'MEPO1319-MATKL'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'MEPO1319-SPINF'&lt;/P&gt;&lt;P&gt;'X'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=MESAVE'.&lt;/P&gt;&lt;P&gt;&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 = 'ME21N'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = BDCTAB.&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;CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&lt;/P&gt;&lt;P&gt;CLEAR BDCTAB.&lt;/P&gt;&lt;P&gt;BDCTAB-PROGRAM = PROGRAM.&lt;/P&gt;&lt;P&gt;BDCTAB-DYNPRO = DYNPRO.&lt;/P&gt;&lt;P&gt;BDCTAB-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;CLEAR BDCTAB.&lt;/P&gt;&lt;P&gt;BDCTAB-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;FLAT FILE:&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;H117161&lt;STRONG&gt;1000&lt;/STRONG&gt;001*1000&lt;/P&gt;&lt;P&gt;ICPU&lt;STRONG&gt;1&lt;/STRONG&gt;16000*1000&lt;/P&gt;&lt;P&gt;ILEY BOARD&lt;STRONG&gt;10&lt;/STRONG&gt;10000*1000&lt;/P&gt;&lt;P&gt;IMOUSE&lt;STRONG&gt;6&lt;/STRONG&gt;6000*1000&lt;/P&gt;&lt;P&gt;H117171&lt;STRONG&gt;1000&lt;/STRONG&gt;001*1000&lt;/P&gt;&lt;P&gt;ICPU&lt;STRONG&gt;5&lt;/STRONG&gt;80000*1000&lt;/P&gt;&lt;P&gt;H117170&lt;STRONG&gt;1000&lt;/STRONG&gt;001*1000&lt;/P&gt;&lt;P&gt;IMOUSE&lt;STRONG&gt;3&lt;/STRONG&gt;3000*1000&lt;/P&gt;&lt;P&gt;ILEY BOARD&lt;STRONG&gt;10&lt;/STRONG&gt;10000*1000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Padmam.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2007 05:08:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284173#M497565</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-23T05:08:19Z</dc:date>
    </item>
    <item>
      <title>Re: BDC through Table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284174#M497566</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;chk this 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;Rgds&lt;/P&gt;&lt;P&gt;Anversha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2007 05:09:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284174#M497566</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2007-05-23T05:09:24Z</dc:date>
    </item>
    <item>
      <title>Re: BDC through Table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284175#M497567</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;I am giving one e.g. logic is that data to be uploaded in table control will be avaliable in seprater itab and this itab is refered in main itab using indexes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC XK01 using Table control:&lt;/P&gt;&lt;P&gt;REPORT Y730_BDC5 .&lt;/P&gt;&lt;P&gt;*HANDLING TABLE CONTROL IN BDC&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_DUMMY OCCURS 0,&lt;/P&gt;&lt;P&gt;       DUMMY(100) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF IT_DUMMY.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_XK01 OCCURS 0,&lt;/P&gt;&lt;P&gt;       LIFNR(10) TYPE C,&lt;/P&gt;&lt;P&gt;       BUKRS(4)  TYPE C,&lt;/P&gt;&lt;P&gt;       EKORG(4)  TYPE C,&lt;/P&gt;&lt;P&gt;       KTOKK(4)  TYPE C,&lt;/P&gt;&lt;P&gt;       NAME1(30) TYPE C,&lt;/P&gt;&lt;P&gt;       SORTL(10) TYPE C,&lt;/P&gt;&lt;P&gt;       LAND1(3)  TYPE C,&lt;/P&gt;&lt;P&gt;       SPRAS(2)  TYPE C,&lt;/P&gt;&lt;P&gt;       AKONT(6)  TYPE C,&lt;/P&gt;&lt;P&gt;       FDGRV(2)  TYPE C,&lt;/P&gt;&lt;P&gt;       WAERS(3)  TYPE C,&lt;/P&gt;&lt;P&gt;       END OF IT_XK01,&lt;/P&gt;&lt;P&gt;       BEGIN OF IT_BANK OCCURS 0,&lt;/P&gt;&lt;P&gt;       BANKS(3)  TYPE C,&lt;/P&gt;&lt;P&gt;       BANKL(10) TYPE C,&lt;/P&gt;&lt;P&gt;       BANKN(10) TYPE C,&lt;/P&gt;&lt;P&gt;       KOINH(30) TYPE C,&lt;/P&gt;&lt;P&gt;       LIFNR(10) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF IT_BANK.&lt;/P&gt;&lt;P&gt;DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&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:\VENDOR.TXT'&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'ASC'&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;LOOP AT IT_DUMMY.&lt;/P&gt;&lt;P&gt;  IF IT_DUMMY-DUMMY+0(2) = '11'.&lt;/P&gt;&lt;P&gt;    IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10).&lt;/P&gt;&lt;P&gt;    IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4).&lt;/P&gt;&lt;P&gt;    IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4).&lt;/P&gt;&lt;P&gt;    IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4).&lt;/P&gt;&lt;P&gt;    IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30).&lt;/P&gt;&lt;P&gt;    IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10).&lt;/P&gt;&lt;P&gt;    IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3).&lt;/P&gt;&lt;P&gt;    IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2).&lt;/P&gt;&lt;P&gt;    IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6).&lt;/P&gt;&lt;P&gt;    IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2).&lt;/P&gt;&lt;P&gt;    IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3).&lt;/P&gt;&lt;P&gt;    APPEND IT_XK01.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3).&lt;/P&gt;&lt;P&gt;    IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10).&lt;/P&gt;&lt;P&gt;    IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10).&lt;/P&gt;&lt;P&gt;    IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30).&lt;/P&gt;&lt;P&gt;    IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10).&lt;/P&gt;&lt;P&gt;    APPEND IT_BANK.&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;LOOP AT IT_XK01.&lt;/P&gt;&lt;P&gt;REFRESH IT_BDCDATA.&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-REF_LIFNR'.&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;                              IT_XK01-LIFNR.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-BUKRS'&lt;/P&gt;&lt;P&gt;                              IT_XK01-BUKRS.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-EKORG'&lt;/P&gt;&lt;P&gt;                              IT_XK01-EKORG.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-KTOKK'&lt;/P&gt;&lt;P&gt;                              IT_XK01-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-TELX1'.&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-NAME1'&lt;/P&gt;&lt;P&gt;                              IT_XK01-NAME1.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-SORTL'&lt;/P&gt;&lt;P&gt;                              IT_XK01-SORTL.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-LAND1'&lt;/P&gt;&lt;P&gt;                              IT_XK01-LAND1.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-SPRAS'&lt;/P&gt;&lt;P&gt;                              IT_XK01-SPRAS.&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-KOINH(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;DATA : FNAM(20) TYPE C,&lt;/P&gt;&lt;P&gt;       IDX      TYPE C.&lt;/P&gt;&lt;P&gt;  MOVE 1 TO IDX.&lt;/P&gt;&lt;P&gt;LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                                IT_BANK-BANKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                                IT_BANK-BANKL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                                IT_BANK-BANKN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                                IT_BANK-KOINH.&lt;/P&gt;&lt;P&gt;  IDX = IDX + 1.&lt;/P&gt;&lt;P&gt;ENDLOOP.&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;                              IT_XK01-AKONT.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFB1-FDGRV'&lt;/P&gt;&lt;P&gt;                              IT_XK01-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;                              IT_XK01-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;                              'WYT3-PARVW(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 '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;CALL TRANSACTION 'XK01' USING IT_BDCDATA&lt;/P&gt;&lt;P&gt;                        MODE  'A'&lt;/P&gt;&lt;P&gt;                       UPDATE 'S'&lt;/P&gt;&lt;P&gt;                     MESSAGES INTO IT_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_DYNPRO USING PROG SCR.&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-PROGRAM = PROG.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNPRO  = SCR.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-FVAL  = FVAL.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCDATA.&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;Jogdand M B&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2007 05:12:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284175#M497567</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-23T05:12:19Z</dc:date>
    </item>
    <item>
      <title>Re: BDC through Table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284176#M497568</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what  is the data for vedor.txt file ??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nimesh Master&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2007 07:28:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-through-table-control/m-p/2284176#M497568</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-23T07:28:29Z</dc:date>
    </item>
  </channel>
</rss>

