<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: bdc in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412992#M198822</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; For this you have to use  "INCLUDE bdcrecx1." in your BDC program. This is a standard BDC program which will give you a selection screen to choose between call transaction or session. Don't forge to copy the SELECTION texts from any standard program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chek the following sample code.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----include&lt;/P&gt;&lt;P&gt; INCLUDE bdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Passing data to BDC tabel.&lt;/P&gt;&lt;P&gt;PERFORM open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LOOP AT it_output INTO wa_output.&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;P&gt;     PERFORM bdc_dynpro      USING 'MP000600' '2000'.&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                   '=UPD'.&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-BEGDA' wa_output-begda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-ENDDA' wa_output-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-NAME2' wa_output-name2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-STRAS' wa_output-stras.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-HSNMR' wa_output-hsnmr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-LOCAT' wa_output-locat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-PSTLZ' wa_output-pstlz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-ORT01' wa_output-ort01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-ORT02' wa_output-ort02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-STATE' wa_output-state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-LAND1' wa_output-land1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-TELNR' wa_output-telnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; PERFORM bdc_transaction USING 'PA30'.&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;(this is important)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CLEAR wa_output.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   PERFORM close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Bharat Kumar Reddy.V&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Bharat Kumar Reddy Vaka&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 30 Jun 2006 08:32:42 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-06-30T08:32:42Z</dc:date>
    <item>
      <title>bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412989#M198819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i wanted to make a prog which uses both the methods(session &amp;amp; call transaction). if user selects session then processing is for session &amp;amp; if it is call transaction then call transaction.&lt;/P&gt;&lt;P&gt;how to make a prog for this???&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jun 2006 08:17:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412989#M198819</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-30T08:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412990#M198820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes,.&lt;/P&gt;&lt;P&gt;You can put a checkbox for it and then based on selection either call FM BDC_INSERT ot CALL TRANSACTION&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jun 2006 08:18:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412990#M198820</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-30T08:18:56Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412991#M198821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai Salil&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the following Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report Z_CALLTRANS_VENDOR_01&lt;/P&gt;&lt;P&gt;       no standard page heading line-size 255.&lt;/P&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 it_lfa1 occurs 0,&lt;/P&gt;&lt;P&gt;        KTOKK like lfa1-ktokk,&lt;/P&gt;&lt;P&gt;        NAME1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;        SORTL like lfa1-sortl,&lt;/P&gt;&lt;P&gt;        LAND1 like lfa1-land1,&lt;/P&gt;&lt;P&gt;      end of it_lfa1.&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;data : it_bdc like bdcdata occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA: IT_MESSAGES TYPE TABLE OF BDCMSGCOLL WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*DATA: LV_MESSAGE(255).&lt;/P&gt;&lt;P&gt;data : it_messages like bdcmsgcoll occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data : V_message(255).&lt;/P&gt;&lt;P&gt;data : V_flag.&lt;/P&gt;&lt;P&gt;data : V_datum1 type sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of it_mesg occurs 0,&lt;/P&gt;&lt;P&gt;       message(100),&lt;/P&gt;&lt;P&gt;       end of it_mesg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*V_datum1 = sy-datum-1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters : P_Sess like APQI-GROUPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  perform Get_data.&lt;/P&gt;&lt;P&gt;*perform open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_lfa1.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0100'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RF02K-KTOKK'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-KTOKK'&lt;/P&gt;&lt;P&gt;                              it_lfa1-KTOKK.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0110'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFA1-LAND1'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=UPDA'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-NAME1'&lt;/P&gt;&lt;P&gt;                              it_lfa1-name1.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-SORTL'&lt;/P&gt;&lt;P&gt;                              it_lfa1-sortl.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-LAND1'&lt;/P&gt;&lt;P&gt;                              it_lfa1-land1.&lt;/P&gt;&lt;P&gt;call transaction 'XK01' using it_bdc&lt;/P&gt;&lt;P&gt;                       mode 'N'&lt;/P&gt;&lt;P&gt;                       update 'S'&lt;/P&gt;&lt;P&gt;                       messages into it_messages.&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;    if V_flag &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      perform open_group.&lt;/P&gt;&lt;P&gt;      V_flag = 'X'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    perform bdc_transaction. "using 'XK01'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;    perform format_messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh : it_bdc,it_messages.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;if V_flag = 'X'.&lt;/P&gt;&lt;P&gt;  perform close_group.&lt;/P&gt;&lt;P&gt;endif.&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  Get_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM Get_data .&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   FILENAME                      = 'C:\srinu_vendor.txt'&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'DAT'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = it_lfa1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   CONVERSION_ERROR              = 1&lt;/P&gt;&lt;P&gt;   INVALID_TABLE_WIDTH           = 2&lt;/P&gt;&lt;P&gt;   INVALID_TYPE                  = 3&lt;/P&gt;&lt;P&gt;   NO_BATCH                      = 4&lt;/P&gt;&lt;P&gt;   UNKNOWN_ERROR                 = 5&lt;/P&gt;&lt;P&gt;   GUI_REFUSE_FILETRANSFER       = 6&lt;/P&gt;&lt;P&gt;   OTHERS                        = 7&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;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.                    " Get_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  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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0061   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0062   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&lt;/P&gt;&lt;P&gt;  CLEAR it_BDC.&lt;/P&gt;&lt;P&gt;  it_BDC-PROGRAM  = PROGRAM.&lt;/P&gt;&lt;P&gt;  it_BDC-DYNPRO   = DYNPRO.&lt;/P&gt;&lt;P&gt;  it_BDC-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND it_BDC.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;    CLEAR it_BDC.&lt;/P&gt;&lt;P&gt;    it_BDC-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;    it_BDC-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;    APPEND it_BDC.&lt;/P&gt;&lt;P&gt;ENDFORM.&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  format_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM format_messages .&lt;/P&gt;&lt;P&gt;loop at it_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              = it_messages-MSGID&lt;/P&gt;&lt;P&gt;   LANG            = 'EN'&lt;/P&gt;&lt;P&gt;   NO              = it_messages-MSGNR&lt;/P&gt;&lt;P&gt;   V1              = it_messages-MSGV1&lt;/P&gt;&lt;P&gt;   V2              = it_messages-MSGV2&lt;/P&gt;&lt;P&gt;   V3              = it_messages-MSGV3&lt;/P&gt;&lt;P&gt;   V4              = it_messages-MSGV4&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   MSG             = V_message&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;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;write : / V_message.&lt;/P&gt;&lt;P&gt;clear : V_message.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " format_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;P&gt;*&amp;amp;      Form  open_group&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM open_group .&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                     = P_Sess&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HOLDDATE                  = V_datum1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   KEEP                      = 'X'&lt;/P&gt;&lt;P&gt;   USER                      = SY-UNAME&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;write : / 'Session Creating wit Name : ',P_Sess.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " open_group&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_group&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM close_group .&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " close_group&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_transaction&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0132   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_transaction. "USING    VALUE(P_0132).&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   TCODE                  = 'XK01'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POST_LOCAL             = NOVBLOCAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRINTING               = NOPRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SIMUBATCH              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CTUPARAMS              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DYNPROTAB              = it_bdc&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTERNAL_ERROR         = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NOT_OPEN               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  QUEUE_ERROR            = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TCODE_INVALID          = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRINTING_INVALID       = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POSTING_INVALID        = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                 = 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&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.                    " bdc_transaction&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards&lt;/P&gt;&lt;P&gt;Sreenivasulu P&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jun 2006 08:24:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412991#M198821</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-30T08:24:18Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412992#M198822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; For this you have to use  "INCLUDE bdcrecx1." in your BDC program. This is a standard BDC program which will give you a selection screen to choose between call transaction or session. Don't forge to copy the SELECTION texts from any standard program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chek the following sample code.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----include&lt;/P&gt;&lt;P&gt; INCLUDE bdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Passing data to BDC tabel.&lt;/P&gt;&lt;P&gt;PERFORM open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LOOP AT it_output INTO wa_output.&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;P&gt;     PERFORM bdc_dynpro      USING 'MP000600' '2000'.&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                   '=UPD'.&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-BEGDA' wa_output-begda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-ENDDA' wa_output-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-NAME2' wa_output-name2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-STRAS' wa_output-stras.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-HSNMR' wa_output-hsnmr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-LOCAT' wa_output-locat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-PSTLZ' wa_output-pstlz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-ORT01' wa_output-ort01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-ORT02' wa_output-ort02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-STATE' wa_output-state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-LAND1' wa_output-land1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'P0006-TELNR' wa_output-telnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; PERFORM bdc_transaction USING 'PA30'.&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;(this is important)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CLEAR wa_output.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   PERFORM close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Bharat Kumar Reddy.V&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Bharat Kumar Reddy Vaka&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jun 2006 08:32:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412992#M198822</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-30T08:32:42Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412993#M198823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Salil,&lt;/P&gt;&lt;P&gt;Copy and paste this code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create a .CSV file and put any of your Zprogram name.Execute this code and press F4 on parameter and accept thsi file and execute&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ztest_bdc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_ifile TYPE dxfile-filename.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_sess RADIOBUTTON GROUP g3                  "create session&lt;/P&gt;&lt;P&gt;                   DEFAULT 'X' USER-COMMAND bdc,&lt;/P&gt;&lt;P&gt;            p_ctu  RADIOBUTTON GROUP g3.                 "call transaction&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b3.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;       str TYPE string,&lt;/P&gt;&lt;P&gt;       END OF itab.&lt;/P&gt;&lt;P&gt;data : l_file TYPE string,&lt;/P&gt;&lt;P&gt;       t_bdcdata TYPE STANDARD TABLE OF bdcdata,&lt;/P&gt;&lt;P&gt;       wa_bdcdata LIKE LINE OF t_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION SCREEN ON VALUE REQUEST&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Value request for the filename.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ifile.&lt;/P&gt;&lt;P&gt;  PERFORM help_input_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  CLEAR l_file.&lt;/P&gt;&lt;P&gt;  l_file = p_ifile.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                = l_file&lt;/P&gt;&lt;P&gt;      filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                = itab&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_open_error         = 1&lt;/P&gt;&lt;P&gt;      file_read_error         = 2&lt;/P&gt;&lt;P&gt;      no_batch                = 3&lt;/P&gt;&lt;P&gt;      gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;      invalid_type            = 5&lt;/P&gt;&lt;P&gt;      no_authority            = 6&lt;/P&gt;&lt;P&gt;      unknown_error           = 7&lt;/P&gt;&lt;P&gt;      bad_data_format         = 8&lt;/P&gt;&lt;P&gt;      header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;      separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;      header_too_long         = 11&lt;/P&gt;&lt;P&gt;      unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;      access_denied           = 13&lt;/P&gt;&lt;P&gt;      dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;      disk_full               = 15&lt;/P&gt;&lt;P&gt;      dp_timeout              = 16&lt;/P&gt;&lt;P&gt;      OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Start new session&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_sess = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_open.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab.&lt;/P&gt;&lt;P&gt;    PERFORM creat_batch_input.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_insert.&lt;/P&gt;&lt;P&gt;    IF p_ctu = 'X'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE38'  USING t_bdcdata  MODE 'A'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_sess = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_close .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC  EQ 0.&lt;/P&gt;&lt;P&gt;      MESSAGE I001(ZM) WITH 'Session created check in transaction SM35'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bdc_open&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_open .&lt;/P&gt;&lt;P&gt;&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               = 'ZMUK'&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;ENDFORM.                    " bdc_open&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  creat_batch_input&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM creat_batch_input .&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLWBABAP' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                '=STRT'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RS38M-PROGRAMM'&lt;/P&gt;&lt;P&gt;                                itab-str.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RS38M-FUNC_EDIT'&lt;/P&gt;&lt;P&gt;                                'X'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLSLVC_FULLSCREEN' '0500'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                '=&amp;amp;F03'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLWBABAP' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                '=BACK'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RS38M-PROGRAMM'&lt;/P&gt;&lt;P&gt;                                itab-str.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RS38M-FUNC_EDIT'&lt;/P&gt;&lt;P&gt;                                'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " creat_batch_input&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_insert&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_insert .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      tcode            = 'SE38'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      dynprotab        = t_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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_insert&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0168   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0169   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro  USING p_program TYPE any&lt;/P&gt;&lt;P&gt;                       p_dynpro  TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_bdcdata.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-program  = p_program.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-dynpro   = p_dynpro.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_bdcdata TO t_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0179   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0180   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_field  USING   p_fnam TYPE any&lt;/P&gt;&lt;P&gt;                        p_fval TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_bdcdata.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-fnam = p_fnam.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-fval = p_fval.&lt;/P&gt;&lt;P&gt;  CONDENSE wa_bdcdata-fval.&lt;/P&gt;&lt;P&gt;  APPEND wa_bdcdata TO t_bdcdata.&lt;/P&gt;&lt;P&gt;&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  bdc_close&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_close .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_open    = 1&lt;/P&gt;&lt;P&gt;      queue_error = 2&lt;/P&gt;&lt;P&gt;      OTHERS      = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_close&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  help_input_file&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&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;FORM help_input_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:  lt_file_table TYPE filetable,&lt;/P&gt;&lt;P&gt;         la_file_table LIKE LINE OF lt_file_table,&lt;/P&gt;&lt;P&gt;         l_rc TYPE i,&lt;/P&gt;&lt;P&gt;         l_pcdsn TYPE cffile-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH lt_file_table.&lt;/P&gt;&lt;P&gt;  CLEAR la_file_table.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table = lt_file_table&lt;/P&gt;&lt;P&gt;      rc         = l_rc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE lt_file_table INTO la_file_table INDEX 1.&lt;/P&gt;&lt;P&gt;  l_pcdsn = la_file_table-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE l_pcdsn TO p_ifile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " help_input_file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: mukesh kumar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jun 2006 08:37:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412993#M198823</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-30T08:37:40Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412994#M198824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Salil,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try this code it will definetly work out...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: F_STOP,     " Flag used to stop processing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Internal table for input file for ascii data load&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_INFILE_ASC OCCURS 0,&lt;/P&gt;&lt;P&gt;         STRING(500) TYPE C,&lt;/P&gt;&lt;P&gt;      END OF I_INFILE_ASC.&lt;/P&gt;&lt;P&gt;*--- Internal table to store messages from Call Transaction.&lt;/P&gt;&lt;P&gt;DATA : I_BDCMSGCOLL TYPE STANDARD TABLE OF BDCMSGCOLL WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;*--- Internal table for BDC data&lt;/P&gt;&lt;P&gt;       IT_BDCTAB TYPE BDCDATA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;*--- Internal table to hold standard text&lt;/P&gt;&lt;P&gt;       I_TDLINES LIKE TLINE OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*--- Internal to hold the records in the text file&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_DATA OCCURS 10,&lt;/P&gt;&lt;P&gt;         MATNR(18),                   " Material Code&lt;/P&gt;&lt;P&gt;         MBRSH(1),                    " Industry sector&lt;/P&gt;&lt;P&gt;         MTART(4),                    " Material Type&lt;/P&gt;&lt;P&gt;         WERKS(4),                    " Plant&lt;/P&gt;&lt;P&gt;         LGORT(4),                    " Storage Location&lt;/P&gt;&lt;P&gt;         MAKTX(40),                   " Material Description&lt;/P&gt;&lt;P&gt;         BISMT(18),                   " Old Material Number&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;         EKGRP(3),                    " Purchase grp&lt;/P&gt;&lt;P&gt;         DISMM(2),                    " MRP Type&lt;/P&gt;&lt;P&gt;         BESKZ(1),                    " Procurement type&lt;/P&gt;&lt;P&gt;         BKLAS(4),                    " Valuation Class&lt;/P&gt;&lt;P&gt;         VPRSV(1),                    " Price Control&lt;/P&gt;&lt;P&gt;         MTVFP(2),                    " Availability check&lt;/P&gt;&lt;P&gt;       END OF IT_DATA.&lt;/P&gt;&lt;P&gt;*--- Internal table to hold the error records.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_ERROR OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE IT_DATA.&lt;/P&gt;&lt;P&gt;DATA :  MESSAGE(80) TYPE C,&lt;/P&gt;&lt;P&gt;      END OF IT_ERROR.&lt;/P&gt;&lt;P&gt;*--- Internal table for session names&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_SESSION OCCURS 0,&lt;/P&gt;&lt;P&gt;         NAME(12),&lt;/P&gt;&lt;P&gt;       END OF IT_SESSION.&lt;/P&gt;&lt;P&gt;*--- Internal table to hold Collecting messages in the SAP System&lt;/P&gt;&lt;P&gt;DATA : IT_MSG LIKE BDCMSGCOLL OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*--- Internal table to hold error records to be downloaded&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF I_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;        STRING(1000),&lt;/P&gt;&lt;P&gt;       END OF I_FINAL.&lt;/P&gt;&lt;P&gt;*Internal table for session names&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF I_SESSION OCCURS 0,&lt;/P&gt;&lt;P&gt;         NAME(12),&lt;/P&gt;&lt;P&gt;       END OF I_SESSION.&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;  CONSTANTS                                                          *&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;CONSTANTS : C_FILETYPE LIKE RLGRAP-FILETYPE VALUE 'DAT', " Filetype&lt;/P&gt;&lt;P&gt;            C_TCODE    LIKE TSTC-TCODE VALUE 'MM01',     " Transaction&lt;/P&gt;&lt;P&gt;            C_MODE(1)    VALUE 'A',                      " Mode&lt;/P&gt;&lt;P&gt;            C_UPDATE(1)  VALUE 'S',                      " Update&lt;/P&gt;&lt;P&gt;            C_SESS(9) TYPE C VALUE 'LEGACY'.&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 DECLARATIONS                                                  *&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;DATA : V_TABIX LIKE SY-TABIX,                          " Table Index&lt;/P&gt;&lt;P&gt;       V_MESG(80),                                     " Message,&lt;/P&gt;&lt;P&gt;       V_ERROR TYPE I,                                 " No.of Errors&lt;/P&gt;&lt;P&gt;       V_SUCCESS TYPE I,                               " No.of successes&lt;/P&gt;&lt;P&gt;       V_BDC_SESS TYPE APQI-GROUPID VALUE 'UPLOAD',&lt;/P&gt;&lt;P&gt;       V_MAX TYPE I VALUE '900',                       " Max records&lt;/P&gt;&lt;P&gt;       V_LINES TYPE I,                                 " No.of records&lt;/P&gt;&lt;P&gt;       V_INSERT TYPE I,&lt;/P&gt;&lt;P&gt;       V_COUNTER(2) TYPE N,                            " Sessions&lt;/P&gt;&lt;P&gt;       F_OPENSESSION TYPE C,&lt;/P&gt;&lt;P&gt;       V_RECORDS TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_EMPTY   TYPE I,            " No. of empty records&lt;/P&gt;&lt;P&gt;      V_TOTAL   TYPE I,            " Total no. of records with data&lt;/P&gt;&lt;P&gt;      V_SESSION TYPE APQI-GROUPID, " Session name&lt;/P&gt;&lt;P&gt;      V_DEL TYPE X VALUE '09'.     " To seperate fields in case of Dat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_INTERN TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: V_SFILE(255),                " File path&lt;/P&gt;&lt;P&gt;      V_EXT(3).                    " File Extension&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;  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;SELECTION-SCREEN BEGIN OF BLOCK SCR1 WITH FRAME TITLE TEXT_001.&lt;/P&gt;&lt;P&gt;PARAMETER : P_FILE TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT  " Input File&lt;/P&gt;&lt;P&gt;            'C:\Material_master.TXT',&lt;/P&gt;&lt;P&gt;            P_ERR TYPE RLGRAP-FILENAME  OBLIGATORY DEFAULT  " Error File&lt;/P&gt;&lt;P&gt;            'C:\Material_master_ERR.TXT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER:  P_FTYPE LIKE RLGRAP-FILETYPE DEFAULT 'DAT'.     " File Type&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK SCR1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK MODE WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;PARAMETER : P_CT RADIOBUTTON GROUP BDC,                " Call Trans&lt;/P&gt;&lt;P&gt;            P_BDC  RADIOBUTTON GROUP BDC DEFAULT 'X'.  " Create BDC sess&lt;/P&gt;&lt;P&gt;PARAMETER : P_SESS1 TYPE APQI-GROUPID OBLIGATORY&lt;/P&gt;&lt;P&gt;                        DEFAULT C_SESS.                " Session name&lt;/P&gt;&lt;P&gt;PARAMETER : P_MAX(4) OBLIGATORY DEFAULT '100', " no.of recs in a session&lt;/P&gt;&lt;P&gt;            P_TEST AS CHECKBOX DEFAULT 'X'.            " Test mode&lt;/P&gt;&lt;P&gt;PARAMETERS: P_HEADER TYPE I DEFAULT 0.         " Header Lines&lt;/P&gt;&lt;P&gt;PARAMETERS: P_BEGCOL TYPE I DEFAULT 1     NO-DISPLAY,&lt;/P&gt;&lt;P&gt;            P_BEGROW TYPE I DEFAULT 1     NO-DISPLAY,&lt;/P&gt;&lt;P&gt;            P_ENDCOL TYPE I DEFAULT 100   NO-DISPLAY,&lt;/P&gt;&lt;P&gt;            P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK MODE.&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 ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;P&gt;*--- Validating file&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_FILE USING P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_ERR.&lt;/P&gt;&lt;P&gt;*--- Validating file&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_FILE USING P_ERR.&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-OF-SELECTION&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to store the data to an internal table&lt;/P&gt;&lt;P&gt;  PERFORM READ_INPUT_DATA.&lt;/P&gt;&lt;P&gt;*--- Perform to get values from the text file&lt;/P&gt;&lt;P&gt;  PERFORM FILE_VALIDATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Process data in non test mode only&lt;/P&gt;&lt;P&gt;  IF P_TEST = SPACE.&lt;/P&gt;&lt;P&gt;    IF NOT IT_DATA[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM PROCESS_DATA.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE S003(ZLKPL_MSGCLASS).&lt;/P&gt;&lt;P&gt;      F_STOP = 'X'.&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&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 OF SELECTION.                                                  *&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF F_STOP = SPACE.&lt;/P&gt;&lt;P&gt;*--- Perform to display the selection screen report&lt;/P&gt;&lt;P&gt;    PERFORM DISPLAY_SEL_SCR_REPORT.&lt;/P&gt;&lt;P&gt;*---- Perform to display the no.of records,success and error records&lt;/P&gt;&lt;P&gt;    PERFORM DISPLAY_SUMMARY_REPORT.&lt;/P&gt;&lt;P&gt;*--- Perform to display the session report&lt;/P&gt;&lt;P&gt;    PERFORM SESSION_REPORT.&lt;/P&gt;&lt;P&gt;*--- Downloading error records.&lt;/P&gt;&lt;P&gt;    PERFORM DOWNLOAD_ERROR_FILES.&lt;/P&gt;&lt;P&gt;*---- Perform to display the error records&lt;/P&gt;&lt;P&gt;    PERFORM DISPLAY_ERROR_RECORDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&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;Form        : validate_input_file&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;Description : To provide F4 help for file if read from PC&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 VALIDATE_FILE USING  F_FILE TYPE RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            FILE_NAME     = F_FILE&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            MASK_TOO_LONG = 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 S010(ZLKPL_MSGCLASS).  " 'Error in getting filename'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_input_file&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;Form       :  Read_inputfile&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;Description : To upload the data into 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 READ_INPUTFILE TABLES F_INFILE&lt;/P&gt;&lt;P&gt;                     USING F_FILE   TYPE RLGRAP-FILENAME&lt;/P&gt;&lt;P&gt;                           F_FILTYP TYPE RLGRAP-FILETYPE.&lt;/P&gt;&lt;P&gt;  CLEAR F_INFILE.&lt;/P&gt;&lt;P&gt;  REFRESH F_INFILE.&lt;/P&gt;&lt;P&gt;*--- Function module to upload the input file&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            FILENAME                = F_FILE&lt;/P&gt;&lt;P&gt;            FILETYPE                = F_FILTYP&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DATA_TAB                = F_INFILE&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_TYPE            = 4&lt;/P&gt;&lt;P&gt;            NO_BATCH                = 5&lt;/P&gt;&lt;P&gt;            UNKNOWN_ERROR           = 6&lt;/P&gt;&lt;P&gt;            INVALID_TABLE_WIDTH     = 7&lt;/P&gt;&lt;P&gt;            GUI_REFUSE_FILETRANSFER = 8&lt;/P&gt;&lt;P&gt;            CUSTOMER_ERROR          = 9&lt;/P&gt;&lt;P&gt;            OTHERS                  = 10.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I011(ZLKPL_MSGCLASS).   " 'Error in uploading the file'.&lt;/P&gt;&lt;P&gt;    F_STOP = 'X'.&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.          "Read_inputfile&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  FORMAT_ASC_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;      To format the ASCII 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 FORMAT_ASC_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_INFILE_ASC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IT_DATA-MATNR        =  I_INFILE_ASC-STRING+0(18).&lt;/P&gt;&lt;P&gt;    IT_DATA-MBRSH        =  I_INFILE_ASC-STRING+18(1).&lt;/P&gt;&lt;P&gt;    IT_DATA-MTART        =  I_INFILE_ASC-STRING+19(4).&lt;/P&gt;&lt;P&gt;    IT_DATA-WERKS        =  I_INFILE_ASC-STRING+23(4).&lt;/P&gt;&lt;P&gt;    IT_DATA-LGORT        =  I_INFILE_ASC-STRING+27(4).&lt;/P&gt;&lt;P&gt;    IT_DATA-MAKTX        =  I_INFILE_ASC-STRING+31(40).&lt;/P&gt;&lt;P&gt;    IT_DATA-BISMT        =  I_INFILE_ASC-STRING+71(18).&lt;/P&gt;&lt;P&gt;    IT_DATA-MEINS        =  I_INFILE_ASC-STRING+88(3).&lt;/P&gt;&lt;P&gt;    IT_DATA-MATKL        =  I_INFILE_ASC-STRING+91(9).&lt;/P&gt;&lt;P&gt;    IT_DATA-EKGRP        =  I_INFILE_ASC-STRING+100(3).&lt;/P&gt;&lt;P&gt;    IT_DATA-DISMM        =  I_INFILE_ASC-STRING+103(2).&lt;/P&gt;&lt;P&gt;    IT_DATA-BESKZ        =  I_INFILE_ASC-STRING+104(1).&lt;/P&gt;&lt;P&gt;    IT_DATA-BKLAS        =  I_INFILE_ASC-STRING+108(4).&lt;/P&gt;&lt;P&gt;    IT_DATA-VPRSV        =  I_INFILE_ASC-STRING+112(1).&lt;/P&gt;&lt;P&gt;    IT_DATA-MTVFP        =  I_INFILE_ASC-STRING+113(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FORMAT_ASC_DATA&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;     Form  FILE_VALIDATION&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;      To validate 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 FILE_VALIDATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LV_TABIX LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;        LV_FLAG(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_DATA.&lt;/P&gt;&lt;P&gt;    CLEAR V_MESG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ----- check for the mandatory fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF    IT_DATA-MAKTX IS INITIAL&lt;/P&gt;&lt;P&gt;      OR  IT_DATA-MEINS IS INITIAL&lt;/P&gt;&lt;P&gt;      OR  IT_DATA-MATKL IS INITIAL&lt;/P&gt;&lt;P&gt;      OR  IT_DATA-EKGRP IS INITIAL&lt;/P&gt;&lt;P&gt;      OR  IT_DATA-DISMM IS INITIAL&lt;/P&gt;&lt;P&gt;      OR  IT_DATA-VPRSV IS INITIAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LV_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;      V_MESG = 'Mandatory fields missing'(002).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ----- Perform to store the error record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM ERROR_PROCESSING. " USING IT_DATA V_MESG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ----- Deleting the record which is initial&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      DELETE IT_DATA INDEX LV_TABIX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  CLEAR V_MESG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_VALIDATION&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_processing&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      To process the error records&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_PROCESSING. " USING    F_IT_DATA&lt;/P&gt;&lt;P&gt;  "F_MESG.&lt;/P&gt;&lt;P&gt;  V_ERROR = V_ERROR + 1.&lt;/P&gt;&lt;P&gt;  IT_ERROR = IT_DATA.&lt;/P&gt;&lt;P&gt;  IT_ERROR-MESSAGE = V_MESG.&lt;/P&gt;&lt;P&gt;  APPEND IT_ERROR.&lt;/P&gt;&lt;P&gt;  CLEAR  IT_ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " error_processing&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;Form        : process_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--- Populating the BDC 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 PROCESS_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR  :IT_BDCTAB,&lt;/P&gt;&lt;P&gt;            I_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;    REFRESH:IT_BDCTAB,&lt;/P&gt;&lt;P&gt;            I_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;*--- To fill the data from the text file&lt;/P&gt;&lt;P&gt;    PERFORM FILL_BDCDATA.&lt;/P&gt;&lt;P&gt;    IF P_CT EQ 'X'.&lt;/P&gt;&lt;P&gt;*--- Posts data using call transaction method.&lt;/P&gt;&lt;P&gt;      PERFORM CALL_TRANSACTION.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;*--- Posts data using session method.&lt;/P&gt;&lt;P&gt;      PERFORM CALL_SESSION USING C_TCODE P_MAX P_SESS1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF F_OPENSESSION = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM CLOSE_SESSION.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PROCESS_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  FILL_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;      To populate 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 FILL_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the data in screen 0060&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_DATA_SCREEN_0060.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the data in screen 0070&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_DATA_SCREEN_0070.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the data in screen 0080&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_DATA_SCREEN_0080.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the data in screen 4004&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_DATA_SCREEN_4004.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the BASIC data 2 in screen 4004&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_BDATA2_SCREEN_4004.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the Purchasing data in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_PURCHASE_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the Purchase order text data in screen 4040&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_PURORDTXT_SCREEN_4040.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the MRP1 in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_MRP1_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the MRP2 in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_MRP2_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the MRP3 in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_MRP3_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the MRP4 in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_MRP4_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the Plant Data &amp;amp; Storage loc in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_P_SL1_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the Plant Data &amp;amp; Storage loc in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_P_SL2_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the Accounting 1 in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_ACC1_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to populate the Accounting 2 in screen 4000&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_ACC2_SCREEN_4000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILL_BDCDATA&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 F_PROGRAM F_DYNPRO.&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCTAB.&lt;/P&gt;&lt;P&gt;  IT_BDCTAB-PROGRAM  = F_PROGRAM.&lt;/P&gt;&lt;P&gt;  IT_BDCTAB-DYNPRO   = F_DYNPRO.&lt;/P&gt;&lt;P&gt;  IT_BDCTAB-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCTAB.&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; SPACE.&lt;/P&gt;&lt;P&gt;    CLEAR IT_BDCTAB.&lt;/P&gt;&lt;P&gt;    IT_BDCTAB-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;    IT_BDCTAB-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;    APPEND IT_BDCTAB.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&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;Form      : call_transaction                                        *&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;*--- Posts data using call transaction method.                        *&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;P&gt;FORM CALL_TRANSACTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: V_LINES,&lt;/P&gt;&lt;P&gt;         V_MESG.&lt;/P&gt;&lt;P&gt;*----- call transaction method to upload data&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION C_TCODE USING IT_BDCTAB&lt;/P&gt;&lt;P&gt;                                 MODE   C_MODE&lt;/P&gt;&lt;P&gt;                                 UPDATE C_UPDATE&lt;/P&gt;&lt;P&gt;                                 MESSAGES INTO I_BDCMSGCOLL.&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;    DESCRIBE TABLE I_BDCMSGCOLL LINES V_LINES.&lt;/P&gt;&lt;P&gt;    READ TABLE I_BDCMSGCOLL INDEX V_LINES TRANSPORTING ALL FIELDS.&lt;/P&gt;&lt;P&gt;*--- Formats message returned by Call transaction.&lt;/P&gt;&lt;P&gt;    PERFORM FORMAT_MESSAGE.&lt;/P&gt;&lt;P&gt;*--- Perform to process error processing&lt;/P&gt;&lt;P&gt;    PERFORM ERROR_PROCESSING." USING IT_DATA V_MESG.&lt;/P&gt;&lt;P&gt;    PERFORM CALL_SESSION USING C_TCODE P_MAX P_SESS1.&lt;/P&gt;&lt;P&gt;  ELSE.                              "If call transaction is successful.&lt;/P&gt;&lt;P&gt;    V_SUCCESS = V_SUCCESS + 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_transaction&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  format_message&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;*-------Reading messages&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;P&gt;FORM FORMAT_MESSAGE.&lt;/P&gt;&lt;P&gt;  CLEAR V_MESG.&lt;/P&gt;&lt;P&gt;*--- Function module to get the message.&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_BDCMSGCOLL-MSGID&lt;/P&gt;&lt;P&gt;            LANG = SY-LANGU&lt;/P&gt;&lt;P&gt;            NO   = I_BDCMSGCOLL-MSGNR&lt;/P&gt;&lt;P&gt;            V1   = I_BDCMSGCOLL-MSGV1&lt;/P&gt;&lt;P&gt;            V2   = I_BDCMSGCOLL-MSGV2&lt;/P&gt;&lt;P&gt;            V3   = I_BDCMSGCOLL-MSGV3&lt;/P&gt;&lt;P&gt;            V4   = I_BDCMSGCOLL-MSGV4&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            MSG  = V_MESG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " format_message&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;Form        : call_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : To call the session either for FSP0 or FSP2&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 CALL_SESSION  USING  FP_TCODE TYPE ANY&lt;/P&gt;&lt;P&gt;                          F_MAX    TYPE ANY&lt;/P&gt;&lt;P&gt;                          F_SESS1  TYPE ANY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To open the session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM OPEN_SESSION USING F_MAX F_SESS1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform Insert BDC Session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BDC_INSERT USING FP_TCODE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To close the session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF V_INSERT = F_MAX .&lt;/P&gt;&lt;P&gt;    PERFORM CLOSE_SESSION.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_session&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;Form        : open_session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Form to open BDC open group.&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_SESSION USING F_MAX TYPE ANY&lt;/P&gt;&lt;P&gt;                        F_SESS1 TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF V_INSERT = F_MAX OR F_OPENSESSION = SPACE.&lt;/P&gt;&lt;P&gt;    V_COUNTER = V_COUNTER + 1.&lt;/P&gt;&lt;P&gt;    CLEAR V_SESSION.&lt;/P&gt;&lt;P&gt;    CONCATENATE F_SESS1 '_' V_COUNTER INTO V_SESSION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Opening the BDC Session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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               = V_SESSION&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;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE I007(ZLKPL_MSGCLASS).  " 'Error in Opening the Session'.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CLEAR V_INSERT.&lt;/P&gt;&lt;P&gt;      F_OPENSESSION = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " open_session&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;Form        : 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Form to Insert 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 BDC_INSERT USING FP_TCODE TYPE ANY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inserting  BDC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            TCODE            = FP_TCODE&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DYNPROTAB        = IT_BDCTAB&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            INTERNAL_ERROR   = 1&lt;/P&gt;&lt;P&gt;            NOT_OPEN         = 2&lt;/P&gt;&lt;P&gt;            QUEUE_ERROR      = 3&lt;/P&gt;&lt;P&gt;            TCODE_INVALID    = 4&lt;/P&gt;&lt;P&gt;            PRINTING_INVALID = 5&lt;/P&gt;&lt;P&gt;            POSTING_INVALID  = 6&lt;/P&gt;&lt;P&gt;            OTHERS           = 7.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I007(ZLKPL_MSGCLASS).  " 'Error in inserting the record'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    V_INSERT = V_INSERT + 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_insert&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;Form        : close_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : To close the 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_SESSION.&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;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I007(ZLKPL_MSGCLASS).   " 'Session cannot be closed'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    I_SESSION-NAME = V_SESSION.&lt;/P&gt;&lt;P&gt;    APPEND I_SESSION.&lt;/P&gt;&lt;P&gt;    CLEAR I_SESSION.&lt;/P&gt;&lt;P&gt;    CLEAR F_OPENSESSION.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " close_session&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  DISPLAY_SUCCESS_ERROR_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;      To display the no.of records,success and error records&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 DISPLAY_SUMMARY_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SKIP 3.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;  WRITE :/1(1) SY-VLINE,&lt;/P&gt;&lt;P&gt;          65 'SUMMARY REPORT'(003),&lt;/P&gt;&lt;P&gt;         132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  PERFORM COLOR_FILL.&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;  WRITE :/1(1)   SY-VLINE,&lt;/P&gt;&lt;P&gt;          2(24)  'Processed Records'(004),&lt;/P&gt;&lt;P&gt;          27(2)  ' : ',&lt;/P&gt;&lt;P&gt;          30     V_TOTAL,&lt;/P&gt;&lt;P&gt;          132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;  PERFORM COLOR_FILL.&lt;/P&gt;&lt;P&gt;  WRITE :/1(1)   SY-VLINE,&lt;/P&gt;&lt;P&gt;          2(24)  'Successfully Uploaded'(005),&lt;/P&gt;&lt;P&gt;          27(2)  ' : ',&lt;/P&gt;&lt;P&gt;          30     V_SUCCESS,&lt;/P&gt;&lt;P&gt;          132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;  PERFORM COLOR_FILL.&lt;/P&gt;&lt;P&gt;  WRITE :/1(1)   SY-VLINE,&lt;/P&gt;&lt;P&gt;          2(24)  'Error Records'(006),&lt;/P&gt;&lt;P&gt;          27(2)  ' : ',&lt;/P&gt;&lt;P&gt;          30     V_ERROR,&lt;/P&gt;&lt;P&gt;          132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;  PERFORM COLOR_FILL.&lt;/P&gt;&lt;P&gt;  WRITE :/1(1)   SY-VLINE,&lt;/P&gt;&lt;P&gt;          2(24)  'Empty Records'(007),&lt;/P&gt;&lt;P&gt;          27(2)  ' : ',&lt;/P&gt;&lt;P&gt;          30     V_EMPTY,&lt;/P&gt;&lt;P&gt;          132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_SUCCESS_ERROR_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  DISPLAY_ERROR_RECORDS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      To display the error records&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 DISPLAY_ERROR_RECORDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF V_ERROR &amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ---- Perform to display the error header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM DISPLAY_ERROR_HEADER.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ---- Perform to display the error records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM DISPLAY_ERROR_DETAIL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ERROR_RECORDS&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  DISPLAY_ERROR_HEADER&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      To display the error header&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 DISPLAY_ERROR_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE :/1(89) SY-ULINE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;  WRITE :/1(1) SY-VLINE,&lt;/P&gt;&lt;P&gt;         40 'ERROR RECORDS'(008),&lt;/P&gt;&lt;P&gt;          132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;  WRITE : /1(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;        2(18) 'Material Number'(009),&lt;/P&gt;&lt;P&gt;        20(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;        21(4) 'Type'(010),&lt;/P&gt;&lt;P&gt;        25(1) SY-VLINE,&lt;/P&gt;&lt;P&gt;        26(5) 'Plant'(011),&lt;/P&gt;&lt;P&gt;        31(1) SY-VLINE,&lt;/P&gt;&lt;P&gt;        32(16) 'storage location'(012),&lt;/P&gt;&lt;P&gt;        48(1) SY-VLINE,&lt;/P&gt;&lt;P&gt;        49(80) 'Message'(013),&lt;/P&gt;&lt;P&gt;        132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/1(132)  SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ERROR_HEADER&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  DISPLAY_ERROR_DETAIL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      To display the error records&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 DISPLAY_ERROR_DETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_ERROR.&lt;/P&gt;&lt;P&gt;    WRITE : /1(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;            2(18) IT_ERROR-MATNR,&lt;/P&gt;&lt;P&gt;            20(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;            21(4) IT_ERROR-MTART,&lt;/P&gt;&lt;P&gt;            25(1) SY-VLINE,&lt;/P&gt;&lt;P&gt;            26(5) IT_ERROR-WERKS,&lt;/P&gt;&lt;P&gt;            31(1) SY-VLINE,&lt;/P&gt;&lt;P&gt;            32(16) IT_ERROR-LGORT,&lt;/P&gt;&lt;P&gt;            48(1) SY-VLINE,&lt;/P&gt;&lt;P&gt;            49(80) IT_ERROR-MESSAGE,&lt;/P&gt;&lt;P&gt;            132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ERROR_DETAIL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWNLOAD_ERROR_FILES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT IT_ERROR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF P_FTYPE = 'DAT'.&lt;/P&gt;&lt;P&gt;      LOOP AT IT_ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CONCATENATE IT_ERROR-MATNR&lt;/P&gt;&lt;P&gt;                    IT_ERROR-MBRSH&lt;/P&gt;&lt;P&gt;                    IT_ERROR-MTART&lt;/P&gt;&lt;P&gt;                    IT_ERROR-WERKS&lt;/P&gt;&lt;P&gt;                    IT_ERROR-LGORT&lt;/P&gt;&lt;P&gt;                    IT_ERROR-MAKTX&lt;/P&gt;&lt;P&gt;                    IT_ERROR-BISMT&lt;/P&gt;&lt;P&gt;                    IT_ERROR-MEINS&lt;/P&gt;&lt;P&gt;                    IT_ERROR-MATKL&lt;/P&gt;&lt;P&gt;                    IT_ERROR-EKGRP&lt;/P&gt;&lt;P&gt;                    IT_ERROR-DISMM&lt;/P&gt;&lt;P&gt;                    IT_ERROR-BESKZ&lt;/P&gt;&lt;P&gt;                    IT_ERROR-BKLAS&lt;/P&gt;&lt;P&gt;                    IT_ERROR-VPRSV&lt;/P&gt;&lt;P&gt;                    IT_ERROR-MTVFP&lt;/P&gt;&lt;P&gt;                INTO I_FINAL-STRING SEPARATED BY V_DEL.&lt;/P&gt;&lt;P&gt;        APPEND I_FINAL.&lt;/P&gt;&lt;P&gt;        CLEAR I_FINAL.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      CLEAR I_FINAL.&lt;/P&gt;&lt;P&gt;    ELSEIF  P_FTYPE = 'ASC'.&lt;/P&gt;&lt;P&gt;      LOOP AT IT_ERROR.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+0(18)	           =      IT_ERROR-MATNR.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+18(1)	           =      IT_ERROR-MBRSH.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+19(4)	           =      IT_ERROR-MTART.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+23(4)	           =      IT_ERROR-WERKS.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+27(4)	           =      IT_ERROR-LGORT.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+31(40)	           =      IT_ERROR-MAKTX.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+71(18)	           =      IT_ERROR-BISMT.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+88(3)	           =      IT_ERROR-MEINS.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+91(9)	           =      IT_ERROR-MATKL.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+100(3)	           =      IT_ERROR-EKGRP.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+103(2)	           =      IT_ERROR-DISMM.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+104(1)	           =      IT_ERROR-BESKZ.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+108(4)	           =      IT_ERROR-BKLAS.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+112(1)	           =      IT_ERROR-VPRSV.&lt;/P&gt;&lt;P&gt;        I_FINAL-STRING+113(2)	           =      IT_ERROR-MTVFP.&lt;/P&gt;&lt;P&gt;        APPEND I_FINAL.&lt;/P&gt;&lt;P&gt;        CLEAR I_FINAL.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF. "IF P_FTYPE = 'DAT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              FILENAME                = P_ERR&lt;/P&gt;&lt;P&gt;              FILETYPE                = P_FTYPE&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              DATA_TAB                = I_FINAL&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              FILE_OPEN_ERROR         = 1&lt;/P&gt;&lt;P&gt;              FILE_WRITE_ERROR        = 2&lt;/P&gt;&lt;P&gt;              INVALID_FILESIZE        = 3&lt;/P&gt;&lt;P&gt;              INVALID_TYPE            = 4&lt;/P&gt;&lt;P&gt;              NO_BATCH                = 5&lt;/P&gt;&lt;P&gt;              UNKNOWN_ERROR           = 6&lt;/P&gt;&lt;P&gt;              INVALID_TABLE_WIDTH     = 7&lt;/P&gt;&lt;P&gt;              GUI_REFUSE_FILETRANSFER = 8&lt;/P&gt;&lt;P&gt;              CUSTOMER_ERROR          = 9&lt;/P&gt;&lt;P&gt;              OTHERS                  = 10.&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 I000 WITH 'Unable to download Error file'(054).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF. "IF NOT I_FILE_ERROR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DOWNLOAD_ERROR_FILES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form        : session_report&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;Description : To display the list of sessions created&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 SESSION_REPORT .&lt;/P&gt;&lt;P&gt;  IF NOT I_SESSION[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;    WRITE :/01(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;    WRITE :/01(01) SY-VLINE,&lt;/P&gt;&lt;P&gt;              56  'Sessions created'(014),&lt;/P&gt;&lt;P&gt;              132(01) SY-VLINE.&lt;/P&gt;&lt;P&gt;    WRITE :/01(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;    WRITE :/01(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SESSION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     perform color_swap.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WRITE : /1 SY-VLINE.&lt;/P&gt;&lt;P&gt;      AT FIRST.&lt;/P&gt;&lt;P&gt;        WRITE : 5 'Session names'(015).&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;      WRITE : 50 ':', 52 I_SESSION-NAME,&lt;/P&gt;&lt;P&gt;             132 SY-VLINE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    WRITE : /01(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " session_report&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  READ_INPUT_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM READ_INPUT_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Splitting the filename and its extension&lt;/P&gt;&lt;P&gt;  PERFORM SPLIT_FILENAME_EXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE V_EXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WHEN 'TXT'.&lt;/P&gt;&lt;P&gt;      IF P_FTYPE = 'ASC'.&lt;/P&gt;&lt;P&gt;*--- Uploading the data from server&lt;/P&gt;&lt;P&gt;        PERFORM READ_INPUTFILE TABLES I_INFILE_ASC&lt;/P&gt;&lt;P&gt;                                USING P_FILE P_FTYPE.&lt;/P&gt;&lt;P&gt;*--- Perform Formating ASC type data&lt;/P&gt;&lt;P&gt;        PERFORM FORMAT_ASC_DATA.&lt;/P&gt;&lt;P&gt;      ELSEIF P_FTYPE = 'DAT'.&lt;/P&gt;&lt;P&gt;*--- Uploading the data from server&lt;/P&gt;&lt;P&gt;        PERFORM READ_INPUTFILE TABLES IT_DATA&lt;/P&gt;&lt;P&gt;                                USING P_FILE P_FTYPE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      MESSAGE S000(ZLKPL_MSGCLASS).&lt;/P&gt;&lt;P&gt;      F_STOP = 'X'.&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;  IF NOT IT_DATA[] IS INITIAL.&lt;/P&gt;&lt;P&gt;*--- Perform to delete Header lines&lt;/P&gt;&lt;P&gt;    PERFORM DELETE_HEADER_EMPTY_RECS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " READ_INPUT_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  SPLIT_FILENAME_EXT&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SPLIT_FILENAME_EXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE P_FILE TO V_SFILE.&lt;/P&gt;&lt;P&gt;*--- To get the extensions of the file&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CV120_SPLIT_FILE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      PF_FILE                = V_SFILE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PFX_FILE               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PFX_EXTENSION          = V_EXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PFX_DOTEXTENSION       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;*--- Checking the case of file extension&lt;/P&gt;&lt;P&gt;  IF V_EXT NA SY-ABCDE.&lt;/P&gt;&lt;P&gt;    TRANSLATE V_EXT TO UPPER CASE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SPLIT_FILENAME_EXT&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  MOVE_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM MOVE_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : LV_INDEX TYPE I.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;*--- Sorting the internal table&lt;/P&gt;&lt;P&gt;  SORT IT_INTERN BY ROW COL.&lt;/P&gt;&lt;P&gt;  CLEAR IT_INTERN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_INTERN.&lt;/P&gt;&lt;P&gt;    MOVE IT_INTERN-COL TO LV_INDEX.&lt;/P&gt;&lt;P&gt;*--- Assigning the each record to an internal table row&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT LV_INDEX OF STRUCTURE IT_DATA TO &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;*--- Asigning the field value to a field symbol&lt;/P&gt;&lt;P&gt;    MOVE IT_INTERN-VALUE TO &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;    AT END OF ROW.&lt;/P&gt;&lt;P&gt;      APPEND IT_DATA.&lt;/P&gt;&lt;P&gt;      CLEAR IT_DATA.&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;ENDFORM.                    " MOVE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_SEL_SCR_REPORT&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_SEL_SCR_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  WRITE :/1(1)   SY-VLINE,&lt;/P&gt;&lt;P&gt;        65(65)   'SELECTION SCREEN DATA'(016),&lt;/P&gt;&lt;P&gt;        132(1)   SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Input file name&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  WRITE :/1(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;         2(24)  'Input File name'(017),&lt;/P&gt;&lt;P&gt;         27(2)  ' : ',&lt;/P&gt;&lt;P&gt;         30(100) P_FILE,&lt;/P&gt;&lt;P&gt;         132(1)  SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT IT_ERROR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;*--- Setting the Error file name with .CSV&lt;/P&gt;&lt;P&gt;    PERFORM COLOR_FILL.&lt;/P&gt;&lt;P&gt;    IF V_EXT = 'XLS'.&lt;/P&gt;&lt;P&gt;      IF NOT P_ERR CS '.XLS'.&lt;/P&gt;&lt;P&gt;        IF P_ERR CA '.'.&lt;/P&gt;&lt;P&gt;          P_ERR = P_ERR(SY-FDPOS).&lt;/P&gt;&lt;P&gt;          CONCATENATE P_ERR '.CSV' INTO P_ERR.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      P_FTYPE = 'DAT'.&lt;/P&gt;&lt;P&gt;      V_DEL = '2C'.                      " Hexadecimal value for ','&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*--- Error File name&lt;/P&gt;&lt;P&gt;    PERFORM COLOR_FILL.&lt;/P&gt;&lt;P&gt;    WRITE :/1(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;           2(24)  'Error File name'(018),&lt;/P&gt;&lt;P&gt;           27(2)  ' : ',&lt;/P&gt;&lt;P&gt;           30(100) P_ERR,&lt;/P&gt;&lt;P&gt;           132(1)  SY-VLINE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- File type&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  WRITE :/1(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;         2(24)  'File Type'(019),&lt;/P&gt;&lt;P&gt;         27(2)  ' : '.&lt;/P&gt;&lt;P&gt;  IF V_EXT = 'XLS'.&lt;/P&gt;&lt;P&gt;    WRITE :30   'XLS'(020),&lt;/P&gt;&lt;P&gt;           132(1) SY-VLINE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE :30     P_FTYPE,&lt;/P&gt;&lt;P&gt;           132(1)  SY-VLINE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*--- BDC methods&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_CT = 'X'.&lt;/P&gt;&lt;P&gt;    WRITE :/1(1)   SY-VLINE,&lt;/P&gt;&lt;P&gt;            2(24)  'Call Transaction'(021),&lt;/P&gt;&lt;P&gt;            27(2)  ' : ',&lt;/P&gt;&lt;P&gt;            30     P_CT,&lt;/P&gt;&lt;P&gt;            132(1)  SY-VLINE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE :/1(1)   SY-VLINE,&lt;/P&gt;&lt;P&gt;            2(24)  'Create Session'(022),&lt;/P&gt;&lt;P&gt;            27(2)  ' : ',&lt;/P&gt;&lt;P&gt;            30     P_BDC,&lt;/P&gt;&lt;P&gt;            132(1)  SY-VLINE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*--- Test Mode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/1(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;         2(24)  'Test Mode'(023),&lt;/P&gt;&lt;P&gt;         27(2)  ' : ',&lt;/P&gt;&lt;P&gt;         30     P_TEST,&lt;/P&gt;&lt;P&gt;         132(1)  SY-VLINE.&lt;/P&gt;&lt;P&gt;*--- Header lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/1(1)  SY-VLINE,&lt;/P&gt;&lt;P&gt;         2(24)  'Header Lines'(024),&lt;/P&gt;&lt;P&gt;         27(2)  ' : ',&lt;/P&gt;&lt;P&gt;         30     P_HEADER LEFT-JUSTIFIED,&lt;/P&gt;&lt;P&gt;         132(1)  SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE :/1(132) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_SEL_SCR_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DELETE_HEADER_EMPTY_RECS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LV_TABIX LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_HEADER IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT IT_DATA.&lt;/P&gt;&lt;P&gt;      IF P_HEADER &amp;gt; 0 AND NOT IT_DATA IS INITIAL.&lt;/P&gt;&lt;P&gt;        DELETE IT_DATA FROM 1 TO P_HEADER.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       P_HEADER = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR IT_DATA.&lt;/P&gt;&lt;P&gt;*--- To delete the empty lines from internal table&lt;/P&gt;&lt;P&gt;  LOOP AT IT_DATA.&lt;/P&gt;&lt;P&gt;    LV_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;    IF IT_DATA IS INITIAL.&lt;/P&gt;&lt;P&gt;      V_EMPTY = V_EMPTY + 1.&lt;/P&gt;&lt;P&gt;      DELETE IT_DATA INDEX LV_TABIX..&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR IT_DATA.&lt;/P&gt;&lt;P&gt;*--- Total no of recs in file&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_DATA LINES V_TOTAL.&lt;/P&gt;&lt;P&gt;  IF V_TOTAL = 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I012(ZLKPL_MSGCLASS).  " No records in the file&lt;/P&gt;&lt;P&gt;    F_STOP = 'X'.&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.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jun 2006 11:34:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/1412994#M198824</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-30T11:34:14Z</dc:date>
    </item>
  </channel>
</rss>

