<?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: Regarding BDC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495841#M563624</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;again kesav,&lt;/P&gt;&lt;P&gt;What u have to do is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U see after the call transaction is done i have stored the errors,ststus and warnings to a table...do the same&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 21 Jul 2007 07:31:11 GMT</pubDate>
    <dc:creator>kesavadas_thekkillath</dc:creator>
    <dc:date>2007-07-21T07:31:11Z</dc:date>
    <item>
      <title>Regarding BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495835#M563618</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   i m doing BDC using Call transaction method...after call statement i m displaying some text.......if there is no error occur than i want to display that text...............&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so pls, tell me how can i know that...during call transaction error occur or not.........&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Imran&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 04:34:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495835#M563618</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T04:34:34Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495836#M563619</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can use the statement: please click F1 on the CALL TRAN... for more syntax details. Also Call the TRANSACTION in synchronouse mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION ...........MESSAGE INTO [Message TAB].&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0. "&amp;lt;---for synchronous update &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now check this message table to find out any error by looking at the message type and message id.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;A.Singh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Amarjit Singh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 04:40:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495836#M563619</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T04:40:24Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495837#M563620</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;in call transaction you can handle the errors in the below way...&lt;/P&gt;&lt;P&gt;DATA : I_MSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF I_ERR OCCURS 0,&lt;/P&gt;&lt;P&gt;          MATNR(18),&lt;/P&gt;&lt;P&gt;          FLAG(1),&lt;/P&gt;&lt;P&gt;          MSG(100),&lt;/P&gt;&lt;P&gt;       END OF I_ERR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :V_LINES TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;REFRESH BDCTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SCREEN USING: 'SAPLMGMM' '0060'.&lt;/P&gt;&lt;P&gt;PERFORM FIELD USING: 'RMMG1-MATNR'  ITAB-MATNR,&lt;/P&gt;&lt;P&gt;                      'RMMG1-MBRSH' ITAB-MBRSH ,&lt;/P&gt;&lt;P&gt;                      'RMMG1-MTART' ITAB-MTART,&lt;/P&gt;&lt;P&gt;                      'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SCREEN USING: 'SAPLMGMM' '0070'.&lt;/P&gt;&lt;P&gt;PERFORM FIELD USING: 'MSICHTAUSW-KZSEL(01)' 'X' ,&lt;/P&gt;&lt;P&gt;                     'MSICHTAUSW-KZSEL(02)' 'X' ,&lt;/P&gt;&lt;P&gt;                     'MSICHTAUSW-KZSEL(09)' 'X' ,&lt;/P&gt;&lt;P&gt;                     'BDC_OKCODE' '=ENTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SCREEN USING: 'SAPLMGMM' '0080'.&lt;/P&gt;&lt;P&gt;PERFORM FIELD USING: 'RMMG1-WERKS' ITAB-WERKS,&lt;/P&gt;&lt;P&gt;                     'BDC_OKCODE' '=ENTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SCREEN USING: 'SAPLMGMM' '4004'.&lt;/P&gt;&lt;P&gt;PERFORM FIELD USING:  'MAKT-MAKTX' ITAB-MAKTX,&lt;/P&gt;&lt;P&gt;                      'MARA-MEINS' 'EA' ,&lt;/P&gt;&lt;P&gt;                      'MARA-MATKL' '001',&lt;/P&gt;&lt;P&gt;                      'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SCREEN USING: 'SAPLMGMM' '4004'.&lt;/P&gt;&lt;P&gt;PERFORM FIELD USING:  'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SCREEN USING: 'SAPLMGMM' '4000'.&lt;/P&gt;&lt;P&gt;PERFORM FIELD USING:  'MAKT-MAKTX' ITAB-MAKTX,&lt;/P&gt;&lt;P&gt;                      'MARA-MEINS' 'EA',&lt;/P&gt;&lt;P&gt;                      'MARC-EKGRP' '001',&lt;/P&gt;&lt;P&gt;                      'MARA-MATKL' '001',&lt;/P&gt;&lt;P&gt;                      'BDC_OKCODE' '=BU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'MM01' USING BDCTAB&lt;/P&gt;&lt;P&gt;                        MODE 'A'&lt;/P&gt;&lt;P&gt;                        MESSAGES INTO I_MSG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;FINDING LAST MESSAGE IN THE I_MSG TABLE*****&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE I_MSG LINES V_LINES.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="5" type="ul"&gt;&lt;P&gt;ACCORDING TO THE V_LINES NUMBER TABLE WILL BE READ****&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;READ TABLE I_MSG INDEX V_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   ID              = I_MSG-MSGID&lt;/P&gt;&lt;P&gt;   LANG            = '-D'&lt;/P&gt;&lt;P&gt;   NO              = I_MSG-MSGNR&lt;/P&gt;&lt;P&gt;   V1              = I_MSG-MSGV1&lt;/P&gt;&lt;P&gt;   V2              = I_MSG-MSGV2&lt;/P&gt;&lt;P&gt;   V3              = I_MSG-MSGV3&lt;/P&gt;&lt;P&gt;   V4              = I_MSG-MSGV4&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   MSG             = I_ERR-MSG&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   NOT_FOUND       = 1&lt;/P&gt;&lt;P&gt;   OTHERS          = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF I_MSG-MSGID EQ 'M3' AND I_MSG-MSGNR EQ '800'.&lt;/P&gt;&lt;P&gt; I_ERR-FLAG = 'S'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;I_ERR-FLAG = 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;I_ERR-MATNR = ITAB-MATNR.&lt;/P&gt;&lt;P&gt;APPEND I_ERR.&lt;/P&gt;&lt;P&gt;CLEAR I_ERR.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'SUCCESS RECORDS' COLOR COL_POSITIVE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE:/ 'MATERIAL' COLOR COL_HEADING, 20 'MESSAGE' COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;LOOP AT I_ERR WHERE FLAG EQ 'S'.&lt;/P&gt;&lt;P&gt;WRITE:/ I_ERR-MATNR, 20 I_ERR-MSG.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;SKIP 2.&lt;/P&gt;&lt;P&gt;WRITE:/ 'ERROR RECORDS' COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE:/ 'MATERIAL' COLOR COL_HEADING, 20 'MESSAGE' COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT I_ERR WHERE FLAG EQ 'E'.&lt;/P&gt;&lt;P&gt;WRITE:/ I_ERR-MATNR, 20 I_ERR-MSG.&lt;/P&gt;&lt;P&gt;ENDLOOP.&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  SCREEN&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;     SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form SCREEN  using P_PROG P_SCREEN.&lt;/P&gt;&lt;P&gt;BDCTAB-PROGRAM = P_PROG.&lt;/P&gt;&lt;P&gt;BDCTAB-DYNPRO = P_SCREEN.&lt;/P&gt;&lt;P&gt;BDCTAB-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.&lt;/P&gt;&lt;P&gt;CLEAR  BDCTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SCREEN&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  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;   FIELD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form FIELD  using  FNAME FVAL .&lt;/P&gt;&lt;P&gt;BDCTAB-FNAM = FNAME.&lt;/P&gt;&lt;P&gt;BDCTAB-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND BDCTAB.&lt;/P&gt;&lt;P&gt;CLEAR BDCTAB.&lt;/P&gt;&lt;P&gt;endform.                    " FIELD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Murali&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 04:53:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495837#M563620</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T04:53:46Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495838#M563621</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 this code&lt;/P&gt;&lt;P&gt;you can display that text when the sy-subrc = 0 for the call transaction&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;   ELSE.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&amp;lt; in this place you can display the text&amp;gt;&amp;lt;/b&amp;gt;&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;&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>Sat, 21 Jul 2007 05:41:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495838#M563621</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T05:41:43Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495839#M563622</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;&lt;/P&gt;&lt;P&gt;BDC using Call transaction involves calling an SAP transaction in back ground from within the ABAP &lt;/P&gt;&lt;P&gt;program. The process involves building an Internal BDC table containing the screen information needed to &lt;/P&gt;&lt;P&gt;execute the required transaction and then passing this to the Call transaction command &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;The full procedure for creating a BDC program is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;For a BDC upload you need to write a program which created BDC sessions&amp;lt;/b&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Steps:&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt; &lt;/P&gt;&lt;P&gt;1. Work out the transaction you would use to create the data manually. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Use transaction SHDB to record the creation of one material master data. &lt;/P&gt;&lt;P&gt;    Click the New recording button or the Menu - Recording - Create &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Save the recording, and then go back a screen and go to the overview. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. Select the recording and click on Edit - Create Program. Give the program a Z name, and select transfer from recording. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Edit the program. You will see that all the data you entered is hard-coded into the program. You need to make the following changes: &lt;/P&gt;&lt;P&gt;5.1 After the start-of-selection, Call ws_upload to upload the file (the excel file needs to be saved as TAB separated). &lt;/P&gt;&lt;P&gt;5.2 After the open-group, Loop on the uploaded data. For each line, perform validation checks on the data, then modify the perform bdc_field commands to use the file data. &lt;/P&gt;&lt;P&gt;5.3. After perform bdc_transaction, add the endloop. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Execute the program. It will have options to create a batch session or to process directly. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These are all my finds . Might be it will be useful to you. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Direct call of transactions, session handling: &lt;/P&gt;&lt;P&gt;/nxxxx This terminates the current transaction, and starts transaction xxxx &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/n This terminates the transaction. This generally corresponds to pressing F15 to go back. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/nend This termiantes all separate sessions and logs off (corresponds to System - Logoff). &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/nex This terminates all separate sessions and logs off immediately (without any warning!). &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/oxxxx This opens a new session and starts transaction xxxx in This session. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/o This lists existing sessions and allows deletion or opening of a new session. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/i This terminates the current session (corresponds to System End &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/i1, /i2,... This terminates the session with the number given. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;.xyzw Fast path: 'xyzw' refers to the underlined letters in the menus. This type of navigation is uncommon and is provided more for emergencies (such as a defective mouse). &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Batch &lt;/P&gt;&lt;P&gt;The following commands can be entered in correction mode ('Process in foreground' or 'Display errors only') when processing a batch input session: &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/n This terminates the current batch input transaction and characterizes it as &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/bdel This deletes the current batch input transaction. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/bend This terminates batch input processing and sets the session to Failed &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/bda This switches from Display errors only to Process in foreground &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/bde This switches from Process in foreground to Display errors only &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;ABAP/4 &lt;/P&gt;&lt;P&gt;/h This switches into debugging mode. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/hs This switches into debugging mode and activates the debugging of system functions. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Buffer &lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;WARNING:&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt; Resetting buffers can significantly change the performance of the entire system for a long time. &lt;/P&gt;&lt;P&gt;It should therefore only be used where there is a good reason tdso. As of release 3.0B system administator authorization is required (authorization object (S_ADMI_FCD). The action is noted in the system log. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/$SYNC This resets all buffers of the application server &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/$CUA This resets the CUA buffer of the application server &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/$TAB This resets the TABLE buffers of the application server &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/$NAM This resets the nametab buffer of the application server &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/$DYNP This resets the screen buffer of the application server &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Check this sample report&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*-----------------------------------------------------------------------
