<?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: Excel format in BAPI in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-format-in-bapi/m-p/4450128#M1055196</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;Check this [Sample Code|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/abap&lt;EM&gt;-&lt;/EM&gt;Simple&lt;EM&gt;program&lt;/EM&gt;to&lt;EM&gt;create&lt;/EM&gt;sales&lt;EM&gt;order&lt;/EM&gt;using+BAPI]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 05 Sep 2008 05:48:12 GMT</pubDate>
    <dc:creator>bpawanchand</dc:creator>
    <dc:date>2008-09-05T05:48:12Z</dc:date>
    <item>
      <title>Excel format in BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-format-in-bapi/m-p/4450127#M1055195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I m using BAPI first time,  like while using BDC the sequence of fields in Excel should b the same as capture  in recording or appear in screen.&lt;/P&gt;&lt;P&gt;I want to know same is the case with BAPI or we can give fields in excel in any order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Priya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Sep 2008 05:42:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-format-in-bapi/m-p/4450127#M1055195</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-05T05:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: Excel format in BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-format-in-bapi/m-p/4450128#M1055196</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;Check this [Sample Code|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/abap&lt;EM&gt;-&lt;/EM&gt;Simple&lt;EM&gt;program&lt;/EM&gt;to&lt;EM&gt;create&lt;/EM&gt;sales&lt;EM&gt;order&lt;/EM&gt;using+BAPI]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Sep 2008 05:48:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-format-in-bapi/m-p/4450128#M1055196</guid>
      <dc:creator>bpawanchand</dc:creator>
      <dc:date>2008-09-05T05:48:12Z</dc:date>
    </item>
    <item>
      <title>Re: Excel format in BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/excel-format-in-bapi/m-p/4450129#M1055197</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Priyanka,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this below code.You can place field in any order.&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; Report  ZTRANSPORT_LANE&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  ZTRANSPORT_LANE NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        LINE-SIZE 250&lt;/P&gt;&lt;P&gt;        LINE-COUNT 65.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*DATA DECLARATION&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;CONSTANTS : C_X VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : /SAPAPO/PEGKEY.&lt;/P&gt;&lt;P&gt;DATA : LV_LC_CONN_OK TYPE C.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GS_MESSAGE,&lt;/P&gt;&lt;P&gt;      MSGID    TYPE SYMSGID,&lt;/P&gt;&lt;P&gt;      MSGTY    TYPE SYMSGTY,&lt;/P&gt;&lt;P&gt;      MSGNO    TYPE SYMSGNO,&lt;/P&gt;&lt;P&gt;      SHOW_MSG TYPE C,&lt;/P&gt;&lt;P&gt;      MSGV1    TYPE SYMSGV,&lt;/P&gt;&lt;P&gt;      MSGV2    TYPE SYMSGV,&lt;/P&gt;&lt;P&gt;      MSGV3    TYPE SYMSGV,&lt;/P&gt;&lt;P&gt;      MSGV4    TYPE SYMSGV,&lt;/P&gt;&lt;P&gt;      END OF GS_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : UNSUCESSCOUNT TYPE I,&lt;/P&gt;&lt;P&gt;       ERR_COUNT TYPE I,&lt;/P&gt;&lt;P&gt;       BAPIERR_COUNT TYPE I,&lt;/P&gt;&lt;P&gt;       SUCESSCOUNT TYPE I,&lt;/P&gt;&lt;P&gt;       COUNTER TYPE I,&lt;/P&gt;&lt;P&gt;       ERRDESC TYPE STRING,&lt;/P&gt;&lt;P&gt;       SUCESSDESC TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:GV_MATID LIKE /SAPAPO/MATKEY-MATID,&lt;/P&gt;&lt;P&gt;     GV_LOCID LIKE /SAPAPO/MATLOC-LOCID,&lt;/P&gt;&lt;P&gt;     GV_LOCTYPE LIKE /SAPAPO/LOC-LOCTYPE,&lt;/P&gt;&lt;P&gt;     GV_MEINS LIKE /SAPAPO/MATKEY-MEINS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*Internal Table declaration&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : P_MEANS_OF_TRANSPORT LIKE BAPI11201MEANSOFTRANSP OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX LIKE BAPI11201MEANSOFTRANSPX OCCURS 0 WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : P_TRANSPORT_LANE  LIKE BAPI11201TRLANE OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       P_TRANSPORT_LANEX LIKE BAPI11201TRLANEX OCCURS 0 WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : P_PROD_PROCUREMENT LIKE BAPI11201SOURCES OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       P_PROD_PROCUREMENTX LIKE BAPI11201SOURCESX OCCURS 0 WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  P_PROD_MEANS_OF_TRANSPORT LIKE BAPI11201PRDMEANSOFTRANSP OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       P_PROD_MEANS_OF_TRANSPORTX LIKE   BAPI11201PRDMEANSOFTRANSPX OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  P_CARRIER LIKE BAPI11201CARRIER OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       P_CARRIERX LIKE BAPI11201CARRIERX OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF RECORD OCCURS 0,&lt;/P&gt;&lt;P&gt;      LOCATION_FROM LIKE  P_TRANSPORT_LANE-LOCATION_FROM,&lt;/P&gt;&lt;P&gt;      LOCTYPE_LOC_FROM LIKE  P_TRANSPORT_LANE-LOCTYPE_LOC_FROM,&lt;/P&gt;&lt;P&gt;      LOCATION_TO LIKE  P_TRANSPORT_LANE-LOCATION_TO,&lt;/P&gt;&lt;P&gt;      LOCTYPE_LOC_TO LIKE   P_TRANSPORT_LANE-LOCTYPE_LOC_TO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SHORT_TEXT_TL LIKE    P_TRANSPORT_LANE-SHORT_TEXT_TL,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PLANNER  LIKE  P_TRANSPORT_LANE-PLANNER,&lt;/P&gt;&lt;P&gt;      VALFR LIKE P_MEANS_OF_TRANSPORT-VALFR,&lt;/P&gt;&lt;P&gt;      VALTO LIKE P_MEANS_OF_TRANSPORT-VALTO,&lt;/P&gt;&lt;P&gt;      TTYPE  like P_MEANS_OF_TRANSPORT-TTYPE,&lt;/P&gt;&lt;P&gt;      VALID_ALL_PRDS_FLG LIKE P_MEANS_OF_TRANSPORT-VALID_ALL_PRDS_FLG ,&lt;/P&gt;&lt;P&gt;      AGGT_TPL_FLG  LIKE P_MEANS_OF_TRANSPORT-AGGT_TPL_FLG,&lt;/P&gt;&lt;P&gt;      DTLT_TPL_FLG LIKE P_MEANS_OF_TRANSPORT-DTLT_TPL_FLG,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SHORT_TEXT_TM LIKE P_MEANS_OF_TRANSPORT-SHORT_TEXT_TM,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TRCAL LIKE P_MEANS_OF_TRANSPORT-TRCAL,&lt;/P&gt;&lt;P&gt;      DURATION LIKE P_MEANS_OF_TRANSPORT-DURATION,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DURFX_FLG  LIKE P_MEANS_OF_TRANSPORT-DURFX_FLG,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DISTFX_FLG  LIKE P_MEANS_OF_TRANSPORT-DISTFX_FLG,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TRANS_COST LIKE P_MEANS_OF_TRANSPORT-TRANS_COST,&lt;/P&gt;&lt;P&gt;      TRANS_COST_UOM  LIKE P_MEANS_OF_TRANSPORT-TRANS_COST_UOM,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DUR_RND_VALUE LIKE P_MEANS_OF_TRANSPORT-DUR_RND_VALUE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TREQ_COVER_TYPE LIKE P_MEANS_OF_TRANSPORT-TREQ_COVER_TYPE,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TLB_PROFILE LIKE P_MEANS_OF_TRANSPORT-TLB_PROFILE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PRODUCT  LIKE P_PROD_MEANS_OF_TRANSPORT-PRODUCT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     P_TRANS_COST LIKE P_PROD_MEANS_OF_TRANSPORT-TRANS_COST,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      END OF RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF RECORD_PRODUCT OCCURS 0,&lt;/P&gt;&lt;P&gt;      LOCATION_FROM LIKE  P_PROD_PROCUREMENT-LOCATION_FROM,&lt;/P&gt;&lt;P&gt;      LOCTYPE_LOC_FROM LIKE  P_PROD_PROCUREMENT-LOCTYPE_LOC_FROM,&lt;/P&gt;&lt;P&gt;      LOCATION_TO LIKE  P_PROD_PROCUREMENT-LOCATION_TO,&lt;/P&gt;&lt;P&gt;      LOCTYPE_LOC_TO LIKE   P_PROD_PROCUREMENT-LOCTYPE_LOC_TO,&lt;/P&gt;&lt;P&gt;      VALFR LIKE P_PROD_PROCUREMENT-VALFR,&lt;/P&gt;&lt;P&gt;      VALTO LIKE P_PROD_PROCUREMENT-VALTO,&lt;/P&gt;&lt;P&gt;      PRODUCT LIKE P_PROD_PROCUREMENT-PRODUCT,&lt;/P&gt;&lt;P&gt;      END OF RECORD_PRODUCT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF RECORD_COST OCCURS 0,&lt;/P&gt;&lt;P&gt;      LOCATION_FROM LIKE  P_PROD_MEANS_OF_TRANSPORT-LOCATION_FROM,&lt;/P&gt;&lt;P&gt;      LOCTYPE_LOC_FROM LIKE  P_PROD_MEANS_OF_TRANSPORT-LOCTYPE_LOC_FROM,&lt;/P&gt;&lt;P&gt;      LOCATION_TO LIKE  P_PROD_MEANS_OF_TRANSPORT-LOCATION_TO,&lt;/P&gt;&lt;P&gt;      LOCTYPE_LOC_TO LIKE   P_PROD_MEANS_OF_TRANSPORT-LOCTYPE_LOC_TO,&lt;/P&gt;&lt;P&gt;      TTYPE LIKE P_PROD_MEANS_OF_TRANSPORT-TTYPE,&lt;/P&gt;&lt;P&gt;      TTYPE_VALFR LIKE P_PROD_MEANS_OF_TRANSPORT-TTYPE_VALFR,&lt;/P&gt;&lt;P&gt;      TTYPE_VALTO LIKE P_PROD_MEANS_OF_TRANSPORT-TTYPE_VALTO,&lt;/P&gt;&lt;P&gt;      PRODUCT LIKE P_PROD_MEANS_OF_TRANSPORT-PRODUCT,&lt;/P&gt;&lt;P&gt;      PRODUCT_VALFR LIKE P_PROD_MEANS_OF_TRANSPORT-PRODUCT_VALFR,&lt;/P&gt;&lt;P&gt;      PRODUCT_VALTO LIKE P_PROD_MEANS_OF_TRANSPORT-PRODUCT_VALTO,&lt;/P&gt;&lt;P&gt;      TRANS_COST LIKE P_PROD_MEANS_OF_TRANSPORT-TRANS_COST,&lt;/P&gt;&lt;P&gt;      END OF RECORD_COST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF RECORD_ALL OCCURS 0,&lt;/P&gt;&lt;P&gt;      LOCATION_FROM LIKE  P_PROD_PROCUREMENT-LOCATION_FROM,&lt;/P&gt;&lt;P&gt;      LOCTYPE_LOC_FROM LIKE  P_PROD_PROCUREMENT-LOCTYPE_LOC_FROM,&lt;/P&gt;&lt;P&gt;      LOCATION_TO LIKE  P_PROD_PROCUREMENT-LOCATION_TO,&lt;/P&gt;&lt;P&gt;      LOCTYPE_LOC_TO LIKE   P_PROD_PROCUREMENT-LOCTYPE_LOC_TO,&lt;/P&gt;&lt;P&gt;      VALFR LIKE P_PROD_PROCUREMENT-VALFR,&lt;/P&gt;&lt;P&gt;      VALTO LIKE P_PROD_PROCUREMENT-VALTO,&lt;/P&gt;&lt;P&gt;      END OF RECORD_ALL.&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;/P&gt;&lt;P&gt;DATA : W_MSG(150).&lt;/P&gt;&lt;P&gt;DATA : TRDESC(40).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: begin of wa_MESSAGE,&lt;/P&gt;&lt;P&gt;      message(150),&lt;/P&gt;&lt;P&gt;      end of wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab_msg like table of wa_message with header line.&lt;/P&gt;&lt;P&gt;DATA:p_dur like record-duration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------------------------" /&gt;&lt;P&gt;*SELECTION-SCREEN DECLARATION&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------------------------" /&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;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*parameters: pversion like /SAPAPO/APO01-VRSIOID default '000' .&lt;/P&gt;&lt;P&gt;PARAMETER:  P1 RADIOBUTTON GROUP RAD1,&lt;/P&gt;&lt;P&gt;            P4 RADIOBUTTON GROUP RAD1,&lt;/P&gt;&lt;P&gt;            P2 RADIOBUTTON GROUP RAD1,&lt;/P&gt;&lt;P&gt;            P3 RADIOBUTTON GROUP RAD1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO GET FILE NAME&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------------------" /&gt;&lt;P&gt;PERFORM GET_FILE USING P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;PERFORM PRINT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------------------" /&gt;&lt;P&gt;*START OF SELECTION SCREEN&lt;/P&gt;&lt;P&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;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;check liveCache connection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  LV_LC_CONN_OK = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM  CHECK_LIVECACHE_CONNECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF LV_LC_CONN_OK = ' '.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Radio P1 button selection to create/update transportation lane witn means of transport&lt;/P&gt;&lt;P&gt; IF P1 EQ 'X'.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO UPLOAD FILE INTO INTERNAL TABLE&lt;/P&gt;&lt;P&gt;*Upload the file for create/update transportation line witn means of transport&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FILE_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Radio P2 button selection to attach product in transportation lane&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF P2 EQ 'X'.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO UPLOAD FILE INTO INTERNAL TABLE&lt;/P&gt;&lt;P&gt;*Upload file to attach product for transportation lane&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM FILE_UPLOAD1.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Radio P3 button selection to attach product sepecific cost&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF P3 EQ 'X'.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO UPLOAD FILE INTO INTERNAL TABLE&lt;/P&gt;&lt;P&gt;*Upload file to atach product specific cost&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM FILE_UPLOAD2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF P4 EQ 'X'.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO UPLOAD FILE INTO INTERNAL TABLE&lt;/P&gt;&lt;P&gt;*Upload file to atach product specific cost&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM FILE_UPLOAD3.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO POPULATE DATA INTO BAPI STRUCTURE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO WRITE RECORD STATUS IN OUTPUT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_MESSAGE.&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;     --&amp;gt;P_W_FILE  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_FILE  USING    P_W_FILE.&lt;/P&gt;&lt;P&gt;&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     = P_W_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;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.     "GET_FILE&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  FILE_UPLOAD&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 FILE_UPLOAD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: xl type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; xl = '*.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF not P_FILE CP xl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    Message 'Wrong input file format' type 'E'.&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;CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   FILENAME                      = P_FILE&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'DAT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADLEN                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LINE_EXIT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNCLEN                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_FORM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_PROG                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_D_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = RECORD.&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;  CONVERSION_ERROR              = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_OPEN_ERROR               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_READ_ERROR               = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                  = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                      = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TABLE_WIDTH           = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER       = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CUSTOMER_ERROR                = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 11&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILE_UPLOAD&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  FILE_UPLOAD1&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 FILE_UPLOAD1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: xl type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; xl = '*.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF not P_FILE CP xl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    Message 'Wrong input file format' type 'E'.&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;CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   FILENAME                      = P_FILE&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'DAT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADLEN                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LINE_EXIT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNCLEN                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_FORM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_PROG                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_D_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = RECORD_PRODUCT.&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;  CONVERSION_ERROR              = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_OPEN_ERROR               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_READ_ERROR               = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                  = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                      = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TABLE_WIDTH           = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER       = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CUSTOMER_ERROR                = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 11&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILE_UPLOAD1&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  FILE_UPLOAD2&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 FILE_UPLOAD2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: xl type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; xl = '*.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF not P_FILE CP xl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    Message 'Wrong input file format' type 'E'.&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;CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   FILENAME                      = P_FILE&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'DAT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADLEN                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LINE_EXIT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNCLEN                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_FORM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_PROG                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_D_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = RECORD_COST.&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;  CONVERSION_ERROR              = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_OPEN_ERROR               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_READ_ERROR               = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                  = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                      = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TABLE_WIDTH           = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER       = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CUSTOMER_ERROR                = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 11&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILE_UPLOAD2&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  FILE_UPLOAD3&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 FILE_UPLOAD3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: xl type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; xl = '*.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF not P_FILE CP xl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    Message 'Wrong input file format' type 'E'.&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;CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   FILENAME                      = P_FILE&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'DAT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADLEN                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LINE_EXIT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNCLEN                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_FORM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_PROG                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_D_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = RECORD_ALL.&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;  CONVERSION_ERROR              = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_OPEN_ERROR               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_READ_ERROR               = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                  = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                      = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TABLE_WIDTH           = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER       = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CUSTOMER_ERROR                = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 11&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILE_UPLOAD3&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  POPULATE_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 POPULATE_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;CLEAR:UNSUCESSCOUNT,ERR_COUNT,BAPIERR_COUNT,SUCESSCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF P1 EQ 'X'.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------------------------------" /&gt;&lt;P&gt;*POPULATE data into  Bapi structure to create/update transportation lane with menas of transport&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------------------------" /&gt;&lt;P&gt;    loop at record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CALL FUNCTION 'CONVERSION_EXIT_TSTRN_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT         = record-DURATION&lt;/P&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;P&gt;       OUTPUT        = p_dur&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSLATE RECORD-LOCATION_FROM TO UPPER CASE.&lt;/P&gt;&lt;P&gt;TRANSLATE RECORD-LOCATION_TO TO UPPER CASE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CLEAR: GV_MATID,GV_LOCID,GV_LOCTYPE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CLEAR:   P_MEANS_OF_TRANSPORT, P_MEANS_OF_TRANSPORTX[], P_MEANS_OF_TRANSPORTX, P_MEANS_OF_TRANSPORT[],P_MEANS_OF_TRANSPORTX[],&lt;/P&gt;&lt;P&gt;         P_TRANSPORT_LANEX, P_TRANSPORT_LANEX[], P_TRANSPORT_LANE , P_TRANSPORT_LANE[],&lt;/P&gt;&lt;P&gt;         P_PROD_PROCUREMENT,P_PROD_PROCUREMENT[],P_PROD_PROCUREMENTX,P_PROD_PROCUREMENTX[],&lt;/P&gt;&lt;P&gt;         P_CARRIER,P_CARRIER[],P_CARRIERX,P_CARRIERX[],TRDESC,ERRDESC,COUNTER,&lt;/P&gt;&lt;P&gt;         P_PROD_MEANS_OF_TRANSPORT,P_PROD_MEANS_OF_TRANSPORT[],P_PROD_MEANS_OF_TRANSPORTX,P_PROD_MEANS_OF_TRANSPORTX[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH:  P_MEANS_OF_TRANSPORTX, P_MEANS_OF_TRANSPORTX[], P_MEANS_OF_TRANSPORT, P_MEANS_OF_TRANSPORT[],P_MEANS_OF_TRANSPORTX[],&lt;/P&gt;&lt;P&gt;           P_TRANSPORT_LANE , P_TRANSPORT_LANE[], P_TRANSPORT_LANEX, P_TRANSPORT_LANEX[],&lt;/P&gt;&lt;P&gt;          P_PROD_PROCUREMENT,P_PROD_PROCUREMENT[],P_PROD_PROCUREMENTX,P_PROD_PROCUREMENTX[],&lt;/P&gt;&lt;P&gt;          P_PROD_MEANS_OF_TRANSPORT,P_PROD_MEANS_OF_TRANSPORT[],P_PROD_MEANS_OF_TRANSPORTX,P_PROD_MEANS_OF_TRANSPORTX[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select single matid MEINS from /SAPAPO/MATKEY into (gv_matid,GV_MEINS)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   where matnr = record-product_int.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select single locid from /SAPAPO/MATLOC into gv_locid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   where matid = gv_matid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select single loctype from /SAPAPO/LOC into gv_loctype&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   where locid = gv_locid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE * FROM /SAPAPO/PEGKEY WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              MATID EQ  GV_MATID AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              LOCID EQ  GV_LOCID AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              SIMID EQ  pversion.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF MATERIAL ID AND LOCATION ID AND PLANNING VERSION EXIT THEN POPULATE BAPI&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if sy-subrc NE '0' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ERR_COUNT = ERR_COUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM MESSAGE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'Tr Lane Between' RECORD-LOCATION_FROM into trdesc separated by space .&lt;/P&gt;&lt;P&gt;      CONCATENATE trdesc '-&amp;gt; ' RECORD-LOCATION_TO into TRDESC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCATION_FROM = RECORD-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCTYPE_LOC_FROM = RECORD-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCATION_TO = RECORD-LOCATION_TO.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCTYPE_LOC_TO = RECORD-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-SHORT_TEXT_TL  = TRDESC.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-PLANNER = RECORD-PLANNER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       APPEND  P_TRANSPORT_LANE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF RECORD-LOCATION_FROM NE ' '.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCATION_FROM = RECORD-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD-LOCTYPE_LOC_FROM NE ' '.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCTYPE_LOC_FROM = RECORD-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD-LOCATION_TO NE ' ' .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCATION_TO = RECORD-LOCATION_TO.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD-LOCTYPE_LOC_TO NE ' ' .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCTYPE_LOC_TO = RECORD-LOCTYPE_LOC_TO .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF RECORD-SHORT_TEXT_TL NE ' ' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        P_TRANSPORT_LANEX-SHORT_TEXT_TL  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF RECORD-PLANNER NE ' ' .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-PLANNER = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND  P_TRANSPORT_LANEX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'Tr Lane Between' RECORD-LOCATION_FROM into trdesc separated by space .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE trdesc '-&amp;gt; ' RECORD-LOCATION_TO into TRDESC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-LOCATION_FROM  = RECORD-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-LOCTYPE_LOC_FROM = RECORD-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-LOCATION_TO = RECORD-LOCATION_TO.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-LOCTYPE_LOC_TO = RECORD-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-VALFR = RECORD-VALFR.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-VALTO = RECORD-VALTO.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-TTYPE = RECORD-TTYPE.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-VALID_ALL_PRDS_FLG = RECORD-VALID_ALL_PRDS_FLG.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-AGGT_TPL_FLG = RECORD-AGGT_TPL_FLG.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-DTLT_TPL_FLG = RECORD-DTLT_TPL_FLG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     P_MEANS_OF_TRANSPORT-SHORT_TEXT_TM = RECORD-SHORT_TEXT_TM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-SHORT_TEXT_TM = TRDESC.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-TRCAL = RECORD-TRCAL.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-DURATION = P_DUR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     P_MEANS_OF_TRANSPORT-DURFX_FLG = RECORD-DURFX_FLG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     P_MEANS_OF_TRANSPORT-DISTFX_FLG = RECORD-DISTFX_FLG.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-TRANS_COST = RECORD-TRANS_COST.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-TRANS_COST_UOM = RECORD-TRANS_COST_UOM .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     P_MEANS_OF_TRANSPORT-DUR_RND_VALUE = RECORD-DUR_RND_VALUE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     P_MEANS_OF_TRANSPORT-TREQ_COVER_TYPE = RECORD-TREQ_COVER_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORT-TLB_PROFILE = RECORD-TLB_PROFILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND  P_MEANS_OF_TRANSPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-LOCATION_FROM  = RECORD-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-LOCTYPE_LOC_FROM = RECORD-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-LOCATION_TO = RECORD-LOCATION_TO.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-LOCTYPE_LOC_TO = RECORD-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-TTYPE = RECORD-TTYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF RECORD-TTYPE NE ' ' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-TTYPE = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IF RECORD-VALID_ALL_PRDS_FLG NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-VALID_ALL_PRDS_FLG = C_X.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;       IF RECORD-AGGT_TPL_FLG NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-AGGT_TPL_FLG = C_X.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;       IF RECORD-DTLT_TPL_FLG NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-DTLT_TPL_FLG = C_X.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF RECORD-SHORT_TEXT_TM  NE ' ' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-SHORT_TEXT_TM = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IF TRDESC  NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-SHORT_TEXT_TM = C_X.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;       IF RECORD-TRCAL NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-TRCAL = C_X.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;       IF RECORD-DURATION NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-DURATION = C_X.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF RECORD-DURFX_FLG NE ' ' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-DURFX_FLAG = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF RECORD-DISTFX_FLG NE ' ' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-DISTFX_FLG = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IF RECORD-TRANS_COST NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-TRANS_COST = C_X.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;       IF RECORD-TRANS_COST_UOM  NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-TRANS_COST_UOM = C_X .&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF RECORD-DUR_RND_VALUE NE ' ' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-DUR_RND_VALUE = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF RECORD-TREQ_COVER_TYPE NE ' ' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      P_MEANS_OF_TRANSPORTX-TREQ_COVER_TYPE = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IF RECORD-TLB_PROFILE NE ' ' .&lt;/P&gt;&lt;P&gt;       P_MEANS_OF_TRANSPORTX-TLB_PROFILE = C_X.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;       APPEND   P_MEANS_OF_TRANSPORTX.&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;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO CALL BAPI to create/update transportation lane with menas of transport&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM BAPI_CALL.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF P2 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------------------" /&gt;&lt;P&gt;*POPULATE data into  Bapi structure to attach product in transportation lane&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT RECORD_PRODUCT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSLATE RECORD_PRODUCT-LOCATION_FROM TO UPPER CASE.&lt;/P&gt;&lt;P&gt;TRANSLATE RECORD_PRODUCT-LOCATION_TO TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR   :  P_TRANSPORT_LANEX, P_TRANSPORT_LANEX[], P_TRANSPORT_LANE , P_TRANSPORT_LANE[],TRDESC,ERRDESC,COUNTER,&lt;/P&gt;&lt;P&gt;           P_PROD_PROCUREMENTX, P_PROD_PROCUREMENTX[], P_PROD_PROCUREMENT , P_PROD_PROCUREMENT[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH :  P_TRANSPORT_LANE , P_TRANSPORT_LANE[], P_TRANSPORT_LANEX, P_TRANSPORT_LANEX[],&lt;/P&gt;&lt;P&gt;           P_PROD_PROCUREMENT , P_PROD_PROCUREMENT[], P_PROD_PROCUREMENTX, P_PROD_PROCUREMENTX[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCATION_FROM = RECORD_PRODUCT-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCTYPE_LOC_FROM = RECORD_PRODUCT-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCATION_TO = RECORD_PRODUCT-LOCATION_TO.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCTYPE_LOC_TO = RECORD_PRODUCT-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND  P_TRANSPORT_LANE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF RECORD_PRODUCT-LOCATION_FROM NE ' '.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCATION_FROM = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD_PRODUCT-LOCTYPE_LOC_FROM NE ' '.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCTYPE_LOC_FROM = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD_PRODUCT-LOCATION_TO NE ' ' .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCATION_TO = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD_PRODUCT-LOCTYPE_LOC_TO NE ' ' .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCTYPE_LOC_TO = C_X .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND  P_TRANSPORT_LANEX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-LOCATION_FROM = RECORD_PRODUCT-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-LOCTYPE_LOC_FROM = RECORD_PRODUCT-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-LOCATION_TO = RECORD_PRODUCT-LOCATION_TO.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-LOCTYPE_LOC_TO = RECORD_PRODUCT-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-VALFR = RECORD_PRODUCT-VALFR.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-VALTO = RECORD_PRODUCT-VALTO.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-PRODUCT = RECORD_PRODUCT-PRODUCT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND  P_PROD_PROCUREMENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF RECORD_PRODUCT-PRODUCT NE ' ' .&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENTX-PRODUCT = RECORD_PRODUCT-PRODUCT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND P_PROD_PROCUREMENTX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO CALL BAPI to attach product with transportation lane&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM BAPI_CALL1.&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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF P3 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------------" /&gt;&lt;P&gt;*POPULATE data into  Bapi structure to attach product specific cost in transportation lane&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT RECORD_COST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSLATE RECORD_COST-LOCATION_FROM TO UPPER CASE.&lt;/P&gt;&lt;P&gt;TRANSLATE RECORD_COST-LOCATION_TO TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR   :  P_TRANSPORT_LANEX, P_TRANSPORT_LANEX[], P_TRANSPORT_LANE , P_TRANSPORT_LANE[],TRDESC,ERRDESC,COUNTER,&lt;/P&gt;&lt;P&gt;           P_PROD_MEANS_OF_TRANSPORTX, P_PROD_MEANS_OF_TRANSPORTX[], P_PROD_MEANS_OF_TRANSPORT , P_PROD_MEANS_OF_TRANSPORT[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH :  P_TRANSPORT_LANE , P_TRANSPORT_LANE[], P_TRANSPORT_LANEX, P_TRANSPORT_LANEX[],&lt;/P&gt;&lt;P&gt;           P_PROD_MEANS_OF_TRANSPORT , P_PROD_MEANS_OF_TRANSPORT[], P_PROD_MEANS_OF_TRANSPORTX, P_PROD_MEANS_OF_TRANSPORTX[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCATION_FROM = RECORD_COST-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCTYPE_LOC_FROM = RECORD_COST-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCATION_TO = RECORD_COST-LOCATION_TO.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCTYPE_LOC_TO = RECORD_COST-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND  P_TRANSPORT_LANE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF RECORD_COST-LOCATION_FROM NE ' '.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCATION_FROM = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD_COST-LOCTYPE_LOC_FROM NE ' '.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCTYPE_LOC_FROM = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD_COST-LOCATION_TO NE ' ' .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCATION_TO = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF RECORD_COST-LOCTYPE_LOC_TO NE ' ' .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCTYPE_LOC_TO = C_X .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND  P_TRANSPORT_LANEX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-LOCATION_FROM = RECORD_COST-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-LOCTYPE_LOC_FROM = RECORD_COST-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-LOCATION_TO = RECORD_COST-LOCATION_TO.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-LOCTYPE_LOC_TO = RECORD_COST-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-TTYPE = RECORD_COST-TTYPE.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-TTYPE_VALFR = RECORD_COST-TTYPE_VALFR.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-TTYPE_VALTO = RECORD_COST-TTYPE_VALTO.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-PRODUCT = RECORD_COST-PRODUCT.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-PRODUCT_VALFR = RECORD_COST-PRODUCT_VALFR.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-PRODUCT_VALTO = RECORD_COST-PRODUCT_VALTO.&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORT-TRANS_COST = RECORD_COST-TRANS_COST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND  P_PROD_MEANS_OF_TRANSPORT  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF RECORD_COST-TRANS_COST NE ' ' .&lt;/P&gt;&lt;P&gt;        P_PROD_MEANS_OF_TRANSPORTX-TRANS_COST = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND P_PROD_MEANS_OF_TRANSPORTX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO CALL BAPI to attach product specific cost in transportation lane&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM BAPI_CALL2.&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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF P4 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------------" /&gt;&lt;P&gt;*POPULATE data into  Bapi structure to attach All productS in transportation lane&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT RECORD_ALL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSLATE RECORD_ALL-LOCATION_FROM TO UPPER CASE.&lt;/P&gt;&lt;P&gt;TRANSLATE RECORD_ALL-LOCATION_TO TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR   :  P_PROD_PROCUREMENT, P_PROD_PROCUREMENTX,P_TRANSPORT_LANE,P_TRANSPORT_LANEX,ERRDESC,COUNTER.&lt;/P&gt;&lt;P&gt;REFRESH :  P_PROD_PROCUREMENT[], P_PROD_PROCUREMENTX[],P_TRANSPORT_LANE[],P_TRANSPORT_LANEX[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCATION_FROM = RECORD_ALL-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCTYPE_LOC_FROM = RECORD_ALL-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCATION_TO = RECORD_ALL-LOCATION_TO.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANE-LOCTYPE_LOC_TO = RECORD_ALL-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCATION_FROM = RECORD_ALL-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCTYPE_LOC_FROM = RECORD_ALL-LOCTYPE_LOC_FROM .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCATION_TO = RECORD_ALL-LOCATION_TO .&lt;/P&gt;&lt;P&gt;        P_TRANSPORT_LANEX-LOCTYPE_LOC_TO = RECORD_ALL-LOCTYPE_LOC_TO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-LOCATION_FROM = RECORD_ALL-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-LOCTYPE_LOC_FROM = RECORD_ALL-LOCTYPE_LOC_FROM.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-LOCATION_TO = RECORD_ALL-LOCATION_TO.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-LOCTYPE_LOC_TO = RECORD_ALL-LOCTYPE_LOC_TO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENTX-LOCATION_FROM = RECORD_ALL-LOCATION_FROM.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENTX-LOCTYPE_LOC_FROM = RECORD_ALL-LOCTYPE_LOC_FROM .&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENTX-LOCATION_TO = RECORD_ALL-LOCATION_TO .&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENTX-LOCTYPE_LOC_TO = RECORD_ALL-LOCTYPE_LOC_TO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-VALFR          = RECORD_ALL-VALFR.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-VALTO          = RECORD_ALL-VALTO.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENT-ALL_PRDS_FLG   = 'X'.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENTX-VALFR         = RECORD_ALL-VALFR.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENTX-VALTO         = RECORD_ALL-VALTO.&lt;/P&gt;&lt;P&gt;        P_PROD_PROCUREMENTX-ALL_PRDS_FLG  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND  P_TRANSPORT_LANE .&lt;/P&gt;&lt;P&gt;        APPEND  P_TRANSPORT_LANEX.&lt;/P&gt;&lt;P&gt;        APPEND  P_PROD_PROCUREMENT .&lt;/P&gt;&lt;P&gt;        APPEND  P_PROD_PROCUREMENTX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;*CALL OF PERFORM TO CALL BAPI to attach product specific cost in transportation lane&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM BAPI_CALL3.&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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*counter to count total no of unupadetd records&lt;/P&gt;&lt;P&gt;     UNSUCESSCOUNT = UNSUCESSCOUNT + ERR_COUNT + BAPIERR_COUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PAPULATE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*BAPI CALL&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM BAPI_CALL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'BAPI_TRLSRVAPS_SAVEMULTI2'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOGICAL_SYSTEM                       =  'AP1CLNT600'&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  BUSINESS_SYSTEM_GROUP                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  COMMIT_CONTROL                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  AUTO_DELETE                          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRANSPORTATION_LANE                  =  P_PROD_PROCUREMENT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRANSPORTATION_LANE_X                =  P_PROD_PROCUREMENTX&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PRODUCT_PROCUREMENT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PRODUCT_PROCUREMENT_X                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PRODUCT_PROCUREMENT_VERSION          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PRODUCT_PROCUREMENT_VERSION_X        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  EXTERNAL_PROCUREMENT                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  EXTERNAL_PROCUREMENT_X               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  EXTERNAL_PROCUREMENT_VERSION         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  EXTERNAL_PROCUREMENT_VERSION_X       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORT_X                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PROD_PROC_MEANS_OF_TRANSPORT         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PROD_PROC_MEANS_OF_TRANSPORT_X       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  EXT_PROC_MEANS_OF_TRANSPORT          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  EXT_PROC_MEANS_OF_TRANSPORT_X        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  CARRIER                              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  CARRIER_X                            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  RETURN                               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  EXTENSION_IN                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORT_VERSION           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORT_VERSION_X         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRLSRVAPS_SAVEMULTI'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    LOGICAL_SYSTEM                  = 'MPDCLNT010'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BUSINESS_SYSTEM_GROUP           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODEL                           = '000'&lt;/P&gt;&lt;P&gt;   COMMIT_CONTROL                  = 'E'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AUTO_DELETE                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   TRANSPORT_LANE                  = P_TRANSPORT_LANE&lt;/P&gt;&lt;P&gt;   TRANSPORT_LANEX                 = P_TRANSPORT_LANEX&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT                = P_PROD_PROCUREMENT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENTX               = P_PROD_PROCUREMENTX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   MEANS_OF_TRANSPORT              = P_MEANS_OF_TRANSPORT&lt;/P&gt;&lt;P&gt;   MEANS_OF_TRANSPORTX             = P_MEANS_OF_TRANSPORTX&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_MEANS_OF_TRANSPORT         = P_PROD_MEANS_OF_TRANSPORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_MEANS_OF_TRANSPORTX        = P_PROD_MEANS_OF_TRANSPORTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CARRIER                         = P_CARRIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CARRIERX                        = P_CARRIERX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    RETURN                          = RETURN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSION_IN                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT_VERSION        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT_VERSIONX       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       counter to count no of sucessfully updatd records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           SUCESSCOUNT = SUCESSCOUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       counter to count no of default unupdatd records in bapi&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          BAPIERR_COUNT = BAPIERR_COUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     loop at return where type = 'E'. " and ID NE 'MEPO' and ID NE 'BAPI'.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'For Transportation Line ' RECORD-LOCATION_FROM '-&amp;gt; ' RECORD-LOCATION_TO  ',' RETURN-MESSAGE INTO ERRDESC SEPARATED BY SPACE..&lt;/P&gt;&lt;P&gt;        WRITE: / ERRDESC COLOR 6 .&lt;/P&gt;&lt;P&gt;          IF COUNTER = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of default unupdatd records in bapi&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                BAPIERR_COUNT = BAPIERR_COUNT + 1.&lt;/P&gt;&lt;P&gt;                COUNTER = COUNTER + 1.&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 SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of sucessfully updatd records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            SUCESSCOUNT = SUCESSCOUNT + 1.&lt;/P&gt;&lt;P&gt;            CLEAR SUCESSDESC.&lt;/P&gt;&lt;P&gt;            CONCATENATE 'Record is sucessfully updated for Transportation Lane ' RECORD-LOCATION_FROM '-&amp;gt; ' RECORD-LOCATION_TO INTO SUCESSDESC SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;            WRITE : / SUCESSDESC COLOR 5.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*Confirm the document creation by calling database COMMIT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        WAIT = 'X'.&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;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;*Messages&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at return where type = 'S' and number ne '233'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          ID        = return-ID&lt;/P&gt;&lt;P&gt;          LANG      = SY-LANGU&lt;/P&gt;&lt;P&gt;          NO        = return-NUMBER&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          MSG       = W_MSG&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;          OTHERS    = 2.&lt;/P&gt;&lt;P&gt;      WRITE W_MSG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     itab_msg-message = w_msg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append itab_msg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: W_MSG.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*BAPI CALL&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM BAPI_CALL1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRLSRVAPS_SAVEMULTI'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    LOGICAL_SYSTEM                  = 'MPDCLNT010'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BUSINESS_SYSTEM_GROUP           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODEL                           = '000'&lt;/P&gt;&lt;P&gt;    COMMIT_CONTROL                  = 'E'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AUTO_DELETE                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   TRANSPORT_LANE                  = P_TRANSPORT_LANE&lt;/P&gt;&lt;P&gt;   TRANSPORT_LANEX                 = P_TRANSPORT_LANEX&lt;/P&gt;&lt;P&gt;   PROD_PROCUREMENT                = P_PROD_PROCUREMENT&lt;/P&gt;&lt;P&gt;   PROD_PROCUREMENTX               = P_PROD_PROCUREMENTX&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORT              = P_MEANS_OF_TRANSPORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORTX             = P_MEANS_OF_TRANSPORTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_MEANS_OF_TRANSPORT         = P_PROD_MEANS_OF_TRANSPORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_MEANS_OF_TRANSPORTX        = P_PROD_MEANS_OF_TRANSPORTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CARRIER                         = P_CARRIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CARRIERX                        = P_CARRIERX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    RETURN                          = RETURN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSION_IN                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT_VERSION        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT_VERSIONX       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       counter to count no of sucessfully updatd records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           SUCESSCOUNT = SUCESSCOUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       counter to count no of default unupdatd records in bapi&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          BAPIERR_COUNT = BAPIERR_COUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at return where type = 'E'. " and ID NE 'MEPO' and ID NE 'BAPI'.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'For Transportation Line ' RECORD_PRODUCT-LOCATION_FROM '-&amp;gt; ' RECORD_PRODUCT-LOCATION_TO  ',' RETURN-MESSAGE INTO ERRDESC SEPARATED BY SPACE..&lt;/P&gt;&lt;P&gt;        WRITE: / ERRDESC COLOR 6.&lt;/P&gt;&lt;P&gt;          IF COUNTER = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of default unupdatd records in bapi&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                BAPIERR_COUNT = BAPIERR_COUNT + 1.&lt;/P&gt;&lt;P&gt;                COUNTER = COUNTER + 1.&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 SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of sucessfully updatd records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            SUCESSCOUNT = SUCESSCOUNT + 1.&lt;/P&gt;&lt;P&gt;            CLEAR SUCESSDESC.&lt;/P&gt;&lt;P&gt;            CONCATENATE 'Record is sucessfully updated for Transportation Lane '  RECORD_PRODUCT-LOCATION_FROM '-&amp;gt; '  RECORD_PRODUCT-LOCATION_TO INTO SUCESSDESC SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;            WRITE : / SUCESSDESC COLOR 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*Confirm the document creation by calling database COMMIT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        WAIT = 'X'.&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;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;*Messages&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at return where type = 'S' and number ne '233'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          ID        = return-ID&lt;/P&gt;&lt;P&gt;          LANG      = SY-LANGU&lt;/P&gt;&lt;P&gt;          NO        = return-NUMBER&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          MSG       = W_MSG&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;          OTHERS    = 2.&lt;/P&gt;&lt;P&gt;      WRITE W_MSG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     itab_msg-message = w_msg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append itab_msg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: W_MSG.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*BAPI CALL&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM BAPI_CALL2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRLSRVAPS_SAVEMULTI'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    LOGICAL_SYSTEM                  = 'MPDCLNT010'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BUSINESS_SYSTEM_GROUP           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODEL                           = '000'&lt;/P&gt;&lt;P&gt;   COMMIT_CONTROL                  = 'E'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AUTO_DELETE                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   TRANSPORT_LANE                  = P_TRANSPORT_LANE&lt;/P&gt;&lt;P&gt;   TRANSPORT_LANEX                 = P_TRANSPORT_LANEX&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT                = P_PROD_PROCUREMENT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENTX               = P_PROD_PROCUREMENTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORT              = P_MEANS_OF_TRANSPORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORTX             = P_MEANS_OF_TRANSPORTX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   PROD_MEANS_OF_TRANSPORT         = P_PROD_MEANS_OF_TRANSPORT&lt;/P&gt;&lt;P&gt;   PROD_MEANS_OF_TRANSPORTX        = P_PROD_MEANS_OF_TRANSPORTX&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CARRIER                         = P_CARRIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CARRIERX                        = P_CARRIERX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    RETURN                          = RETURN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSION_IN                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT_VERSION        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT_VERSIONX       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of sucessfully updatd records&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           SUCESSCOUNT = SUCESSCOUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of default unupdatd records in bapi&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          BAPIERR_COUNT = BAPIERR_COUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     loop at return where type = 'E'. " and ID NE 'MEPO' and ID NE 'BAPI'.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'For Transportation Line ' RECORD_COST-LOCATION_FROM '-&amp;gt; ' RECORD_COST-LOCATION_TO  ',' RETURN-MESSAGE INTO ERRDESC SEPARATED BY SPACE..&lt;/P&gt;&lt;P&gt;        WRITE: / ERRDESC COLOR 6.&lt;/P&gt;&lt;P&gt;          IF COUNTER = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of default unupdatd records in bapi&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                BAPIERR_COUNT = BAPIERR_COUNT + 1.&lt;/P&gt;&lt;P&gt;                COUNTER = COUNTER + 1.&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 SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of sucessfully updatd records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            SUCESSCOUNT = SUCESSCOUNT + 1.&lt;/P&gt;&lt;P&gt;            CLEAR SUCESSDESC.&lt;/P&gt;&lt;P&gt;            CONCATENATE 'Record is sucessfully updated for Transportation Lane '  RECORD_COST-LOCATION_FROM '-&amp;gt; '  RECORD_COST-LOCATION_TO INTO SUCESSDESC SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;            WRITE : / SUCESSDESC COLOR 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*Confirm the document creation by calling database COMMIT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        WAIT = 'X'.&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;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;*Messages&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at return where type = 'S' and number ne '233'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          ID        = return-ID&lt;/P&gt;&lt;P&gt;          LANG      = SY-LANGU&lt;/P&gt;&lt;P&gt;          NO        = return-NUMBER&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          MSG       = W_MSG&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;          OTHERS    = 2.&lt;/P&gt;&lt;P&gt;      WRITE W_MSG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     itab_msg-message = w_msg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append itab_msg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: W_MSG.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*BAPI CALL&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM BAPI_CALL3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRLSRVAPS_SAVEMULTI'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    LOGICAL_SYSTEM                  = 'ER1CLNT100'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BUSINESS_SYSTEM_GROUP           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODEL                           = '000'&lt;/P&gt;&lt;P&gt;   COMMIT_CONTROL                  = 'E'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AUTO_DELETE                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;    TRANSPORT_LANE                  = P_TRANSPORT_LANE&lt;/P&gt;&lt;P&gt;    TRANSPORT_LANEX                 = P_TRANSPORT_LANEX&lt;/P&gt;&lt;P&gt;    PROD_PROCUREMENT                = P_PROD_PROCUREMENT&lt;/P&gt;&lt;P&gt;    PROD_PROCUREMENTX               = P_PROD_PROCUREMENTX&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORT              = P_MEANS_OF_TRANSPORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MEANS_OF_TRANSPORTX             = P_MEANS_OF_TRANSPORTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_MEANS_OF_TRANSPORT         = P_PROD_MEANS_OF_TRANSPORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_MEANS_OF_TRANSPORTX        = P_PROD_MEANS_OF_TRANSPORTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CARRIER                         = P_CARRIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CARRIERX                        = P_CARRIERX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    RETURN                          = RETURN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSION_IN                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT_VERSION        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROD_PROCUREMENT_VERSIONX       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of sucessfully updatd records&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           SUCESSCOUNT = SUCESSCOUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of default unupdatd records in bapi&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          BAPIERR_COUNT = BAPIERR_COUNT + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     loop at return where type = 'E'. " and ID NE 'MEPO' and ID NE 'BAPI'.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'For Transportation Line ' RECORD_ALL-LOCATION_FROM '-&amp;gt; ' RECORD_ALL-LOCATION_TO  ',' RETURN-MESSAGE INTO ERRDESC SEPARATED BY SPACE..&lt;/P&gt;&lt;P&gt;        WRITE: / ERRDESC COLOR 6.&lt;/P&gt;&lt;P&gt;          IF COUNTER = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of default unupdatd records in bapi&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                BAPIERR_COUNT = BAPIERR_COUNT + 1.&lt;/P&gt;&lt;P&gt;                COUNTER = COUNTER + 1.&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 SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;         CLEAR SUCESSDESC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       counter to count no of sucessfully updatd records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONCATENATE 'Record is sucessfully updated for Transportation Lane ' RECORD_ALL-LOCATION_FROM '-&amp;gt; ' RECORD_ALL-LOCATION_TO INTO SUCESSDESC SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;            WRITE : / SUCESSDESC COLOR 5.&lt;/P&gt;&lt;P&gt;            SUCESSCOUNT = SUCESSCOUNT + 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*Confirm the document creation by calling database COMMIT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        WAIT = 'X'.&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;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;*Messages&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at return where type = 'S' and number ne '233'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          ID        = return-ID&lt;/P&gt;&lt;P&gt;          LANG      = SY-LANGU&lt;/P&gt;&lt;P&gt;          NO        = return-NUMBER&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          MSG       = W_MSG&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;          OTHERS    = 2.&lt;/P&gt;&lt;P&gt;      WRITE W_MSG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     itab_msg-message = w_msg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append itab_msg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: W_MSG.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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  CHECK_LIVECACHE_CONNECTION&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 CHECK_LIVECACHE_CONNECTION .&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;check liveCache connection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  LV_LC_CONN_OK = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION '/SAPAPO/MSNP_BAS_CHECK_LC'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           EV_OK = LV_LC_CONN_OK.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION '/SAPAPO/OM_LIVECACHE_AVAILABLE'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      LC_CONNECT_FAILED = 1&lt;/P&gt;&lt;P&gt;      OTHERS            = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    LV_LC_CONN_OK = ' '.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF LV_LC_CONN_OK = ' '.&lt;/P&gt;&lt;P&gt;    WRITE : / '**********************************************'.&lt;/P&gt;&lt;P&gt;    WRITE : / '!!!!!!  NO CONNECTION TO APO LIVECACHE  !!!!!!'.&lt;/P&gt;&lt;P&gt;    WRITE : / '**********************************************'.&lt;/P&gt;&lt;P&gt;    WRITE : / '#################################################'.&lt;/P&gt;&lt;P&gt;    WRITE : / '##  APO ORDERS LIVECACHE DATA DOWNLOAD ABORTED ##'.&lt;/P&gt;&lt;P&gt;    WRITE : / '#################################################'.&lt;/P&gt;&lt;P&gt;    CLEAR GS_MESSAGE.&lt;/P&gt;&lt;P&gt;    GS_MESSAGE-MSGTY = 'I'.&lt;/P&gt;&lt;P&gt;    GS_MESSAGE-MSGID = '/SAPAPO/OM'.&lt;/P&gt;&lt;P&gt;    GS_MESSAGE-MSGNO = '000'.&lt;/P&gt;&lt;P&gt;    MESSAGE   ID GS_MESSAGE-MSGID&lt;/P&gt;&lt;P&gt;            TYPE GS_MESSAGE-MSGTY&lt;/P&gt;&lt;P&gt;          NUMBER GS_MESSAGE-MSGNO&lt;/P&gt;&lt;P&gt;            WITH GS_MESSAGE-MSGV1&lt;/P&gt;&lt;P&gt;                 GS_MESSAGE-MSGV2&lt;/P&gt;&lt;P&gt;                 GS_MESSAGE-MSGV3&lt;/P&gt;&lt;P&gt;                 GS_MESSAGE-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_LIVECACHE_CONNECTION&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  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;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 MESSAGE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DATA:G_STRING(100).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SHIFT RECORD-PRODUCT_INT LEFT DELETING LEADING SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SHIFT RECORD-LOCATION_INT LEFT DELETING LEADING SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CONCATENATE 'MATERIAL' RECORD-PRODUCT_INT 'FOR LOCATION' RECORD-LOCATION_INT 'OF PLANNING VERSION' pversion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       'DOES NOT EXIT' INTO G_STRING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SEPARATED BY SPACE..&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE:/ G_STRING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MESSAGE&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  WRITE_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;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 WRITE_MESSAGE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: L_STRING1(30),&lt;/P&gt;&lt;P&gt;      L_STRING2(30).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE SUCESSCOUNT TO L_STRING1.&lt;/P&gt;&lt;P&gt;  MOVE UNSUCESSCOUNT TO L_STRING2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONDENSE: L_STRING1,L_STRING2.&lt;/P&gt;&lt;P&gt;        SKIP 2.&lt;/P&gt;&lt;P&gt;        WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'TOTAL NO. OF RECORDS UPDATED :',L_STRING1.&lt;/P&gt;&lt;P&gt;        WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'TOTAL NO. OF RECORDS NOT UPDATED :',L_STRING2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_MESSAGE&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  PRINT_TOP_OF_PAGE&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 PRINT_TOP_OF_PAGE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; '**************************************************************************************************************************************'.&lt;/P&gt;&lt;P&gt;    WRITE :/10 'APO Transportation Lane upload DATA-STATUS OF FILE RECORDS', 70 'DATE:', SY-datum,'TIME:' ,SY-UZEIT,'USER:',SY-UNAME.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; '**************************************************************************************************************************************'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PRINT_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Mohit khandelwal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Sep 2008 05:50:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/excel-format-in-bapi/m-p/4450129#M1055197</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-05T05:50:58Z</dc:date>
    </item>
  </channel>
</rss>

