<?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 Error handling technique in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998506#M406577</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;u can use bdc session if there is huge amount of data. u can capture the errors in the log explicitly....u can use call transaction for small amounts of data...also error records can be found using fm fomat_message..which displays the erorrs...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;session quicker in the sense ..explicitly the log is created automatically for u...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the following link is self-explanatory and gives u a clear picture..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/" target="test_blank"&gt;http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps u a bit,&lt;/P&gt;&lt;P&gt;all the best,&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;sampath&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;mark helpful answers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        sampath pilla&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 12 Mar 2007 12:47:36 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-03-12T12:47:36Z</dc:date>
    <item>
      <title>BDC Error handling technique</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998504#M406575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Guys&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got an input like the following...can you please explain this----&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(((A good practice is to use call transaction but use BDC session for when there is an error in the record.&lt;/P&gt;&lt;P&gt;i.e call transaction..&lt;/P&gt;&lt;P&gt;if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;perform form_bdc_session.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;This method is quicker, you can capture errors and deal with them in a BDC session later.)))&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the records are erronious..then why to take them to a BDC session..?!!!! Any ways ..when sy-subrc &amp;lt;&amp;gt; 0 we will display them on to the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please explain.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Mar 2007 12:42:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998504#M406575</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-12T12:42:00Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Error handling technique</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998505#M406576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;When the Call Transaction for BDC fails better to call sessions method, so that the log will be clearly displayed in that using SM35 t code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See the sample code for BDC:&lt;/P&gt;&lt;P&gt;REPORT ZMMBDC1_1 NO STANDARD PAGE HEADING MESSAGE-ID ZT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal table for selecting data from flat file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_DATA OCCURS 0,&lt;/P&gt;&lt;P&gt;         MBRSH,                    " Industry sector&lt;/P&gt;&lt;P&gt;         MTART(4),                 " Material type&lt;/P&gt;&lt;P&gt;         KZSEL,                    " Checkbox&lt;/P&gt;&lt;P&gt;         MAKTX(40),                " Material description&lt;/P&gt;&lt;P&gt;         MEINS(3),                 " Base unit of measure&lt;/P&gt;&lt;P&gt;         MATKL(9),                 " Material group&lt;/P&gt;&lt;P&gt;         BISMT(18),                " Old material number&lt;/P&gt;&lt;P&gt;       END OF IT_DATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal table for bdcdata&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal table to handle messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : IT_MESSAGES LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Variables &amp;amp;  Flag declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;variables declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : V_MESG(50).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;flag declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : FG_BDC,&lt;/P&gt;&lt;P&gt;       FG_FLAG1 TYPE I.&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;SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameter&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;PARAMETERS : P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK1.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;initialization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;peform to initialize parameter&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM INIT_PARM.&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;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform to upload it_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM UP_LOAD_IT_DATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform transfer data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM TRANSFER_DATA.&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;END-OF-SELECTION.&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  INIT_PARM&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; Initializing parameter&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 INIT_PARM.&lt;/P&gt;&lt;P&gt; P_FILE = 'C:\'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INIT_PARM&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  UP_LOAD_IT_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; Transfering data from file to 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 UP_LOAD_IT_DATA.&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                = 'ASC'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DATA_TAB                = IT_DATA&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            CONVERSION_ERROR        = 1&lt;/P&gt;&lt;P&gt;            FILE_OPEN_ERROR         = 2&lt;/P&gt;&lt;P&gt;            FILE_READ_ERROR         = 3&lt;/P&gt;&lt;P&gt;            INVALID_TABLE_WIDTH     = 4&lt;/P&gt;&lt;P&gt;            INVALID_TYPE            = 5&lt;/P&gt;&lt;P&gt;            NO_BATCH                = 6&lt;/P&gt;&lt;P&gt;            UNKNOWN_ERROR           = 7&lt;/P&gt;&lt;P&gt;            GUI_REFUSE_FILETRANSFER = 8&lt;/P&gt;&lt;P&gt;            OTHERS                  = 9.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 2 .&lt;/P&gt;&lt;P&gt;       FG_FLAG1 = 1.&lt;/P&gt;&lt;P&gt;       MESSAGE I001.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UP_LOAD_IT_DATA&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  TRANSFER_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;   Processing the 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;FORM TRANSFER_DATA.&lt;/P&gt;&lt;P&gt; FG_BDC = 'N'.&lt;/P&gt;&lt;P&gt; LOOP AT IT_DATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform to fill it_bdcdata.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM FILL_IT_BDCDATA.&lt;/P&gt;&lt;P&gt; CALL TRANSACTION 'MM01' USING IT_BDCDATA MODE 'N' UPDATE 'S'&lt;/P&gt;&lt;P&gt;                                   MESSAGES INTO IT_MESSAGES.&lt;/P&gt;&lt;P&gt;   IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;     FG_FLAG1 = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if error occurs in transaction mode run bdc session for that data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     PERFORM BDC_PROCESS.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Handles error messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM ERROR_MESSAGES.&lt;/P&gt;&lt;P&gt;     CLEAR : IT_BDCDATA,IT_DATA,IT_MESSAGES.&lt;/P&gt;&lt;P&gt;     REFRESH : IT_BDCDATA,IT_MESSAGES.&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt; IF FG_FLAG1 = 0.&lt;/P&gt;&lt;P&gt;   MESSAGE I003.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt; IF FG_BDC = 'O'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;close bdc if it is open&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   PERFORM CLOSE_BDC.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TRANSFER_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;P&gt;*&amp;amp;      Form  FILL_IT_BDCDATA&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; Filling Bdcdata structure with it_data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Some fields have been commented for future updations&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 FILL_IT_BDCDATA.&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO USING : 'SAPLMGMM' '0060'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD  USING : 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;                         : 'BDC_CURSOR' 'RMMG1_REF-MATNR',&lt;/P&gt;&lt;P&gt;                         : 'RMMG1-MBRSH' IT_DATA-MBRSH,&lt;/P&gt;&lt;P&gt;                         : 'RMMG1-MTART' IT_DATA-MTART.&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO USING : 'SAPLMGMM' '0070'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD  USING : 'BDC_OKCODE' '=RESA'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO USING : 'SAPLMGMM' '0070'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD  USING : 'BDC_OKCODE' '=ENTR',&lt;/P&gt;&lt;P&gt;                         : 'MSICHTAUSW-KZSEL(01)' IT_DATA-KZSEL.&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO USING : 'SAPLMGMM' '4000'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD  USING : 'BDC_OKCODE' '=BU',&lt;/P&gt;&lt;P&gt;                         : 'BDC_SUBSCR' 'SAPLMGMM' &amp;amp; '  2000TABFRA1',&lt;/P&gt;&lt;P&gt;                         : 'BDC_SUBSCR' 'SAPLMGD1' &amp;amp; '  1002SUB1',&lt;/P&gt;&lt;P&gt;                         : 'BDC_CURSOR' 'MAKT-MAKTX',&lt;/P&gt;&lt;P&gt;                         : 'MAKT-MAKTX' IT_DATA-MAKTX,&lt;/P&gt;&lt;P&gt;                         : 'BDC_SUBSCR' 'SAPLMGD1' &amp;amp; '  2001SUB2',&lt;/P&gt;&lt;P&gt;                         : 'MARA-MEINS' IT_DATA-MEINS,&lt;/P&gt;&lt;P&gt;                         : 'MARA-MATKL' IT_DATA-MATKL,&lt;/P&gt;&lt;P&gt;                         : 'MARA-BISMT' IT_DATA-BISMT,&lt;/P&gt;&lt;P&gt;                         : 'BDC_OKCODE' '=BU'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-EXTWG'  ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-LABOR' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-KOSCH' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-MSTAE' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-MSTDE' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'BDC_SUBSCR' 'SAPLMGD1' &amp;amp; '  2561SUB3'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-BEGRU' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'BDC_SUBSCR' 'SAPLMGD1' &amp;amp; '  2007SUB4'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-NTGEW' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-BRGEW' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-GEWEI' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-VOLUM' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-VOLEH' ''.&lt;/P&gt;&lt;P&gt;*PERFORM BDC_FIELD       USING 'MARA-GROES' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-EAN11' ''.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-NUMTP' ''.&lt;/P&gt;&lt;P&gt;*PERFORM BDC_FIELD       USING 'BDC_SUBSCR' 'SAPLMGD1' &amp;amp; '  2005SUB5'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'BDC_SUBSCR' 'SAPLMGD1' &amp;amp; '  2011SUB6'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'MARA-MAGRV' ''.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILL_IT_BDCDATA&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;Filling the it_bdcdata table with program name &amp;amp; screen number&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 LIKE BDCDATA-PROGRAM&lt;/P&gt;&lt;P&gt;                         DYNPRO LIKE BDCDATA-DYNPRO.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-PROGRAM = PROGRAM.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNPRO = DYNPRO.&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;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_DYNPRO&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;  Filling it_bdcdata with field name and field value&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 LIKE BDCDATA-FNAM&lt;/P&gt;&lt;P&gt;                     FVAL.&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;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;P&gt;*&amp;amp;      Form  ERROR_MESSAGES&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; Displaying error 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 ERROR_MESSAGES.&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      = '-D'&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;             MSG       = V_MESG&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;  LOOP AT IT_MESSAGES WHERE MSGTYP = 'E'.&lt;/P&gt;&lt;P&gt;    WRITE : / 'Message :'(I06) ,V_MESG.&lt;/P&gt;&lt;P&gt;    CLEAR IT_MESSAGES.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERROR_MESSAGES&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_PROCESS&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;Open bdc session if call transaction fails&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_PROCESS.&lt;/P&gt;&lt;P&gt;  IF FG_BDC = 'N'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; open bdc session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   PERFORM OPEN_BDC.&lt;/P&gt;&lt;P&gt;   FG_BDC = 'O'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF FG_BDC = 'O'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;insert data into bdc session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM INSERT_BDC.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_PROCESS&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  OPEN_BDC&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;  Calling function module to open bdc 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 OPEN_BDC.&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               = 'SMM1'&lt;/P&gt;&lt;P&gt;      KEEP                = 'X'&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " OPEN_BDC&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  INSERT_BDC&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 it_bdcdata into bdc by calling function module bdc_insert&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 INSERT_BDC.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TCODE            = 'MM01'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DYNPROTAB        =  IT_BDCDATA&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;ENDFORM.                    " INSERT_BDC&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  CLOSE_BDC&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; Closing bdc 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 CLOSE_BDC.&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;ENDFORM.                    " CLOSE_BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Anji Reddy Vangala&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Mar 2007 12:45:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998505#M406576</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-12T12:45:14Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Error handling technique</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998506#M406577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;u can use bdc session if there is huge amount of data. u can capture the errors in the log explicitly....u can use call transaction for small amounts of data...also error records can be found using fm fomat_message..which displays the erorrs...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;session quicker in the sense ..explicitly the log is created automatically for u...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the following link is self-explanatory and gives u a clear picture..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/" target="test_blank"&gt;http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps u a bit,&lt;/P&gt;&lt;P&gt;all the best,&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;sampath&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;mark helpful answers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        sampath pilla&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Mar 2007 12:47:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998506#M406577</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-12T12:47:36Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Error handling technique</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998507#M406578</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;by collecting erroneous records in a BDC session , we can modify the erroneous records present in session and reexecute the error records&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Mar 2007 12:49:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-error-handling-technique/m-p/1998507#M406578</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-12T12:49:08Z</dc:date>
    </item>
  </channel>
</rss>