* Data declaration
TABLES: ekko, ekpo.

TYPES: BEGIN OF t_ekko,
    ebeln TYPE ekko-ebeln,
    waers TYPE ekko-waers,
    netpr TYPE ekpo-netpr,
    err_msg(73) TYPE c,
 END OF t_ekko.

DATA: it_ekko  TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_ekko  TYPE t_ekko,
      it_error TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_error TYPE t_ekko,
      it_success TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_success TYPE t_ekko.

DATA: w_textout            LIKE t100-text.
DATA: gd_update TYPE i,
      gd_lines TYPE i.

*Used to store BDC data
DATA: BEGIN OF bdc_tab OCCURS 0.
        INCLUDE STRUCTURE bdcdata.
DATA: END OF bdc_tab.

*Used to stores error information from CALL TRANSACTION Function Module
DATA: BEGIN OF messtab OCCURS 0.
        INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.


*-----------------------------------------------------------------------
*Screen declaration
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME
                                    TITLE text-001. "Purchase order Num
SELECT-OPTIONS: so_ebeln FOR ekko-ebeln OBLIGATORY.

SELECTION-SCREEN END OF BLOCK block1.

SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME
                                    TITLE text-002. "New NETPR value
PARAMETERS:  p_newpr(14)   TYPE c obligatory.  "LIKE ekpo-netpr.
SELECTION-SCREEN END OF BLOCK block2.


