<?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: in BDC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529029#M573271</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;See the BDc sample code how the errors are handled using the FORMAT_MESSAGE function module&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz go through the below mention link .there is an example for call transaction method error handling.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapbrainsonline.com/PROJECTS/TECHNICAL/ABAP%20Source%20codes/Batch%20Input%20with%20Call%20Transaction.html" target="test_blank"&gt;http://www.sapbrainsonline.com/PROJECTS/TECHNICAL/ABAP%20Source%20codes/Batch%20Input%20with%20Call%20Transaction.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpful answers..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Omkar.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Jul 2007 06:14:59 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-19T06:14:59Z</dc:date>
    <item>
      <title>in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529025#M573267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;In BDC when using call transaction method , to know whether the data is succesfully uploaded or not, we will return sy-subrc value. if it is not equal to zero. how to get the error records.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:09:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529025#M573267</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:09:07Z</dc:date>
    </item>
    <item>
      <title>Re: in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529026#M573268</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Check out this,&lt;/P&gt;&lt;P&gt;Collect data into MESSTAB and write it&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;  REFRESH MESSTAB.&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION TCODE USING BDCDATA&lt;/P&gt;&lt;P&gt;                     MODE   CTUMODE&lt;/P&gt;&lt;P&gt;                     UPDATE CUPDATE&lt;/P&gt;&lt;P&gt;                     MESSAGES INTO MESSTAB.&lt;/P&gt;&lt;P&gt;    L_SUBRC = SY-SUBRC.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'CALL_TRANSACTION',&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               L_SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;      LOOP AT MESSTAB.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA&lt;/P&gt;&lt;P&gt;                                  AND   ARBGB = MESSTAB-MSGID&lt;/P&gt;&lt;P&gt;                                  AND   MSGNR = MESSTAB-MSGNR.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          L_MSTRING = T100-TEXT.&lt;/P&gt;&lt;P&gt;          IF L_MSTRING CS '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;1' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;2' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;3' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;4' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CONDENSE L_MSTRING.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if useful!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:10:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529026#M573268</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:10:59Z</dc:date>
    </item>
    <item>
      <title>Re: in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529027#M573269</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;Declare an internal table for error records say it_error.&lt;/P&gt;&lt;P&gt;then&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
if sy-subrc ne 0.
  move itab to it_error.
  append it_error.
endif.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After the loop download this error internal table using gui_download.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful,&lt;/P&gt;&lt;P&gt;Aleem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:13:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529027#M573269</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:13:23Z</dc:date>
    </item>
    <item>
      <title>Re: in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529028#M573270</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;Use " MESSAGES INTO MESSTAB" extension of the call transaction keyword and collect all the messages. Loop at this table and display the messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Shruthi R&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:13:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529028#M573270</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:13:54Z</dc:date>
    </item>
    <item>
      <title>Re: in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529029#M573271</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;See the BDc sample code how the errors are handled using the FORMAT_MESSAGE function module&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz go through the below mention link .there is an example for call transaction method error handling.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapbrainsonline.com/PROJECTS/TECHNICAL/ABAP%20Source%20codes/Batch%20Input%20with%20Call%20Transaction.html" target="test_blank"&gt;http://www.sapbrainsonline.com/PROJECTS/TECHNICAL/ABAP%20Source%20codes/Batch%20Input%20with%20Call%20Transaction.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpful answers..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Omkar.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:14:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529029#M573271</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:14:59Z</dc:date>
    </item>
    <item>
      <title>Re: in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529030#M573272</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;See the sample BDC program in which these errors are collected and displayed using the fun module FORMAT_MESSAGE&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;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Declaration of internal tables&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;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;&amp;lt;b&amp;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&amp;lt;/b&amp;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;&amp;lt;b&amp;gt;Reward points for useful Answers&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:17:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529030#M573272</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529031#M573273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi &lt;/P&gt;&lt;P&gt;just refer to the link below&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g" target="test_blank"&gt;http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g&lt;/A&gt;    &lt;/P&gt;&lt;P&gt;	&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;ravish&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;plz dont forget to reward points if helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:18:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529031#M573273</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:18:51Z</dc:date>
    </item>
    <item>
      <title>Re: in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529032#M573274</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;lt;b&amp;gt;The  below  is   logic for   SY-SUBRC  = 0   OR 4 .&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;LOOP AT MESSTAB. 
        SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA 
                                  AND   ARBGB = MESSTAB-MSGID 
                                  AND   MSGNR = MESSTAB-MSGNR. 
        IF SY-SUBRC = 0. 
          L_MSTRING = T100-TEXT. 
          IF L_MSTRING CS '&amp;amp;1'. 
            REPLACE '&amp;amp;1' WITH MESSTAB-MSGV1 INTO L_MSTRING. 
            REPLACE '&amp;amp;2' WITH MESSTAB-MSGV2 INTO L_MSTRING. 
            REPLACE '&amp;amp;3' WITH MESSTAB-MSGV3 INTO L_MSTRING. 
            REPLACE '&amp;amp;4' WITH MESSTAB-MSGV4 INTO L_MSTRING. 
          ELSE. 
            REPLACE '&amp;amp;' WITH MESSTAB-MSGV1 INTO L_MSTRING. 
            REPLACE '&amp;amp;' WITH MESSTAB-MSGV2 INTO L_MSTRING. 
            REPLACE '&amp;amp;' WITH MESSTAB-MSGV3 INTO L_MSTRING. 
            REPLACE '&amp;amp;' WITH MESSTAB-MSGV4 INTO L_MSTRING. 
          ENDIF. 
          CONDENSE L_MSTRING. 
          WRITE: / MESSTAB-MSGTYP, L_MSTRING(250). 
        ELSE. 
          WRITE: / MESSTAB. 
        ENDIF. 
      ENDLOOP. 
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward  points if it is usefull ....&lt;/P&gt;&lt;P&gt;Girish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:19:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529032#M573274</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:19:18Z</dc:date>
    </item>
    <item>
      <title>Re: in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529033#M573275</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u want to just know what are the error records are get the output of all error records in a different file?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:22:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/in-bdc/m-p/2529033#M573275</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:22:28Z</dc:date>
    </item>
  </channel>
</rss>

