<?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: Batch data comm. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758907#M642155</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sangram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please go thru the bellow code... working fine..&lt;/P&gt;&lt;P&gt;&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;Reward If Helpful&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;Sasi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Sep 2007 09:02:10 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-05T09:02:10Z</dc:date>
    <item>
      <title>Batch data comm.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758904#M642152</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    can anybody plz drop me a piece of code for running BDC for the transactions 'ME21' &amp;amp; 'ME51' transaction, in which BDC trable control will be occuring.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your help is verymuch required for these two BDC table control code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;&lt;P&gt;Sangram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Sep 2007 08:49:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758904#M642152</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-05T08:49:55Z</dc:date>
    </item>
    <item>
      <title>Re: Batch data comm.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758905#M642153</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;The logic is to loop by three lines of table control.You must use a count in the loop&lt;/P&gt;&lt;P&gt;it must be incremented .when it reaches 4 it must be reset to 0.You should use the ok_code 'P+' to scroll down the table control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points if helpful,&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;jinesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Sep 2007 08:55:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758905#M642153</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-05T08:55:17Z</dc:date>
    </item>
    <item>
      <title>Re: Batch data comm.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758906#M642154</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sangram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is a sample BDC code for ME21&lt;/P&gt;&lt;P&gt;if needed add/delete the fields&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; if it helpful reward points are appreciated&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Sep 2007 08:57:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758906#M642154</guid>
      <dc:creator>former_member239282</dc:creator>
      <dc:date>2007-09-05T08:57:22Z</dc:date>
    </item>
    <item>
      <title>Re: Batch data comm.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758907#M642155</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sangram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please go thru the bellow code... working fine..&lt;/P&gt;&lt;P&gt;&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;Reward If Helpful&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;Sasi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Sep 2007 09:02:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758907#M642155</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-05T09:02:10Z</dc:date>
    </item>
    <item>
      <title>Re: Batch data comm.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758908#M642156</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi sangram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to deal with table control / step loop in BDC in me21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;complete code  steps links:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://arthur_ong.tripod.com/xab023.htm" target="test_blank"&gt;http://arthur_ong.tripod.com/xab023.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/sapfans/repos/comelite.htm" target="test_blank"&gt;http://www.sapfans.com/sapfans/repos/comelite.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Kumar.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Sep 2007 09:03:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758908#M642156</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-05T09:03:15Z</dc:date>
    </item>
    <item>
      <title>Re: Batch data comm.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758909#M642157</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;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, &lt;/P&gt;&lt;P&gt;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, 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;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; (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 &lt;/P&gt;&lt;P&gt;ASSIGN and Dynamic ASSIGN. &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, the method using is Call Transation Using..) &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. &lt;/P&gt;&lt;P&gt;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;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;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;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 &lt;/P&gt;&lt;P&gt;                                                         " 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;*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;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;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;if FirstLine eq 0. &lt;/P&gt;&lt;P&gt;        pageno = DataLine div vline. &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;line = vline. &lt;/P&gt;&lt;P&gt;endform. &lt;/P&gt;&lt;P&gt;Step4 write a subroutine to calculate the line index for each item. &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;  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;endform. &lt;/P&gt;&lt;P&gt;Step5 write a subroutine to calculate the loop range. &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;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;elseif FirstLine = 1. &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;endif. &lt;/P&gt;&lt;P&gt;endform. &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 &lt;/P&gt;&lt;P&gt;form creat_bdc. &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;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;if sy-index gt 1 &lt;/P&gt;&lt;P&gt;*insert scroll page ok_code" &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;endloop. &lt;/P&gt;&lt;P&gt;enddo.&lt;/P&gt;&lt;P&gt;Sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following is a sample code of handling table control in BDC. &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;regards,&lt;/P&gt;&lt;P&gt;srinivas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Sep 2007 09:19:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/batch-data-comm/m-p/2758909#M642157</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-05T09:19:35Z</dc:date>
    </item>
  </channel>
</rss>

