<?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 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566624#M858355</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;Try this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT DEMO1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Following internal table is to upload flat file.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;ID(10),&lt;/P&gt;&lt;P&gt;NAME(25),&lt;/P&gt;&lt;P&gt;CITY(25),&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;*Following internal table BDCDATA is to pass date from internal table to session.&lt;/P&gt;&lt;P&gt;DATA: BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: DATE1 LIKE SY-DATUM. DATE1 = SY-DATUM - 1. &amp;#147; This is for Hold Date&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To upload flat file to internal table. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION UPLOAD&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILE NAME = &amp;#145;C:\FF.TXT&amp;#146;&lt;/P&gt;&lt;P&gt;FILE TYPE = &amp;#145;ASC&amp;#148;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = ITAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;CONVERSION_ERROR = 1&lt;/P&gt;&lt;P&gt;INVALID_TABLE_WIDTH = 2&lt;/P&gt;&lt;P&gt;INVALID_TYPE = 3&lt;/P&gt;&lt;P&gt;NO_BATCH = 4&lt;/P&gt;&lt;P&gt;UNKNOWN_ERROR = 5&lt;/P&gt;&lt;P&gt;OTHERS = 6.&lt;/P&gt;&lt;P&gt;If sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calling Function to Create a Session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION &amp;#145;BDC_OPEN_GROUP&amp;#146;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CLIENT = SY-MANDT&lt;/P&gt;&lt;P&gt;GROUP = &amp;#145;POTHURI&amp;#146;&lt;/P&gt;&lt;P&gt;HOLDDATE = DATE1&lt;/P&gt;&lt;P&gt;KEEP = &amp;#145;X&amp;#146;&lt;/P&gt;&lt;P&gt;USER = SY-UNAME&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;CLIENT_INVALID = 1&lt;/P&gt;&lt;P&gt;DESTINATION_INVALID = 2&lt;/P&gt;&lt;P&gt;GROUP_INVALID = 3&lt;/P&gt;&lt;P&gt;GROUP_IS_LOCKED = 4&lt;/P&gt;&lt;P&gt;HOLDDATE_INVALID = 5&lt;/P&gt;&lt;P&gt;INTERNAL_ERROR = 6&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 7&lt;/P&gt;&lt;P&gt;RUNNING = 8&lt;/P&gt;&lt;P&gt;SYSTEM_LOCK_ERROR = 9&lt;/P&gt;&lt;P&gt;USER_INVALID = 10&lt;/P&gt;&lt;P&gt;OTHERS = 11.&lt;/P&gt;&lt;P&gt;If sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---------------------" /&gt; MAIN Logic--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;LOOP AT ITAB&lt;/P&gt;&lt;P&gt;PERFORM GENERATE_DATA. &amp;#147; Populating BDCDATA Table&lt;/P&gt;&lt;P&gt;CALL FUNCTION &amp;#145;BDC_INSERT&amp;#146;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TCODE = &amp;#145;TFBA&amp;#146;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = BDCTAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INTERNAL_ERROR = 1&lt;/P&gt;&lt;P&gt;NOT_OPEN = 2&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 3&lt;/P&gt;&lt;P&gt;TCODE_INVALID = 4&lt;/P&gt;&lt;P&gt;PRINTING_INVALID = 5&lt;/P&gt;&lt;P&gt;POSTING_INVALID = 6&lt;/P&gt;&lt;P&gt;OTHERS = 7.&lt;/P&gt;&lt;P&gt;REFRESH BDCTAB&lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calling function to close the session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION &amp;#145;BDC_CLOSE_GROUP&amp;#146;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NOT_OPEN = 1&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;Endif.&lt;/P&gt;&lt;P&gt;Endif.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form GENERATE_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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 BDC Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GENERATE_DATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing information for 1st screen on BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-PROGRAM = &amp;#145;SAPMTFBA&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAX-DYNPRO = 100.&lt;/P&gt;&lt;P&gt;BDCTAP-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BCDTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing field information to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;SCUSTOM-ID&amp;#146;&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = ITAB-ID.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing BDC_OKCODE to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;BDC_OKCODE&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = &amp;#145;/5&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing screen information for next screen to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-PROGRAM = &amp;#145;SAPMTFBA&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-DYNPRO = 200.&lt;/P&gt;&lt;P&gt;BDCTAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing screen information to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;SCUSTOM-NAME&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = ITAB-NAME.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing screen information to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;SCUSTOM-CITY&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = ITAB-CITY.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing BDC_OKCODE to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;BDC_OKCODE&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = &amp;#145;SAVE&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;P&gt;ENDFORM. &amp;#147;GENERATE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AN EXAMPLE WITH CALL TRANSACTION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Same steps to be repeated for CALL TRANSACTION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only difference between the two types of interface is in Session method, you create session and store information about screen and data into session. When session is processed the data is transferred to database. While in CALL TRANSACTION, data is transferred directly to database table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT DEMO1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Follow above Code till MAIN Logic. Even the Subroutine should be copied&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT ITAB&lt;/P&gt;&lt;P&gt;PERFORM GENERATE_DATA, &amp;#147;Populating BDCDATA Table&lt;/P&gt;&lt;P&gt;Call transaction &amp;#145;TFBA&amp;#146; using BCDDATA Mode &amp;#145;A&amp;#146; Update &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;REFRESH BDCTAB&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards.&lt;/P&gt;&lt;P&gt;sowjanya.b&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Mar 2008 08:34:46 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-27T08:34:46Z</dc:date>
    <item>
      <title>bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566621#M858352</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;for example  i have 11 records in a given range and this 11 records should be updated using bdc...when iam doing that its looping 11 times but only one record is updating...only the first record is saving the other records are not...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz advise..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Mar 2008 08:20:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566621#M858352</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-27T08:20:16Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566622#M858353</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;        check out the code prob this will help  u  as this is updating multiple records in two  different transaction&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Report : BDC on Transaction BGM1 &amp;amp; Transaction ME12&lt;/P&gt;&lt;P&gt;*Transaction Code :&lt;/P&gt;&lt;P&gt;*Description : BDC report on transaction BGM1 to internally generate&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             master warrnty number and then BDC on ME12 to update&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             info record by entering generated master warranty no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             in field Vend. mat.group. The input flat file will have&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             Vendor no &amp;amp; Material No.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       types Declaration                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: begin of t_tab1 ,&lt;/P&gt;&lt;P&gt;            vendor(10),&lt;/P&gt;&lt;P&gt;            material(18),&lt;/P&gt;&lt;P&gt;            pur_org(4),&lt;/P&gt;&lt;P&gt;            wglif(18),&lt;/P&gt;&lt;P&gt;      end of t_tab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              Data Declaration                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of it_tab5 occurs 0,&lt;/P&gt;&lt;P&gt;          vendor(10),&lt;/P&gt;&lt;P&gt;          material(18),&lt;/P&gt;&lt;P&gt;         end of it_tab5.&lt;/P&gt;&lt;P&gt;**DATA : BEGIN OF IT_TAB6 OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         VENDOR(10),&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         MATERIAL(18),&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        END OF IT_TAB6.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: it_tab1 type standard table of t_tab1 with header line.&lt;/P&gt;&lt;P&gt;data: wa_tab1 type t_tab1.&lt;/P&gt;&lt;P&gt;data: wa_tab2 type t_tab1.&lt;/P&gt;&lt;P&gt;data: it_tab3 like bdcdata occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: it_tab4 like bdcdata occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: it_tab2 type table of bdcmsgcoll with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: d_file_name like ibipparms-path,&lt;/P&gt;&lt;P&gt;      d_file_name1 type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Start-of-selection                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************************************&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;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;FM for finding the flat file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'F4_FILENAME'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_NAME        = SYST-CPROG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DYNPRO_NUMBER       = SYST-DYNNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELD_NAME          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   importing&lt;/P&gt;&lt;P&gt;     file_name           = d_file_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  d_file_name1 = d_file_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******FM for uploading data from flat file into internal table&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                      = d_file_name1&lt;/P&gt;&lt;P&gt;     filetype                      = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HAS_FIELD_SEPARATOR           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_LENGTH                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  READ_BY_LINE                  = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_MODE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IGNORE_CERR                   = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REPLACEMENT                   = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CHECK_BOM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      data_tab                      = it_tab5&lt;/P&gt;&lt;P&gt; exceptions&lt;/P&gt;&lt;P&gt;   file_open_error               = 1&lt;/P&gt;&lt;P&gt;   file_read_error               = 2&lt;/P&gt;&lt;P&gt;   no_batch                      = 3&lt;/P&gt;&lt;P&gt;   gui_refuse_filetransfer       = 4&lt;/P&gt;&lt;P&gt;   invalid_type                  = 5&lt;/P&gt;&lt;P&gt;   no_authority                  = 6&lt;/P&gt;&lt;P&gt;   unknown_error                 = 7&lt;/P&gt;&lt;P&gt;   bad_data_format               = 8&lt;/P&gt;&lt;P&gt;   header_not_allowed            = 9&lt;/P&gt;&lt;P&gt;   separator_not_allowed         = 10&lt;/P&gt;&lt;P&gt;   header_too_long               = 11&lt;/P&gt;&lt;P&gt;   unknown_dp_error              = 12&lt;/P&gt;&lt;P&gt;   access_denied                 = 13&lt;/P&gt;&lt;P&gt;   dp_out_of_memory              = 14&lt;/P&gt;&lt;P&gt;   disk_full                     = 15&lt;/P&gt;&lt;P&gt;   dp_timeout                    = 16&lt;/P&gt;&lt;P&gt;   others                        = 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 End-of-selection                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_tab5 by vendor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_tab5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro using 'SAPLBG00'  0101 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_OKCODE' '/00' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro using 'SAPLBG00'  1000 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_OKCODE' '=BUCH' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_SUBSCR'&lt;/P&gt;&lt;P&gt;    'SAPLBG00                                1101KOPF_1000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'GBGMK-GAART' '2' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'GBGMK-GAERB' 'X' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_SUBSCR'&lt;/P&gt;&lt;P&gt;      'SAPLBG00                          1103TAB_SUB_1000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_CURSOR' 'GBGMP-LSTNR(01)' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'GBGMP-LSTNR(01)' it_tab5-material .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   call transaction 'BGM1' using it_tab3 mode 'A' messages into it_tab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    refresh it_tab3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;   ON CHANGE OF IT_TAB5-VENDOR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;     EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;   ENDON.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;****&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;****&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt; LOOP AT IT_TAB5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_tab1-pur_org = 'ABCP'.&lt;/P&gt;&lt;P&gt;    loop at it_tab2.&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;    perform bdc_dynpro using 'SAPMM06I'  0100 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_CURSOR' 'EINE-EKORG' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_OKCODE' '/00' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'EINA-LIFNR' it_tab5-vendor .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'EINA-MATNR' it_tab5-material .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'EINE-EKORG' wa_tab1-pur_org .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'RM06I-NORMB' 'X' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro using 'SAPMM06I'  0101 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_CURSOR' 'EINA-WGLIF' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'BDC_OKCODE' '=BU' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field using 'EINA-WGLIF' it_tab2-msgv1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call transaction 'ME12' using it_tab3 mode 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    refresh it_tab3.&lt;/P&gt;&lt;P&gt;    refresh it_tab2.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_FNAM  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_FVAL  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;form bdc_dynpro  using   program&lt;/P&gt;&lt;P&gt;                         dynpro.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear it_tab3.&lt;/P&gt;&lt;P&gt;  it_tab3-program  = program.&lt;/P&gt;&lt;P&gt;  it_tab3-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  it_tab3-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  append it_tab3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;   Insert field&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_FNAM  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_FVAL  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;form bdc_field  using    fnam&lt;/P&gt;&lt;P&gt;                         fval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear it_tab3.&lt;/P&gt;&lt;P&gt;  it_tab3-fnam = fnam.&lt;/P&gt;&lt;P&gt;  it_tab3-fval = fval.&lt;/P&gt;&lt;P&gt;  append it_tab3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else provide the code where u r getting the problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if helpful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Mar 2008 08:27:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566622#M858353</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-27T08:27:50Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566623#M858354</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check if the SAVE Code is being perfomed for each record..you may have put it outside the loop..hence it is saving only one record..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Mar 2008 08:31:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566623#M858354</guid>
      <dc:creator>former_member609120</dc:creator>
      <dc:date>2008-03-27T08:31:03Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566624#M858355</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;Try this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT DEMO1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Following internal table is to upload flat file.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;ID(10),&lt;/P&gt;&lt;P&gt;NAME(25),&lt;/P&gt;&lt;P&gt;CITY(25),&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;*Following internal table BDCDATA is to pass date from internal table to session.&lt;/P&gt;&lt;P&gt;DATA: BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: DATE1 LIKE SY-DATUM. DATE1 = SY-DATUM - 1. &amp;#147; This is for Hold Date&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To upload flat file to internal table. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION UPLOAD&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILE NAME = &amp;#145;C:\FF.TXT&amp;#146;&lt;/P&gt;&lt;P&gt;FILE TYPE = &amp;#145;ASC&amp;#148;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = ITAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;CONVERSION_ERROR = 1&lt;/P&gt;&lt;P&gt;INVALID_TABLE_WIDTH = 2&lt;/P&gt;&lt;P&gt;INVALID_TYPE = 3&lt;/P&gt;&lt;P&gt;NO_BATCH = 4&lt;/P&gt;&lt;P&gt;UNKNOWN_ERROR = 5&lt;/P&gt;&lt;P&gt;OTHERS = 6.&lt;/P&gt;&lt;P&gt;If sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calling Function to Create a Session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION &amp;#145;BDC_OPEN_GROUP&amp;#146;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CLIENT = SY-MANDT&lt;/P&gt;&lt;P&gt;GROUP = &amp;#145;POTHURI&amp;#146;&lt;/P&gt;&lt;P&gt;HOLDDATE = DATE1&lt;/P&gt;&lt;P&gt;KEEP = &amp;#145;X&amp;#146;&lt;/P&gt;&lt;P&gt;USER = SY-UNAME&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;CLIENT_INVALID = 1&lt;/P&gt;&lt;P&gt;DESTINATION_INVALID = 2&lt;/P&gt;&lt;P&gt;GROUP_INVALID = 3&lt;/P&gt;&lt;P&gt;GROUP_IS_LOCKED = 4&lt;/P&gt;&lt;P&gt;HOLDDATE_INVALID = 5&lt;/P&gt;&lt;P&gt;INTERNAL_ERROR = 6&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 7&lt;/P&gt;&lt;P&gt;RUNNING = 8&lt;/P&gt;&lt;P&gt;SYSTEM_LOCK_ERROR = 9&lt;/P&gt;&lt;P&gt;USER_INVALID = 10&lt;/P&gt;&lt;P&gt;OTHERS = 11.&lt;/P&gt;&lt;P&gt;If sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---------------------" /&gt; MAIN Logic--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;LOOP AT ITAB&lt;/P&gt;&lt;P&gt;PERFORM GENERATE_DATA. &amp;#147; Populating BDCDATA Table&lt;/P&gt;&lt;P&gt;CALL FUNCTION &amp;#145;BDC_INSERT&amp;#146;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TCODE = &amp;#145;TFBA&amp;#146;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = BDCTAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INTERNAL_ERROR = 1&lt;/P&gt;&lt;P&gt;NOT_OPEN = 2&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 3&lt;/P&gt;&lt;P&gt;TCODE_INVALID = 4&lt;/P&gt;&lt;P&gt;PRINTING_INVALID = 5&lt;/P&gt;&lt;P&gt;POSTING_INVALID = 6&lt;/P&gt;&lt;P&gt;OTHERS = 7.&lt;/P&gt;&lt;P&gt;REFRESH BDCTAB&lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calling function to close the session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION &amp;#145;BDC_CLOSE_GROUP&amp;#146;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NOT_OPEN = 1&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;Endif.&lt;/P&gt;&lt;P&gt;Endif.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form GENERATE_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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 BDC Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GENERATE_DATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing information for 1st screen on BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-PROGRAM = &amp;#145;SAPMTFBA&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAX-DYNPRO = 100.&lt;/P&gt;&lt;P&gt;BDCTAP-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BCDTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing field information to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;SCUSTOM-ID&amp;#146;&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = ITAB-ID.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing BDC_OKCODE to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;BDC_OKCODE&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = &amp;#145;/5&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing screen information for next screen to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-PROGRAM = &amp;#145;SAPMTFBA&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-DYNPRO = 200.&lt;/P&gt;&lt;P&gt;BDCTAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing screen information to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;SCUSTOM-NAME&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = ITAB-NAME.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing screen information to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;SCUSTOM-CITY&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = ITAB-CITY.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing BDC_OKCODE to BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BDCTAB-FNAM = &amp;#145;BDC_OKCODE&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = &amp;#145;SAVE&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.CLEAR BDCTAB.&lt;/P&gt;&lt;P&gt;ENDFORM. &amp;#147;GENERATE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AN EXAMPLE WITH CALL TRANSACTION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Same steps to be repeated for CALL TRANSACTION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only difference between the two types of interface is in Session method, you create session and store information about screen and data into session. When session is processed the data is transferred to database. While in CALL TRANSACTION, data is transferred directly to database table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT DEMO1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Follow above Code till MAIN Logic. Even the Subroutine should be copied&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT ITAB&lt;/P&gt;&lt;P&gt;PERFORM GENERATE_DATA, &amp;#147;Populating BDCDATA Table&lt;/P&gt;&lt;P&gt;Call transaction &amp;#145;TFBA&amp;#146; using BCDDATA Mode &amp;#145;A&amp;#146; Update &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;REFRESH BDCTAB&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards.&lt;/P&gt;&lt;P&gt;sowjanya.b&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Mar 2008 08:34:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566624#M858355</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-27T08:34:46Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566625#M858356</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hiya... this is my code :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EPORT ztestbdc NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                        MESSAGE-ID zsd&lt;/P&gt;&lt;P&gt;                        LINE-SIZE 132 LINE-COUNT 60.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATABASE TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;tables : kna1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;types : BEGIN OF lt_itab ,&lt;/P&gt;&lt;P&gt;       kunnr LIKE kna1-kunnr,&lt;/P&gt;&lt;P&gt;       zzdiscountam LIKE kna1-zzdiscountam,&lt;/P&gt;&lt;P&gt;       zzdiscountva LIKE kna1-zzdiscountva,&lt;/P&gt;&lt;P&gt;       zzlastdddate LIKE kna1-zzlastdddate,&lt;/P&gt;&lt;P&gt;       END OF lt_itab.&lt;/P&gt;&lt;P&gt;DATA: it_itab TYPE STANDARD TABLE OF lt_itab INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  wa_itab TYPE lt_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gv_bdcmode TYPE c VALUE 'A',&lt;/P&gt;&lt;P&gt;     lv_save TYPE c,&lt;/P&gt;&lt;P&gt;     gv_exit TYPE c,&lt;/P&gt;&lt;P&gt;      lv_from(10) TYPE c,&lt;/P&gt;&lt;P&gt;       lv_to(10) TYPE c,&lt;/P&gt;&lt;P&gt;      gt_errors TYPE TABLE OF solisti1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: c_system_msgtyp LIKE bdcmsgcoll-msgtyp VALUE 'S',&lt;/P&gt;&lt;P&gt;            c_discountsave_msgid LIKE bdcmsgcoll-msgid VALUE 'VK',&lt;/P&gt;&lt;P&gt;            c_discountsave_msgnr LIKE bdcmsgcoll-msgnr VALUE '023'.&lt;/P&gt;&lt;P&gt;TYPE-POOLS busei.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: gs_ci_include   TYPE ci_cust,&lt;/P&gt;&lt;P&gt;      gs_ci_include_x TYPE ci_cust_x,&lt;/P&gt;&lt;P&gt;      gs_salesarea    TYPE busei_ccom_salesarea,&lt;/P&gt;&lt;P&gt;      gt_addresses    TYPE zbus_ei_bupa_address_t,&lt;/P&gt;&lt;P&gt;      gs_kna1         TYPE kna1,&lt;/P&gt;&lt;P&gt;      gs_zcrmtab_client TYPE zcrmtab_client,&lt;/P&gt;&lt;P&gt;      gv_ship_to_address TYPE bss_adr,&lt;/P&gt;&lt;P&gt;      gt_addons TYPE TABLE OF zbut0000000000 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      gt_addons_new TYPE TABLE OF zbut0000000000 WITH HEADER LINE.&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;&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;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WORKING VARIABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: stored_client_name LIKE kna1-name1.&lt;/P&gt;&lt;P&gt;DATA: stored_date_heading(10).&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PARAMETERS / SELECT OPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : s_kunnr FOR kna1-kunnr.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;INITIALIZATION.&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;*&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&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;*&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&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;  SELECT   kunnr&lt;/P&gt;&lt;P&gt;           zzdiscountam&lt;/P&gt;&lt;P&gt;           zzdiscountva&lt;/P&gt;&lt;P&gt;           zzlastdddate&lt;/P&gt;&lt;P&gt;           FROM kna1&lt;/P&gt;&lt;P&gt;    INTO CORRESPONDING FIELDS OF TABLE it_itab&lt;/P&gt;&lt;P&gt;    WHERE kunnr IN s_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE vkorg vtweg spart&lt;/P&gt;&lt;P&gt;  INTO (gs_salesarea-salesarea-sales_org,&lt;/P&gt;&lt;P&gt;        gs_salesarea-salesarea-channel,&lt;/P&gt;&lt;P&gt;        gs_salesarea-salesarea-division)&lt;/P&gt;&lt;P&gt;  FROM knvv&lt;/P&gt;&lt;P&gt;  WHERE kunnr IN s_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata. REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;  CLEAR messtab. REFRESH messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING 'SAPMV13A' '0100' 'X' ' ' ' '.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING ' ' ' ' ' ' 'RV13A-KSCHL' 'K007'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING ' ' ' ' ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING 'RV13A307' '1000' 'X' ' ' ' '.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING ' ' ' ' ' ' 'F001'&lt;/P&gt;&lt;P&gt;                         gs_salesarea-salesarea-sales_org.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING ' ' ' ' ' ' 'F002'&lt;/P&gt;&lt;P&gt;                         gs_salesarea-salesarea-channel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING ' ' ' ' ' ' 'F003-LOW' s_kunnr-low.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING ' ' ' ' ' '&lt;/P&gt;&lt;P&gt;'F003-HIGH' s_kunnr-high.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_load USING ' ' ' ' ' ' 'BDC_OKCODE' '=HIZ1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_itab into wa_itab.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_load USING 'SAPMV13A' '1307' 'X' ' ' ' '.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_load USING ' ' ' ' ' ' 'KOMG-KUNNR(01)' wa_itab-kunnr.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_load USING ' ' ' ' ' ' 'KONP-KBETR(01)'&lt;/P&gt;&lt;P&gt;                                                   wa_itab-zzdiscountam.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_load USING ' ' ' ' ' ' 'RV13A-DATAB(01)' lv_from.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_load USING ' ' ' ' ' ' 'RV13A-DATBI(01)' lv_to.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_load USING ' ' ' ' ' ' 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'VK12' USING bdcdata&lt;/P&gt;&lt;P&gt;                 MODE gv_bdcmode&lt;/P&gt;&lt;P&gt;                 UPDATE 'N'&lt;/P&gt;&lt;P&gt;                 MESSAGES INTO messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT messtab.&lt;/P&gt;&lt;P&gt;    IF messtab-msgtyp = c_system_msgtyp&lt;/P&gt;&lt;P&gt;    AND messtab-msgid = c_discountsave_msgid&lt;/P&gt;&lt;P&gt;    AND messtab-msgnr = c_discountsave_msgnr.&lt;/P&gt;&lt;P&gt;      lv_save = 'X'.&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;  IF lv_save IS INITIAL.&lt;/P&gt;&lt;P&gt;    gv_exit = 'X'.&lt;/P&gt;&lt;P&gt;    gt_errors-line = 'Failed to insert/update discount'.&lt;/P&gt;&lt;P&gt;    LOOP AT messtab.&lt;/P&gt;&lt;P&gt;      PERFORM message_capture USING messtab-msgid&lt;/P&gt;&lt;P&gt;                                 messtab-msgnr&lt;/P&gt;&lt;P&gt;                                 messtab-msgv1&lt;/P&gt;&lt;P&gt;                                 messtab-msgv2&lt;/P&gt;&lt;P&gt;                                 messtab-msgv3&lt;/P&gt;&lt;P&gt;                                 messtab-msgv4&lt;/P&gt;&lt;P&gt;                           CHANGING gt_errors-line.&lt;/P&gt;&lt;P&gt;      APPEND gt_errors.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    EXIT.&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;plz advise...(at the moment its doing only for one record and looping 11 times for the same record)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Mar 2008 09:11:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3566625#M858356</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-27T09:11:37Z</dc:date>
    </item>
  </channel>
</rss>

