<?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: handling errors in bdc in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328510#M797261</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check these threads for sample program..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="519827"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="397899"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 26 Jan 2008 20:33:17 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-26T20:33:17Z</dc:date>
    <item>
      <title>handling errors in bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328508#M797259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;How to handle errors in bdc call transaction method.&lt;/P&gt;&lt;P&gt;what is the steps to download errors from bdcmsgcoll into flat file  in call transaction method &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uday&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 Jan 2008 12:06:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328508#M797259</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-26T12:06:24Z</dc:date>
    </item>
    <item>
      <title>Re: handling errors in bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328509#M797260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi friend,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  Here is a beautiful example which explains how to trap erroreneous records ..if help full then please give me max reward point.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;REPORT  zgopi_report&lt;/P&gt;&lt;P&gt; NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                        LINE-SIZE 255&lt;/P&gt;&lt;P&gt;                        MESSAGE-ID ZRASH.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                Internal Table Declarations                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*--Internal Table for Data Uploading.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_FFCUST OCCURS 0, &lt;/P&gt;&lt;P&gt;         KUNNR(10),&lt;/P&gt;&lt;P&gt;         BUKRS(4),&lt;/P&gt;&lt;P&gt;         KTOKD(4),&lt;/P&gt;&lt;P&gt;         ANRED(15),&lt;/P&gt;&lt;P&gt;         NAME1(35),&lt;/P&gt;&lt;P&gt;         SORTL(10),&lt;/P&gt;&lt;P&gt;         STRAS(35),&lt;/P&gt;&lt;P&gt;         ORT01(35),&lt;/P&gt;&lt;P&gt;         PSTLZ(10),&lt;/P&gt;&lt;P&gt;         LAND1(3), &lt;/P&gt;&lt;P&gt;         SPRAS(2),&lt;/P&gt;&lt;P&gt;         AKONT(10),&lt;/P&gt;&lt;P&gt;       END OF IT_FFCUST.&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_ERRCUST OCCURS 0,&lt;/P&gt;&lt;P&gt;         KUNNR(10),&lt;/P&gt;&lt;P&gt;         EMSG(255),&lt;/P&gt;&lt;P&gt;       END OF IT_ERRCUST. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Internal Table to Store Successful Records.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_SUCCUST OCCURS 0,&lt;/P&gt;&lt;P&gt;         KUNNR(10),&lt;/P&gt;&lt;P&gt;         SMSG(255),&lt;/P&gt;&lt;P&gt;       END OF IT_SUCCUST.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Internal Table for Storing the BDC data. &lt;/P&gt;&lt;P&gt;DATA : IT_CUSTBDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Internal Table for storing the messages.&lt;/P&gt;&lt;P&gt;DATA : IT_CUSTMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : V_FLAG1(1) VALUE ' ', &lt;/P&gt;&lt;P&gt;"Flag used for opening session.&lt;/P&gt;&lt;P&gt;       V_TLINES LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;       "For storing total records processed.&lt;/P&gt;&lt;P&gt;       V_ELINES LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;       "For storing the no of error records.&lt;/P&gt;&lt;P&gt;       V_SLINES LIKE SY-TABIX. &lt;/P&gt;&lt;P&gt;       "For storing the no of success records.&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;         Selection screen                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1.&lt;/P&gt;&lt;P&gt;PARAMETERS : V_FNAME LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;             V_SESNAM  LIKE RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1. &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;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*-- Form to upload flatfile data into the internal table.&lt;/P&gt;&lt;P&gt;  PERFORM FORM_UPLOADFF.&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;       TOP-OF-PAGE                                                   * &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Details of the error and success records for the transaction'&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  SKIP.&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;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&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;*-- Form to Generate a BDC from the Uploaded Internal table &lt;/P&gt;&lt;P&gt;  PERFORM FORM_BDCGENERATE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--To write the totals and the session name.&lt;/P&gt;&lt;P&gt;  PERFORM FORM_WRITEOP.&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  form_uploadff &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;    Form to upload flatfile data into the internal 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;P&gt;FORM FORM_UPLOADFF .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Variable to change the type of the parameter file name.&lt;/P&gt;&lt;P&gt;  DATA : LV_FILE TYPE STRING.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LV_FILE = V_FNAME.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Function to upload the flat file to the internal table.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD' &lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME                      =  LV_FILE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILETYPE                      = 'ASC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      HAS_FIELD_SEPARATOR           = 'X'&lt;/P&gt;&lt;UL&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;  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_FFCUST &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 = 0.&lt;/P&gt;&lt;P&gt;*--Deleting the headings from the internal table.&lt;/P&gt;&lt;P&gt;    DELETE IT_FFCUST INDEX 1.&lt;/P&gt;&lt;P&gt;*--Getting the total number of records uploaded.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE IT_FFCUST LINES V_TLINES.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " form_uploadff&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  Form_bdcgenerate &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;    Form to Generate a BDC from the Uploaded Internal 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;P&gt;FORM FORM_BDCGENERATE .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Generating the BDC table for the fields of the internal table.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_FFCUST.&lt;/P&gt;&lt;P&gt;    PERFORM POPULATEBDC USING :&lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0105', &lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '/00' ,&lt;/P&gt;&lt;P&gt;                                ' ' 'RF02D-KUNNR' IT_FFCUST-KUNNR,&lt;/P&gt;&lt;P&gt;                                ' ' 'RF02D-BUKRS' IT_FFCUST-BUKRS, &lt;/P&gt;&lt;P&gt;                                ' ' 'RF02D-KTOKD' IT_FFCUST-KTOKD,&lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0110' ,&lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '/00', &lt;/P&gt;&lt;P&gt;                                ' ' 'KNA1-ANRED'  IT_FFCUST-ANRED,&lt;/P&gt;&lt;P&gt;                                ' ' 'KNA1-NAME1' IT_FFCUST-NAME1,&lt;/P&gt;&lt;P&gt;                                ' ' 'KNA1-SORTL'  IT_FFCUST-SORTL, &lt;/P&gt;&lt;P&gt;                                ' ' 'KNA1-STRAS' IT_FFCUST-STRAS,&lt;/P&gt;&lt;P&gt;                                ' ' 'KNA1-ORT01' IT_FFCUST-ORT01,&lt;/P&gt;&lt;P&gt;                                ' ' 'KNA1-PSTLZ' IT_FFCUST-PSTLZ, &lt;/P&gt;&lt;P&gt;                                ' ' 'KNA1-LAND1' IT_FFCUST-LAND1,&lt;/P&gt;&lt;P&gt;                                ' ' 'KNA1-SPRAS' IT_FFCUST-SPRAS,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMFO2D' '0120',  &lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '/00',&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0125', &lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '/00', &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0130', &lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '=ENTR',&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0340',  &lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '=ENTR',&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0360',&lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '=ENTR', &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0210', &lt;/P&gt;&lt;P&gt;                                ' ' 'KNB1-AKONT'  IT_FFCUST-AKONT,&lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '/00', &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0215',&lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '/00',&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0220',  &lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '/00',&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                'X' 'SAPMF02D' '0230', &lt;/P&gt;&lt;P&gt;                                ' ' 'BDC_OKCODE'  '=UPDA'. &lt;/P&gt;&lt;P&gt;*--Calling the transaction 'fd01'.&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'FD01' USING IT_CUSTBDC MODE 'N' UPDATE 'S'&lt;/P&gt;&lt;P&gt;    MESSAGES INTO IT_CUSTMSG.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*--Populating the error records internal table. &lt;/P&gt;&lt;P&gt;      IT_ERRCUST-KUNNR = IT_FFCUST-KUNNR.&lt;/P&gt;&lt;P&gt;      APPEND IT_ERRCUST.&lt;/P&gt;&lt;P&gt;      CLEAR IT_ERRCUST.&lt;/P&gt;&lt;P&gt;*--Opening a session if there is an error record.&lt;/P&gt;&lt;P&gt;      IF V_FLAG1 = ' '.&lt;/P&gt;&lt;P&gt;        PERFORM FORM_OPENSESSION. &lt;/P&gt;&lt;P&gt;        V_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*--Inserting the error records into already open session.&lt;/P&gt;&lt;P&gt;      IF V_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;        PERFORM FORM_INSERT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*--Populating the Success records internal table. &lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IT_SUCCUST-KUNNR = IT_FFCUST-KUNNR.&lt;/P&gt;&lt;P&gt;      APPEND IT_SUCCUST.&lt;/P&gt;&lt;P&gt;      CLEAR IT_SUCCUST.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*--Displaying the messages.&lt;/P&gt;&lt;P&gt;    IF NOT IT_CUSTMSG[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM FORM_FORMATMSG. &lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*--Clearing the message and bdc tables.&lt;/P&gt;&lt;P&gt;    CLEAR : IT_CUSTBDC[],IT_CUSTMSG[].&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Getting the total no of error records.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_ERRCUST LINES V_ELINES.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Getting the total no of successful records. &lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_SUCCUST LINES V_SLINES.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Closing the session only if it is open.&lt;/P&gt;&lt;P&gt;  IF V_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM FORM_CLOSESESS.&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;ENDFORM.                    " Form_bdcgenerate &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  populatebdc&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;      FOrm to Populate the 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;P&gt;FORM POPULATEBDC  USING    VALUE(P_0178)&lt;/P&gt;&lt;P&gt;                           VALUE(P_0179)&lt;/P&gt;&lt;P&gt;                           VALUE(P_0180).&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  IF P_0178 = 'X'. &lt;/P&gt;&lt;P&gt;    IT_CUSTBDC-PROGRAM = P_0179.&lt;/P&gt;&lt;P&gt;    IT_CUSTBDC-DYNPRO = P_0180.&lt;/P&gt;&lt;P&gt;    IT_CUSTBDC-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IT_CUSTBDC-FNAM = P_0179.&lt;/P&gt;&lt;P&gt;    IT_CUSTBDC-FVAL = P_0180.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND IT_CUSTBDC. &lt;/P&gt;&lt;P&gt;  CLEAR IT_CUSTBDC.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " populatebdc&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  FORM_OPENSESSION&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;      Form to Open a 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;FORM FORM_OPENSESSION .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Variable to convert the given session name into reqd type.&lt;/P&gt;&lt;P&gt;  DATA : LV_SESNAM(12). &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LV_SESNAM = V_SESNAM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Opening a session.&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                     = LV_SESNAM&lt;/P&gt;&lt;P&gt;     HOLDDATE                  = '20040805' &lt;/P&gt;&lt;P&gt;     KEEP                      = 'X'&lt;/P&gt;&lt;P&gt;     USER                      = SY-UNAME&lt;/P&gt;&lt;P&gt;     PROG                      = SY-CPROG&lt;/P&gt;&lt;UL&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;   QID                       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Session not open'. &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;ENDFORM.                    " FORM_OPENSESSION&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  FORM_INSERT&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;      fORM TO INSERT ERROR RECOED INTO A 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;FORM FORM_INSERT .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Inserting the record into session.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_INSERT' &lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TCODE                  = 'FD01'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    POST_LOCAL             = NOVBLOCAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PRINTING               = NOPRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    SIMUBATCH              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CTUPARAMS              = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DYNPROTAB              = IT_CUSTBDC&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;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Unable to insert the record'.&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;ENDFORM.                    " FORM_INSERT&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  FORM_CLOSESESS&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;      Form to Close the Open 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;FORM FORM_CLOSESESS .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_CLOSE_GROUP'&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;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&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;ENDFORM.                    " FORM_CLOSESESS&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  FORM_FORMATMSG&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;      Form to format messages.&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 FORM_FORMATMSG .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--Var to store the formatted msg.&lt;/P&gt;&lt;P&gt;  DATA : LV_MSG(255).&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      ID        = SY-MSGID&lt;/P&gt;&lt;P&gt;      LANG      = SY-LANGU &lt;/P&gt;&lt;P&gt;      NO        = SY-MSGNO&lt;/P&gt;&lt;P&gt;      V1        = SY-MSGV1&lt;/P&gt;&lt;P&gt;      V2        = SY-MSGV2&lt;/P&gt;&lt;P&gt;      V3        = SY-MSGV3&lt;/P&gt;&lt;P&gt;      V4        = SY-MSGV4&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      MSG       = LV_MSG&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NOT_FOUND = 1 &lt;/P&gt;&lt;P&gt;      OTHERS    = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; LV_MSG.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " FORM_FORMATMSG&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  form_writeop&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;      To write the totals and the session name.&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 FORM_WRITEOP .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Total Records Uploaded :',V_TLINES,&lt;/P&gt;&lt;P&gt;           / 'No of Error Records :',V_ELINES,&lt;/P&gt;&lt;P&gt;           / 'No of Success Records :',V_SLINES,&lt;/P&gt;&lt;P&gt;           / 'Name of the Session :',V_SESNAM. &lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " form_writeop&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 Jan 2008 18:16:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328509#M797260</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-26T18:16:33Z</dc:date>
    </item>
    <item>
      <title>Re: handling errors in bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328510#M797261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check these threads for sample program..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="519827"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="397899"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 Jan 2008 20:33:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328510#M797261</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-26T20:33:17Z</dc:date>
    </item>
    <item>
      <title>Re: handling errors in bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328511#M797262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi kiran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Usually if there are any errors in CALL TRANSACTION  we send those records to SESSION METHOD by using below logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;eg:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'XK01' USING&lt;/P&gt;&lt;P&gt;                      t_bdcdata MODE 'N' .&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;&lt;/P&gt;&lt;P&gt;      PERFORM session_bdc.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;IF s_flag = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This is subroutine .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM session_bdc .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_flag = ' '.&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    = 'vcentric'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       holddate = filler8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        keep     = 'X'&lt;/P&gt;&lt;P&gt;        user     = sy-uname&lt;/P&gt;&lt;P&gt;        prog     = sy-cprog.&lt;/P&gt;&lt;P&gt;    s_flag = 'X'.&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;  CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      tcode     = 'XK01'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      dynprotab = t_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SESSION_BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;or we can send the error records on into an flat file by using the below logic.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'XK01' USING&lt;/P&gt;&lt;P&gt;             T_BDCDATA MODE 'N' MESSAGES INTO T_BDCMSG.&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;     APPEND W_UPLOAD TO T_ERROR.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR W_BDCMSG.&lt;/P&gt;&lt;P&gt;    READ TABLE T_BDCMSG INTO W_BDCMSG INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR L_MSG.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        ID        = W_BDCMSG-MSGID&lt;/P&gt;&lt;P&gt;        LANG      = SY-LANGU&lt;/P&gt;&lt;P&gt;        NO        = W_BDCMSG-MSGNR&lt;/P&gt;&lt;P&gt;        V1        = W_BDCMSG-MSGV1&lt;/P&gt;&lt;P&gt;        V2        = W_BDCMSG-MSGV2&lt;/P&gt;&lt;P&gt;        V3        = W_BDCMSG-MSGV3&lt;/P&gt;&lt;P&gt;        V4        = W_BDCMSG-MSGV4&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        MSG       = L_MSG&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;        OTHERS    = 2.&lt;/P&gt;&lt;P&gt;    .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ W_UPLOAD-NAME1, '----', L_MSG.&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;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;this is subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ERROR_RECORDS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    FILENAME                        = 'C:/ERROR.TXT'&lt;/P&gt;&lt;P&gt;    FILETYPE                        = 'ASC'&lt;/P&gt;&lt;P&gt;    WRITE_FIELD_SEPARATOR           = 'X'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                        = T_ERROR.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERROR_RECORDS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reward is useful.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards &lt;/P&gt;&lt;P&gt;shashikanth naram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 27 Jan 2008 04:27:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/handling-errors-in-bdc/m-p/3328511#M797262</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-27T04:27:00Z</dc:date>
    </item>
  </channel>
</rss>