************************************************************************
*START-OF-SELECTION
START-OF-SELECTION.

* Retrieve data from Purchase order table(EKKO)
  SELECT ekko~ebeln ekko~waers ekpo~netpr
    INTO TABLE it_ekko
    FROM ekko AS ekko INNER JOIN ekpo AS ekpo
      ON ekpo~ebeln EQ ekko~ebeln
   WHERE ekko~ebeln IN so_ebeln AND
         ekpo~ebelp EQ '10'.


************************************************************************
*END-OF-SELECTION
END-OF-SELECTION.

* Check data has been retrieved ready for processing
  DESCRIBE TABLE it_ekko LINES gd_lines.
  IF gd_lines LE 0.
*   Display message if no data has been retrieved
    MESSAGE i003(zp) WITH 'No Records Found'(001).
    LEAVE TO SCREEN 0.
  ELSE.
*   Update Customer master data (instalment text)
    LOOP AT it_ekko INTO wa_ekko.
      PERFORM bdc_update.
    ENDLOOP.
*   Display message confirming number of records updated
    IF gd_update GT 1.
      MESSAGE i003(zp) WITH gd_update 'Records updated'(002).
    ELSE.
      MESSAGE i003(zp) WITH gd_update 'Record updated'(003).
    ENDIF.

* Display Success Report
* **********************
*   Check Success table
    DESCRIBE TABLE it_success LINES gd_lines.
    IF gd_lines GT 0.
*     Display result report column headings
      PERFORM display_column_headings.
*     Display result report
      PERFORM display_report.
    ENDIF.

* Display Error Report
* ********************
*   Check errors table
    DESCRIBE TABLE it_error LINES gd_lines.
*   If errors exist then display errors report
    IF gd_lines GT 0.
*     Display errors report
      PERFORM display_error_headings.
      PERFORM display_error_report.
    ENDIF.
  ENDIF.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_COLUMN_HEADINGS
*&amp;amp;---------------------------------------------------------------------*
*       Display column headings
*----------------------------------------------------------------------*
FORM display_column_headings.
  WRITE:2 ' Success Report '(014) COLOR COL_POSITIVE.
  SKIP.
  WRITE:2 'The following records updated successfully:'(013).
  WRITE:/ sy-uline(42).
  FORMAT COLOR COL_HEADING.
  WRITE:/      sy-vline,
          (10) 'Purchase Order'(004), sy-vline,
          (11) 'Old Netpr'(005), sy-vline,
          (11) 'New Netpr'(006), sy-vline.
  WRITE:/ sy-uline(42).
ENDFORM.                    " DISPLAY_COLUMN_HEADINGS


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BDC_UPDATE
*&amp;amp;---------------------------------------------------------------------*
*       Populate BDC table and call transaction ME22
*----------------------------------------------------------------------*
FORM bdc_update.
  PERFORM dynpro USING:
      'X'   'SAPMM06E'        '0105',
      ' '   'BDC_CURSOR'      'RM06E-BSTNR',
      ' '   'RM06E-BSTNR'     wa_ekko-ebeln,
      ' '   'BDC_OKCODE'      '/00',                      "OK code

      'X'   'SAPMM06E'        '0120',
      ' '   'BDC_CURSOR'      'EKPO-NETPR(01)',
      ' '   'EKPO-NETPR(01)'  p_newpr,
      ' '   'BDC_OKCODE'      '=BU'.                      "OK code

* Call transaction to update customer instalment text
  CALL TRANSACTION 'ME22' USING bdc_tab MODE 'N' UPDATE 'S'
         MESSAGES INTO messtab.
* Check if update was succesful
  IF sy-subrc EQ 0.
    ADD 1 TO gd_update.
    APPEND wa_ekko TO it_success.
  ELSE.
*   Retrieve error messages displayed during BDC update
    LOOP AT messtab WHERE msgtyp = 'E'.
*     Builds actual message based on info returned from Call transaction
      CALL FUNCTION 'MESSAGE_TEXT_BUILD'
           EXPORTING
                msgid               = messtab-msgid
                msgnr               = messtab-msgnr
                msgv1               = messtab-msgv1
                msgv2               = messtab-msgv2
                msgv3               = messtab-msgv3
                msgv4               = messtab-msgv4
           IMPORTING
                message_text_output = w_textout.
    ENDLOOP.

*   Build error table ready for output
    wa_error = wa_ekko.
    wa_error-err_msg = w_textout.
    APPEND wa_error TO it_error.
    CLEAR: wa_error.
  ENDIF.

* Clear bdc date table
  CLEAR: bdc_tab.
  REFRESH: bdc_tab.
ENDFORM.                    " BDC_UPDATE


*---------------------------------------------------------------------*
*       FORM DYNPRO                                                   *
*---------------------------------------------------------------------*
*       stores values to bdc table                                    *
*---------------------------------------------------------------------*
*  --&amp;gt;  DYNBEGIN                                                      *
*  --&amp;gt;  NAME                                                          *
*  --&amp;gt;  VALUE                                                         *
*---------------------------------------------------------------------*
FORM dynpro USING    dynbegin name value.
  IF dynbegin = 'X'.
    CLEAR bdc_tab.
    MOVE:  name TO bdc_tab-program,
           value TO bdc_tab-dynpro,
           'X'  TO bdc_tab-dynbegin.
    APPEND bdc_tab.
  ELSE.
    CLEAR bdc_tab.
    MOVE:  name TO bdc_tab-fnam,
           value TO bdc_tab-fval.
    APPEND bdc_tab.
  ENDIF.
ENDFORM.                               " DYNPRO


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_REPORT
*&amp;amp;---------------------------------------------------------------------*
*       Display Report
*----------------------------------------------------------------------*
FORM display_report.
  FORMAT COLOR COL_NORMAL.
* Loop at data table
  LOOP AT it_success INTO wa_success.
    WRITE:/      sy-vline,
            (10) wa_success-ebeln, sy-vline,
            (11) wa_success-netpr CURRENCY wa_success-waers, sy-vline,
            (11) p_newpr, sy-vline.
    CLEAR: wa_success.
  ENDLOOP.
  WRITE:/ sy-uline(42).
  REFRESH: it_success.
  FORMAT COLOR COL_BACKGROUND.
ENDFORM.                    " DISPLAY_REPORT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ERROR_REPORT
*&amp;amp;---------------------------------------------------------------------*
*       Display error report data
*----------------------------------------------------------------------*
FORM display_error_report.
  LOOP AT it_error INTO wa_error.
    WRITE:/      sy-vline,
            (10) wa_error-ebeln, sy-vline,
            (11) wa_error-netpr CURRENCY wa_error-waers, sy-vline,
            (73) wa_error-err_msg, sy-vline.
  ENDLOOP.
  WRITE:/ sy-uline(104).
  REFRESH: it_error.
ENDFORM.                    " DISPLAY_ERROR_REPORT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ERROR_HEADINGS
*&amp;amp;---------------------------------------------------------------------*
*       Display error report headings
*----------------------------------------------------------------------*
FORM display_error_headings.
  SKIP.
  WRITE:2 ' Error Report '(007) COLOR COL_NEGATIVE.
  SKIP.
  WRITE:2 'The following records failed during update:'(008).
  WRITE:/ sy-uline(104).
  FORMAT COLOR COL_HEADING.
  WRITE:/      sy-vline,
          (10) 'Purchase Order'(009), sy-vline,
          (11) 'Netpr'(010), sy-vline,
          (73) 'Error Message'(012), sy-vline.
  WRITE:/ sy-uline(104).
  FORMAT COLOR COL_NORMAL.
ENDFORM.                    " DISPLAY_ERROR_HEADINGS

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Check this link for creating BDC with Screen shots&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/bdc/bdc_recording.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/bdc/bdc_recording.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Check this link on BDC doubts&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm" target="test_blank"&gt;http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="3760681"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfull answers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Pavan praveen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 06:36:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495839#M563622</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T06:36:44Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495840#M563623</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This program will surely solve ur question....it consists of a include file in it...which im specying after the program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************&lt;/P&gt;&lt;P&gt;program&lt;/P&gt;&lt;P&gt;**********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZBDC_POSTING&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING LINE-SIZE 255&lt;/P&gt;&lt;P&gt;       MESSAGE-ID ZPP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;INCLUDE BDCRECX1.&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;*PARAMETERS: dataset(132) LOWER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS  :SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES  : MAKT, MKAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   WK_ELPRO TYPE MKAL-ALORT,&lt;/P&gt;&lt;P&gt;        WK_MAKT TYPE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;        WK_SUCCESS(5) TYPE C,&lt;/P&gt;&lt;P&gt;        WK_FAILURE(5) TYPE C,&lt;/P&gt;&lt;P&gt;        L_MSTRING(480),&lt;/P&gt;&lt;P&gt;        T_DATE TYPE ZSERVICE_DATE,&lt;/P&gt;&lt;P&gt;        WK_LINES(5) TYPE C,&lt;/P&gt;&lt;P&gt;        LINES(5) TYPE C,&lt;/P&gt;&lt;P&gt;        WK_LEN(150) TYPE C,&lt;/P&gt;&lt;P&gt;        WK_ALP TYPE I,&lt;/P&gt;&lt;P&gt;        LENT TYPE I,&lt;/P&gt;&lt;P&gt;        B(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  ALVFLD TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       V_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       WK_EVENTS LIKE LINE OF V_EVENTS,&lt;/P&gt;&lt;P&gt;       IT_LIST_COMMENTS TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;       WK_LIST_COMMENTS LIKE LINE OF IT_LIST_COMMENTS,&lt;/P&gt;&lt;P&gt;       WA_COLOR TYPE LVC_S_SCOL,&lt;/P&gt;&lt;P&gt;       WK_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: C_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME&lt;/P&gt;&lt;P&gt;                               VALUE 'F_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;TO STORE FINAL DATA TO BE POSTED--&lt;HR originaltext="--------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Generated data section with specific formatting - DO NOT CHANGE  ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF RECORD OCCURS 0,&lt;/P&gt;&lt;P&gt;        BUDAT_002(010),&lt;/P&gt;&lt;P&gt;        BKTXT_004(025),&lt;/P&gt;&lt;P&gt;        MATNR_005(018),&lt;/P&gt;&lt;P&gt;        WERKS_006(004),&lt;/P&gt;&lt;P&gt;        ALORT_007(004),&lt;/P&gt;&lt;P&gt;        ERFMG_008(017),&lt;/P&gt;&lt;P&gt;      END OF RECORD.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;End generated data section ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF MESSAGES OCCURS 0,       "TO STORE FINAL STATUS DISPLAY&lt;/P&gt;&lt;P&gt;       BUDAT_002(010),&lt;/P&gt;&lt;P&gt;       BKTXT_004(025),&lt;/P&gt;&lt;P&gt;       MATNR_005(018),&lt;/P&gt;&lt;P&gt;       MAKTX TYPE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;       WERKS_006(004),&lt;/P&gt;&lt;P&gt;       ALORT_007(004),&lt;/P&gt;&lt;P&gt;       ERFMG_008(017),&lt;/P&gt;&lt;P&gt;       MSG_W(100),&lt;/P&gt;&lt;P&gt;       MSG_E(100),&lt;/P&gt;&lt;P&gt;       MSG_S(100),&lt;/P&gt;&lt;P&gt;       MSGTYP TYPE C,&lt;/P&gt;&lt;P&gt;       CELLCOLOR TYPE LVC_T_SCOL,&lt;/P&gt;&lt;P&gt;      END OF MESSAGES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ST_RECORD1 ,&lt;/P&gt;&lt;P&gt;       MATNR_005(018),&lt;/P&gt;&lt;P&gt;       WERKS_006(004),&lt;/P&gt;&lt;P&gt;       BUDAT_002(010),&lt;/P&gt;&lt;P&gt;       BKTXT_004(025),&lt;/P&gt;&lt;P&gt;       ERFMG_007(017),&lt;/P&gt;&lt;P&gt;       ERFMG_008(017),&lt;/P&gt;&lt;P&gt;       ALORT_007(004),&lt;/P&gt;&lt;P&gt;      END OF ST_RECORD1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : RECORD1 LIKE TABLE OF ST_RECORD1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       IT_EXCEL LIKE TABLE OF ALSMEX_TABLINE WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       MESSTAB1 LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       IT_ACC LIKE TABLE OF RECORD WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       IT_REJ LIKE TABLE OF RECORD WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_FILE TYPE LOCALFILE OBLIGATORY .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      STATIC    = 'X'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      FILE_NAME = P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON P_FILE.&lt;/P&gt;&lt;P&gt;  WK_LEN = P_FILE.&lt;/P&gt;&lt;P&gt;  CONDENSE WK_LEN NO-GAPS.&lt;/P&gt;&lt;P&gt;  LENT = STRLEN( WK_LEN ).&lt;/P&gt;&lt;P&gt;  WK_ALP = LENT - 4.&lt;/P&gt;&lt;P&gt;  B = WK_LEN+WK_ALP(LENT).&lt;/P&gt;&lt;P&gt;  IF ( B NE '.txt' ) AND ( B NE '.xls' ).&lt;/P&gt;&lt;P&gt;    MESSAGE E939.&lt;/P&gt;&lt;P&gt;    CLEAR P_FILE.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM UPLOAD_FUN.&lt;/P&gt;&lt;P&gt;  PERFORM OPEN_GROUP.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_BDC_TABLE.&lt;/P&gt;&lt;P&gt;  PERFORM CLOSE_GROUP.&lt;/P&gt;&lt;P&gt;  PERFORM ASSIGN_COLORS.&lt;/P&gt;&lt;P&gt;  PERFORM F_EVENT_BUILD.&lt;/P&gt;&lt;P&gt;  SORT MESSAGES BY MATNR_005 ASCENDING.&lt;/P&gt;&lt;P&gt;  PERFORM ASSIGN_COLUMNS.&lt;/P&gt;&lt;P&gt;  PERFORM COUNT.&lt;/P&gt;&lt;P&gt;  IF CTU = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM ALV.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FREE:MESSAGES,MESSTAB1,RECORD1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;FORM UPLOAD_FUN--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UPLOAD_FUN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; REFRESH: RECORD1, IT_ACC, IT_REJ, RECORD, MESSAGES, MESSTAB1, IT_EXCEL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM FETCH_FROM_FLAT_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR IT_EXCEL.&lt;/P&gt;&lt;P&gt; DESCRIBE TABLE IT_EXCEL.&lt;/P&gt;&lt;P&gt; IF SY-TFILL = 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I937.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt; LOOP AT IT_EXCEL.&lt;/P&gt;&lt;P&gt;    CASE IT_EXCEL-COL.&lt;/P&gt;&lt;P&gt;      WHEN '0001'.&lt;/P&gt;&lt;P&gt;        MOVE: IT_EXCEL-VALUE TO RECORD1-MATNR_005.&lt;/P&gt;&lt;P&gt;      WHEN '0002'.&lt;/P&gt;&lt;P&gt;        MOVE: IT_EXCEL-VALUE TO RECORD1-WERKS_006.&lt;/P&gt;&lt;P&gt;      WHEN '0003'.&lt;/P&gt;&lt;P&gt;        MOVE: IT_EXCEL-VALUE TO RECORD1-BUDAT_002.&lt;/P&gt;&lt;P&gt;      WHEN '0004'.&lt;/P&gt;&lt;P&gt;        MOVE: IT_EXCEL-VALUE TO RECORD1-BKTXT_004.&lt;/P&gt;&lt;P&gt;      WHEN '0005'.&lt;/P&gt;&lt;P&gt;        MOVE: IT_EXCEL-VALUE TO RECORD1-ERFMG_007.&lt;/P&gt;&lt;P&gt;      WHEN '0006'.&lt;/P&gt;&lt;P&gt;        MOVE: IT_EXCEL-VALUE TO RECORD1-ERFMG_008.&lt;/P&gt;&lt;P&gt;      WHEN '0007'.&lt;/P&gt;&lt;P&gt;        MOVE: IT_EXCEL-VALUE TO RECORD1-ALORT_007.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;    AT END OF ROW.&lt;/P&gt;&lt;P&gt;      APPEND RECORD1.&lt;/P&gt;&lt;P&gt;      CLEAR RECORD1.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR RECORD1.&lt;/P&gt;&lt;P&gt; DELETE RECORD1 WHERE MATNR_005 EQ ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;DO NOT UPLOAD WHERE PRD QTY = 0--&lt;HR originaltext="------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DELETE RECORD1 WHERE ( ERFMG_007 = 0 OR ERFMG_007 = ' ' )&lt;/P&gt;&lt;P&gt;                 AND  ( ERFMG_008 = 0 OR ERFMG_008 = ' ' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DESCRIBE TABLE RECORD1[].&lt;/P&gt;&lt;P&gt;  IF SY-TFILL &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------" /&gt;MOVE ACCEPTED QTY AND FETCH THE RESPECTIVE STGLOC-**&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT RECORD1 WHERE ERFMG_007 NE 0 AND ERFMG_007 NE ' '.&lt;/P&gt;&lt;P&gt;      MOVE:    RECORD1-BUDAT_002 TO IT_ACC-BUDAT_002,&lt;/P&gt;&lt;P&gt;               RECORD1-BKTXT_004 TO IT_ACC-BKTXT_004,&lt;/P&gt;&lt;P&gt;               RECORD1-MATNR_005 TO IT_ACC-MATNR_005,&lt;/P&gt;&lt;P&gt;               RECORD1-WERKS_006 TO IT_ACC-WERKS_006,&lt;/P&gt;&lt;P&gt;               RECORD1-ERFMG_007 TO IT_ACC-ERFMG_008.&lt;/P&gt;&lt;P&gt;      APPEND IT_ACC.&lt;/P&gt;&lt;P&gt;      CLEAR: IT_ACC,RECORD1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;MOVE ELPRO FOR THE ACCEPTED ENTRIES--&lt;HR originaltext="------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_ACC.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE ELPRO INTO WK_ELPRO FROM MKAL CLIENT SPECIFIED&lt;/P&gt;&lt;P&gt;                                        WHERE MANDT = SY-MANDT&lt;/P&gt;&lt;P&gt;                                        AND MATNR = IT_ACC-MATNR_005&lt;/P&gt;&lt;P&gt;                                        AND WERKS = IT_ACC-WERKS_006.&lt;/P&gt;&lt;P&gt;      MOVE WK_ELPRO TO IT_ACC-ALORT_007.&lt;/P&gt;&lt;P&gt;      MODIFY IT_ACC.&lt;/P&gt;&lt;P&gt;      CLEAR: WK_ELPRO, IT_ACC.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;MOVE PRD QTY FOR REJECTED QTY--&lt;HR originaltext="-------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT RECORD1 WHERE ERFMG_008 NE 0 AND ERFMG_008 NE ' '.&lt;/P&gt;&lt;P&gt;      MOVE: RECORD1-BUDAT_002 TO IT_REJ-BUDAT_002,&lt;/P&gt;&lt;P&gt;            RECORD1-BKTXT_004 TO IT_REJ-BKTXT_004,&lt;/P&gt;&lt;P&gt;            RECORD1-MATNR_005 TO IT_REJ-MATNR_005,&lt;/P&gt;&lt;P&gt;            RECORD1-WERKS_006 TO IT_REJ-WERKS_006,&lt;/P&gt;&lt;P&gt;            RECORD1-ERFMG_008 TO IT_REJ-ERFMG_008,&lt;/P&gt;&lt;P&gt;            RECORD1-ALORT_007 TO IT_REJ-ALORT_007.&lt;/P&gt;&lt;P&gt;      APPEND IT_REJ.&lt;/P&gt;&lt;P&gt;      CLEAR: IT_REJ, RECORD1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----" /&gt;MOVE ACCEPTED AND REJECTED READINGS TO FINAL TABLE&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND LINES OF IT_ACC TO RECORD.&lt;/P&gt;&lt;P&gt;    APPEND LINES OF IT_REJ TO RECORD.&lt;/P&gt;&lt;P&gt;    FREE : IT_REJ, IT_ACC, RECORD1.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I937.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_FUN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM fill_bdc_table--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_BDC_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT RECORD[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT RECORD.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_DYNPRO USING 'SAPLBARM' '0800'.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'BDC_CURSOR' 'RM61B-BKTXT'.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'BDC_OKCODE' '=ISTDA'.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'RM61B-BUDAT' RECORD-BUDAT_002.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'RM61B-BKTXT' RECORD-BKTXT_004.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'RM61B-MATNR' RECORD-MATNR_005.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'RM61B-WERKS' RECORD-WERKS_006.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'RM61B-ALORT' RECORD-ALORT_007.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'RM61B-ERFMG' RECORD-ERFMG_008.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_DYNPRO USING 'SAPLCOWB' '0130'.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD  USING 'BDC_CURSOR' 'G_COWB_HEADER-MNGTXT'.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_TRANSACTION USING 'MFBF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR MESSTAB.&lt;/P&gt;&lt;P&gt;   APPEND LINES OF MESSTAB TO MESSTAB1.&lt;/P&gt;&lt;P&gt;   CLEAR MESSTAB1.&lt;/P&gt;&lt;P&gt;   LOOP AT MESSTAB1 WHERE MSGTYP = 'S' OR MSGTYP = 'E' OR MSGTYP = 'W'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB1-MSGSPRA&lt;/P&gt;&lt;P&gt;                                  AND   ARBGB = MESSTAB1-MSGID&lt;/P&gt;&lt;P&gt;                                  AND   MSGNR = MESSTAB1-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 MESSTAB1-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;2' WITH MESSTAB1-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;3' WITH MESSTAB1-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;4' WITH MESSTAB1-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB1-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB1-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB1-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB1-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;          IF MESSTAB1-MSGTYP = 'W'.&lt;/P&gt;&lt;P&gt;            MOVE L_MSTRING TO MESSAGES-MSG_W.&lt;/P&gt;&lt;P&gt;          ELSEIF MESSTAB1-MSGTYP = 'E'.&lt;/P&gt;&lt;P&gt;            MOVE L_MSTRING TO MESSAGES-MSG_E.&lt;/P&gt;&lt;P&gt;            MOVE 'E' TO MESSAGES-MSGTYP.&lt;/P&gt;&lt;P&gt;          ELSEIF MESSTAB1-MSGTYP = 'S'.&lt;/P&gt;&lt;P&gt;            MOVE L_MSTRING TO MESSAGES-MSG_S.&lt;/P&gt;&lt;P&gt;            MOVE 'S' TO MESSAGES-MSGTYP.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR L_MSTRING.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING RECORD TO MESSAGES.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE MAKTX INTO WK_MAKT FROM MAKT CLIENT SPECIFIED&lt;/P&gt;&lt;P&gt;                                     WHERE MANDT = SY-MANDT&lt;/P&gt;&lt;P&gt;                                     AND MATNR = MESSAGES-MATNR_005.&lt;/P&gt;&lt;P&gt;    MOVE:WK_MAKT TO MESSAGES-MAKTX.&lt;/P&gt;&lt;P&gt;    APPEND MESSAGES.&lt;/P&gt;&lt;P&gt;    CLEAR: MESSAGES, WK_MAKT, MESSTAB1.&lt;/P&gt;&lt;P&gt;    REFRESH MESSTAB1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "fill_bdc_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM assign_columns--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ASSIGN_COLUMNS .&lt;/P&gt;&lt;P&gt;  REFRESH ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'1'         TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'MATNR_005' TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'PART NO'   TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  MOVE :'X'         TO ALVFLD-FIX_COLUMN.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'2'           TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'MAKTX'       TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'DESCRIPTION' TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'3'         TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'WERKS_006' TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'PLANT'     TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'4'            TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'BUDAT_002'    TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'POSTING DATE' TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'5'         TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'BKTXT_004' TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'SHIFT'     TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'6'         TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'ERFMG_008' TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'QTY'       TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'7'         TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'ALORT_007' TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'STGLOC'    TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'8'      TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'MSG_E'  TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'ERRORS' TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'9'        TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'MSG_W'    TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'WARNINGS' TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE :'10'        TO ALVFLD-COL_POS.&lt;/P&gt;&lt;P&gt;  MOVE :'MSG_S'    TO ALVFLD-FIELDNAME.&lt;/P&gt;&lt;P&gt;  MOVE :'STATUS' TO ALVFLD-SELTEXT_M.&lt;/P&gt;&lt;P&gt;  APPEND ALVFLD.CLEAR ALVFLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " assign_columns&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM f_event_build--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_EVENT_BUILD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_LIST_TYPE = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ET_EVENTS   = V_EVENTS[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE V_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;                                           INTO WK_EVENTS.&lt;/P&gt;&lt;P&gt;  WK_LAYOUT-COLTAB_FIELDNAME = 'CELLCOLOR'. "FOR COLOUMN COLOR&lt;/P&gt;&lt;P&gt;  WK_LAYOUT-COLWIDTH_OPTIMIZE    = 'X'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE C_FORMNAME_TOP_OF_PAGE TO WK_EVENTS-FORM.&lt;/P&gt;&lt;P&gt;    MODIFY V_EVENTS FROM WK_EVENTS INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_event_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM f_top_of_page--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE SY-DATUM TO T_DATE.&lt;/P&gt;&lt;P&gt;  CLEAR: IT_LIST_COMMENTS[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-TYP  = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-KEY  = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-INFO = 'UPLOAD STATUS FOR PRODUCTION POSTING'.&lt;/P&gt;&lt;P&gt;  APPEND WK_LIST_COMMENTS TO IT_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;  CLEAR WK_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-TYP  = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-KEY  = ''.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Uploaded Date:' T_DATE INTO WK_LIST_COMMENTS-INFO&lt;/P&gt;&lt;P&gt;                                              SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  APPEND WK_LIST_COMMENTS TO IT_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;  CLEAR WK_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE MESSAGES LINES WK_LINES.&lt;/P&gt;&lt;P&gt;  LINES = WK_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-TYP  = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-KEY  = ''.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Total No of records:' LINES INTO WK_LIST_COMMENTS-INFO&lt;/P&gt;&lt;P&gt;                                                   SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  APPEND WK_LIST_COMMENTS TO IT_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;  CLEAR WK_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-TYP  = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-KEY  = ''.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Successfull Entries:' WK_SUCCESS INTO&lt;/P&gt;&lt;P&gt;            WK_LIST_COMMENTS-INFO SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  APPEND WK_LIST_COMMENTS TO IT_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;  CLEAR WK_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-TYP  = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  WK_LIST_COMMENTS-KEY  = ''.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Failed Entries:' WK_FAILURE INTO WK_LIST_COMMENTS-INFO&lt;/P&gt;&lt;P&gt;                                                    SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  APPEND WK_LIST_COMMENTS TO IT_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;  CLEAR WK_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_LOGO             = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY = IT_LIST_COMMENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "F_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM assign_colors--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ASSIGN_COLORS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT MESSAGES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE MESSAGES-MSGTYP.&lt;/P&gt;&lt;P&gt;      WHEN 'E'.&lt;/P&gt;&lt;P&gt;        MOVE: 'MATNR_005' TO WA_COLOR-FNAME.&lt;/P&gt;&lt;P&gt;        MOVE '6' TO WA_COLOR-COLOR-COL.&lt;/P&gt;&lt;P&gt;        MOVE '0' TO WA_COLOR-COLOR-INT.&lt;/P&gt;&lt;P&gt;        MOVE '0' TO WA_COLOR-COLOR-INV.&lt;/P&gt;&lt;P&gt;        APPEND WA_COLOR TO MESSAGES-CELLCOLOR.&lt;/P&gt;&lt;P&gt;        MODIFY MESSAGES TRANSPORTING CELLCOLOR.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE: 'MSG_E' TO WA_COLOR-FNAME.&lt;/P&gt;&lt;P&gt;    MOVE '6' TO WA_COLOR-COLOR-COL.&lt;/P&gt;&lt;P&gt;    MOVE '0' TO WA_COLOR-COLOR-INT.&lt;/P&gt;&lt;P&gt;    MOVE '1' TO WA_COLOR-COLOR-INV.&lt;/P&gt;&lt;P&gt;    APPEND WA_COLOR TO MESSAGES-CELLCOLOR.&lt;/P&gt;&lt;P&gt;    MODIFY MESSAGES TRANSPORTING CELLCOLOR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE: 'MSG_W' TO WA_COLOR-FNAME.&lt;/P&gt;&lt;P&gt;    MOVE '7' TO WA_COLOR-COLOR-COL.&lt;/P&gt;&lt;P&gt;    MOVE '0' TO WA_COLOR-COLOR-INT.&lt;/P&gt;&lt;P&gt;    MOVE '1' TO WA_COLOR-COLOR-INV.&lt;/P&gt;&lt;P&gt;    APPEND WA_COLOR TO MESSAGES-CELLCOLOR.&lt;/P&gt;&lt;P&gt;    MODIFY MESSAGES TRANSPORTING CELLCOLOR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE: 'MSG_S' TO WA_COLOR-FNAME.&lt;/P&gt;&lt;P&gt;    MOVE '5' TO WA_COLOR-COLOR-COL.&lt;/P&gt;&lt;P&gt;    MOVE '0' TO WA_COLOR-COLOR-INT.&lt;/P&gt;&lt;P&gt;    MOVE '1' TO WA_COLOR-COLOR-INV.&lt;/P&gt;&lt;P&gt;    APPEND WA_COLOR TO MESSAGES-CELLCOLOR.&lt;/P&gt;&lt;P&gt;    MODIFY MESSAGES TRANSPORTING CELLCOLOR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " assign_colors&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM COUNT--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM COUNT .&lt;/P&gt;&lt;P&gt;  LOOP AT MESSAGES.&lt;/P&gt;&lt;P&gt;    CASE MESSAGES-MSGTYP.&lt;/P&gt;&lt;P&gt;      WHEN 'E'.&lt;/P&gt;&lt;P&gt;        ADD 1 TO WK_FAILURE.&lt;/P&gt;&lt;P&gt;      WHEN 'S'.&lt;/P&gt;&lt;P&gt;        ADD 1 TO WK_SUCCESS.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " COUNT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------" /&gt;FORM ALV--&lt;HR originaltext="-------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ALV .&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_CALLBACK_PROGRAM = SY-REPID&lt;/P&gt;&lt;P&gt;        I_BACKGROUND_ID    = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;        IS_LAYOUT          = WK_LAYOUT&lt;/P&gt;&lt;P&gt;        IT_FIELDCAT        = ALVFLD[]&lt;/P&gt;&lt;P&gt;        IT_EVENTS          = V_EVENTS[]&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        T_OUTTAB           = MESSAGES&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        PROGRAM_ERROR      = 1&lt;/P&gt;&lt;P&gt;        OTHERS             = 2.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;FETCH_FROM_FLAT_FILE--&lt;HR originaltext="-----------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_FROM_FLAT_FILE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME                = P_FILE&lt;/P&gt;&lt;P&gt;      I_BEGIN_COL             = 1 "From 1st Column&lt;/P&gt;&lt;P&gt;      I_BEGIN_ROW             = 2 "From 2nd row&lt;/P&gt;&lt;P&gt;      I_END_COL               = 7 "Till &amp;amp;th Column&lt;/P&gt;&lt;P&gt;      I_END_ROW               = 65000 "Till Row&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      INTERN                  = IT_EXCEL&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INCONSISTENT_PARAMETERS = 1&lt;/P&gt;&lt;P&gt;      UPLOAD_OLE              = 2&lt;/P&gt;&lt;P&gt;      OTHERS                  = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FETCH_FROM_FLAT_FILE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************&lt;/P&gt;&lt;P&gt;Include program&lt;/P&gt;&lt;P&gt;**************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***INCLUDE BDCRECX1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for programs doing a data transfer by creating a batch-input session&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for programs doing a data transfer by CALL TRANSACTION USING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  PARAMETERS SESSION RADIOBUTTON GROUP CTU.  "create session&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.&lt;/P&gt;&lt;P&gt;  selection-screen position 45.&lt;/P&gt;&lt;P&gt;  PARAMETERS CTU RADIOBUTTON GROUP  CTU.     "call transaction&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS GROUP(12).                      "group name of session&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.&lt;/P&gt;&lt;P&gt;                                      "A: show all dynpros&lt;/P&gt;&lt;P&gt;                                      "E: show dynpro on error only&lt;/P&gt;&lt;P&gt;                                      "N: do not display dynpro&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: USER(12) DEFAULT SY-UNAME.     "user for session in batch&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.&lt;/P&gt;&lt;P&gt;                                      "S: synchronously&lt;/P&gt;&lt;P&gt;                                      "A: asynchronously&lt;/P&gt;&lt;P&gt;                                      "L: local&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: KEEP AS CHECKBOX.       "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;                                      "'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  parameters E_GROUP(12).             "group name of error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: HOLDDATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_USER(12) DEFAULT SY-UNAME.    "user for error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_KEEP AS CHECKBOX.     "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;                                      "'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_HDATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.&lt;/P&gt;&lt;P&gt;  PARAMETERS: NODATA DEFAULT '/' LOWER CASE.          "nodata&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 1(33) FOR FIELD SMALLLOG.&lt;/P&gt;&lt;P&gt;  PARAMETERS: SMALLLOG as checkbox.  "' ' = log all transactions&lt;/P&gt;&lt;P&gt;                                     "'X' = no transaction logging&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  data definition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Batchinputdata of single transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      error session opened (' ' or 'X')&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   E_GROUP_OPENED.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      message texts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: T100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  at selection screen                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;group and user must be filled for create session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X' AND&lt;/P&gt;&lt;P&gt;     GROUP = SPACE OR USER = SPACE.&lt;/P&gt;&lt;P&gt;    MESSAGE E613(MS).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  open dataset                                                       *&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_DATASET USING P_DATASET.&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_DATASET&lt;/P&gt;&lt;P&gt;               FOR INPUT IN TEXT MODE&lt;/P&gt;&lt;P&gt;               ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE: / TEXT-E00, SY-SUBRC.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  close dataset                                                      *&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_DATASET USING P_DATASET.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET P_DATASET.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  create batchinput session                                          *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (not for call transaction using...)                                *&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_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE: /(20) 'Create group'(I01), GROUP.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  open batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;         EXPORTING  CLIENT   = SY-MANDT&lt;/P&gt;&lt;P&gt;                    GROUP    = GROUP&lt;/P&gt;&lt;P&gt;                    USER     = USER&lt;/P&gt;&lt;P&gt;                    KEEP     = KEEP&lt;/P&gt;&lt;P&gt;                    HOLDDATE = HOLDDATE.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_OPEN_GROUP'(I02),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  end batchinput session                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (call transaction using...: error 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_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  close batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;      WRITE: /.&lt;/P&gt;&lt;P&gt;      WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).&lt;/P&gt;&lt;P&gt;      E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Start new transaction according to parameters                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_TRANSACTION USING TCODE.&lt;/P&gt;&lt;P&gt;  DATA: L_MSTRING(480).&lt;/P&gt;&lt;P&gt;  DATA: L_SUBRC LIKE SY-SUBRC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;batch input session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;         EXPORTING TCODE     = TCODE&lt;/P&gt;&lt;P&gt;         TABLES    DYNPROTAB = BDCDATA.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'BDC_INSERT'(I03),&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               SY-SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call transaction using&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Erzeugen fehlermappe ************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    IF L_SUBRC &amp;lt;&amp;gt; 0 AND E_GROUP &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;      IF E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;             EXPORTING  CLIENT   = SY-MANDT&lt;/P&gt;&lt;P&gt;                        GROUP    = E_GROUP&lt;/P&gt;&lt;P&gt;                        USER     = E_USER&lt;/P&gt;&lt;P&gt;                        KEEP     = E_KEEP&lt;/P&gt;&lt;P&gt;                        HOLDDATE = E_HDATE.&lt;/P&gt;&lt;P&gt;         E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;           EXPORTING TCODE     = TCODE&lt;/P&gt;&lt;P&gt;           TABLES    DYNPROTAB = BDCDATA.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Start new screen                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&lt;/P&gt;&lt;P&gt;  CLEAR BDCDATA.&lt;/P&gt;&lt;P&gt;  BDCDATA-PROGRAM  = PROGRAM.&lt;/P&gt;&lt;P&gt;  BDCDATA-DYNPRO   = DYNPRO.&lt;/P&gt;&lt;P&gt;  BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Insert field                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;  IF FVAL &amp;lt;&amp;gt; NODATA.&lt;/P&gt;&lt;P&gt;    CLEAR BDCDATA.&lt;/P&gt;&lt;P&gt;    BDCDATA-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;    BDCDATA-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;    APPEND BDCDATA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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>Sat, 21 Jul 2007 07:28:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495840#M563623</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2007-07-21T07:28:53Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495841#M563624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;again kesav,&lt;/P&gt;&lt;P&gt;What u have to do is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U see after the call transaction is done i have stored the errors,ststus and warnings to a table...do the same&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 07:31:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-bdc/m-p/2495841#M563624</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2007-07-21T07:31:11Z</dc:date>
    </item>
  </channel>
</rss>

