<?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 Po Update in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909382#M684518</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am posting this question again as I haven't get any reply on my previous post&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi Gurus,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually I need to update the price in some of the selected PO's as price of the materials have changed, so basically the functional folks will be sening me an input file with material no's and the changed price, and now I need to chnage the price of the materials in some of the existing PO's. I have made a selection criterion and based on that all the PO numbers those are required to be change are stored in it_tab2 with field ebeln and all the material no's and the updated price are stored in it_tab1 with field names material and price and now I have to use BAPI_PO_CHANGE to change the PO price, so can you please help me out how to use this BAPI to achieve what is required and moreover the exiting pO's may have multip;e line items with different material no's ,,,,please don't paste the sample code, please try to solve this problem using my own table and fields. I will really appreciate your efforts:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 22 Oct 2007 16:46:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-22T16:46:32Z</dc:date>
    <item>
      <title>Po Update</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909382#M684518</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am posting this question again as I haven't get any reply on my previous post&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi Gurus,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually I need to update the price in some of the selected PO's as price of the materials have changed, so basically the functional folks will be sening me an input file with material no's and the changed price, and now I need to chnage the price of the materials in some of the existing PO's. I have made a selection criterion and based on that all the PO numbers those are required to be change are stored in it_tab2 with field ebeln and all the material no's and the updated price are stored in it_tab1 with field names material and price and now I have to use BAPI_PO_CHANGE to change the PO price, so can you please help me out how to use this BAPI to achieve what is required and moreover the exiting pO's may have multip;e line items with different material no's ,,,,please don't paste the sample code, please try to solve this problem using my own table and fields. I will really appreciate your efforts:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 16:46:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909382#M684518</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T16:46:32Z</dc:date>
    </item>
    <item>
      <title>Re: Po Update</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909383#M684519</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajeev,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No one can help you write the entire code. Check the sample code below and understand how its being used, If something is not clear we can help. But dont expect anyone to try do what you are supposed to do. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the sample code on BAPI_PO_CHANGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm" target="test_blank"&gt;http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt; VJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 17:12:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909383#M684519</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T17:12:03Z</dc:date>
    </item>
    <item>
      <title>Re: Po Update</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909384#M684520</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajeev,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope my code will help you in solving your problem. If you find this is helpful. &amp;lt;b&amp;gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Sagar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zmmisnipogr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Description        :    This Custom BDC program is used to upload   *&lt;/P&gt;&lt;P&gt;                              Vendor Master Data from a text file to SAP  *&lt;/P&gt;&lt;P&gt;                             System.	                                     *&lt;/P&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;P&gt; Inputs             :    Input File containing the required data for *&lt;/P&gt;&lt;P&gt;                            this Program.                               *&lt;/P&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;P&gt; Outputs            :    Error File with error records  as well as   *&lt;/P&gt;&lt;P&gt;                              the Error.                                  *&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;                     TABLES DECLARATION                              *&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;&lt;/P&gt;&lt;P&gt;TABLES: lfa1,&lt;/P&gt;&lt;P&gt;             ekko,&lt;/P&gt;&lt;P&gt;             ekpo,&lt;/P&gt;&lt;P&gt;             mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*vendor details structure&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_lfa1,&lt;/P&gt;&lt;P&gt;         zterm TYPE lfb1-zterm,&lt;/P&gt;&lt;P&gt;         adrnr TYPE lfa1-adrnr,&lt;/P&gt;&lt;P&gt;         pstlz TYPE lfa1-pstlz,&lt;/P&gt;&lt;P&gt;         otr01 TYPE lfa1-ort01,&lt;/P&gt;&lt;P&gt;         land1 TYPE lfa1-land1,&lt;/P&gt;&lt;P&gt;         telf1 TYPE lfa1-telf1,&lt;/P&gt;&lt;P&gt;         telfx TYPE lfa1-telfx,&lt;/P&gt;&lt;P&gt;         stcd1 TYPE lfa1-stcd1,&lt;/P&gt;&lt;P&gt;         name1 TYPE lfa1-name1,&lt;/P&gt;&lt;P&gt;         inco1 TYPE ekpo-inco1,&lt;/P&gt;&lt;P&gt;         txjcd TYPE ekpo-txjcd,&lt;/P&gt;&lt;P&gt;       END OF ty_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*po details structure&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF ty_ekko_ekpo,&lt;/P&gt;&lt;P&gt;        ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;        bukrs TYPE bukrs,&lt;/P&gt;&lt;P&gt;        bsart TYPE bsart,&lt;/P&gt;&lt;P&gt;        lifnr TYPE lifnr,&lt;/P&gt;&lt;P&gt;        ekorg TYPE ekorg,&lt;/P&gt;&lt;P&gt;        ekgrp TYPE ekgrp,&lt;/P&gt;&lt;P&gt;        ihrez TYPE ihrez,&lt;/P&gt;&lt;P&gt;        ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;        matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;        menge TYPE menge_d,&lt;/P&gt;&lt;P&gt;        meins TYPE meins,&lt;/P&gt;&lt;P&gt;        netpr TYPE netpr,&lt;/P&gt;&lt;P&gt;        knttp TYPE knttp,&lt;/P&gt;&lt;P&gt;        ean11 TYPE ean11,&lt;/P&gt;&lt;P&gt;      END OF ty_ekko_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*flat file details structure&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_rec,&lt;/P&gt;&lt;P&gt;         doc_type      TYPE bsart,&lt;/P&gt;&lt;P&gt;         vendor        TYPE lifnr,&lt;/P&gt;&lt;P&gt;         purch_org     TYPE ekorg,&lt;/P&gt;&lt;P&gt;         po_number     TYPE ebeln,&lt;/P&gt;&lt;P&gt;         po_item       TYPE ebelp,&lt;/P&gt;&lt;P&gt;         pur_group     TYPE ekgrp,&lt;/P&gt;&lt;P&gt;         co_code       TYPE bukrs,&lt;/P&gt;&lt;P&gt;         acctasscat    TYPE knttp,&lt;/P&gt;&lt;P&gt;         material      TYPE matnr,&lt;/P&gt;&lt;P&gt;         short_text    TYPE txz01,&lt;/P&gt;&lt;P&gt;         disp_quan     TYPE char13,&lt;/P&gt;&lt;P&gt;         unit          TYPE meins,&lt;/P&gt;&lt;P&gt;         deliv_date    TYPE char10,&lt;/P&gt;&lt;P&gt;         net_price     TYPE char11,&lt;/P&gt;&lt;P&gt;         plant         TYPE werks_d,&lt;/P&gt;&lt;P&gt;         g_l_acct      TYPE sakto,&lt;/P&gt;&lt;P&gt;         cost_ctr      TYPE kostl,&lt;/P&gt;&lt;P&gt;         ean11         TYPE ean11,&lt;/P&gt;&lt;P&gt;         ref_1         TYPE ihrez,&lt;/P&gt;&lt;P&gt;         bwart         TYPE bwart,&lt;/P&gt;&lt;P&gt;       END OF ty_rec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_mard,&lt;/P&gt;&lt;P&gt;       matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;       lgort TYPE lgort_d,&lt;/P&gt;&lt;P&gt;       END OF ty_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_error,&lt;/P&gt;&lt;P&gt;           errmsg1 TYPE string,&lt;/P&gt;&lt;P&gt;           errmsg2 TYPE string,&lt;/P&gt;&lt;P&gt;       END OF ty_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;declarations for bapi_po_create&lt;/STRONG&gt;*******&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_header_cr TYPE TABLE OF bapiekkoc,&lt;/P&gt;&lt;P&gt;      w_header_cr  TYPE bapiekkoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_items_cr TYPE TABLE OF bapiekpoc,&lt;/P&gt;&lt;P&gt;      w_items_cr  TYPE bapiekpoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_account_cr TYPE TABLE OF bapiekkn,&lt;/P&gt;&lt;P&gt;      w_account_cr  TYPE bapiekkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_schedules_cr TYPE TABLE OF bapieket,&lt;/P&gt;&lt;P&gt;      w_schedules_cr  TYPE bapieket.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_return TYPE TABLE OF bapireturn,&lt;/P&gt;&lt;P&gt;      w_return  TYPE bapireturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_add_data_cr TYPE TABLE OF bapiekkoa,&lt;/P&gt;&lt;P&gt;      w_add_data_cr  TYPE bapiekkoa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;declarations for bapi_po_create&lt;/STRONG&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;STRONG&gt;Declarations for bapi_po_change&lt;/STRONG&gt;****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase Order Header&lt;/P&gt;&lt;P&gt;DATA: it_poheader TYPE TABLE OF bapimepoheader,&lt;/P&gt;&lt;P&gt;      w_poheader  TYPE bapimepoheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:it_poheaderx TYPE TABLE OF bapimepoheaderx,&lt;/P&gt;&lt;P&gt;      w_poheaderx  TYPE bapimepoheaderx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase Order Item Data&lt;/P&gt;&lt;P&gt;DATA: it_poitem TYPE TABLE OF bapimepoitem,&lt;/P&gt;&lt;P&gt;      w_poitem  TYPE bapimepoitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_poitemx TYPE TABLE OF bapimepoitemx,&lt;/P&gt;&lt;P&gt;      w_poitemx  TYPE bapimepoitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase Order Account Assignment Fields&lt;/P&gt;&lt;P&gt;DATA: it_poaccount TYPE TABLE OF bapimepoaccount,&lt;/P&gt;&lt;P&gt;      w_poaccount  TYPE bapimepoaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_poaccountx TYPE TABLE OF bapimepoaccountx,&lt;/P&gt;&lt;P&gt;      w_poaccountx  TYPE bapimepoaccountx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase Order Delivery Schedule&lt;/P&gt;&lt;P&gt;DATA: it_poschedule TYPE TABLE OF bapimeposchedule,&lt;/P&gt;&lt;P&gt;      w_poschedule  TYPE bapimeposchedule.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_poschedulex TYPE TABLE OF bapimeposchedulx,&lt;/P&gt;&lt;P&gt;      w_poschedulex  TYPE bapimeposchedulx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_bapiret2     TYPE TABLE OF bapiret2,&lt;/P&gt;&lt;P&gt;      w_bapiret2      TYPE bapiret2,&lt;/P&gt;&lt;P&gt;      w_purchaseorder TYPE ebeln,&lt;/P&gt;&lt;P&gt;      w_purchaseorder1 TYPE ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;Declarations for bapi_po_change&lt;/STRONG&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;STRONG&gt;Declarations for bapi_goodsmvt_create&lt;/STRONG&gt;****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_header_gr TYPE bapi2017_gm_head_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_item_gr  TYPE TABLE OF bapi2017_gm_item_create,&lt;/P&gt;&lt;P&gt;      w_item_gr   TYPE bapi2017_gm_item_create.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: c_mvind(1) TYPE c VALUE 'B'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: v_matdoc TYPE bapi2017_gm_head_ret-mat_doc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;Declarations for bapi_goodsmvt_create&lt;/STRONG&gt;****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_lfa1 TYPE TABLE OF ty_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ekko_ekpo TYPE TABLE OF ty_ekko_ekpo,&lt;/P&gt;&lt;P&gt;      w_ekko_ekpo TYPE ty_ekko_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_rec   TYPE ty_rec OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      w_rec    TYPE ty_rec.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_error TYPE TABLE OF ty_rec,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_error  TYPE ty_rec.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_ekpo OCCURS 0,&lt;/P&gt;&lt;P&gt;         ebeln LIKE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;         ebelp LIKE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;       END OF it_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_mard TYPE ty_mard OCCURS 0,&lt;/P&gt;&lt;P&gt;      w_mard TYPE ty_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_error TYPE TABLE OF ty_error ,&lt;/P&gt;&lt;P&gt;      w_error  TYPE ty_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : w_repid_nm     LIKE sy-repid VALUE sy-repid,&lt;/P&gt;&lt;P&gt;       w_true_fg      TYPE c VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: p1_file TYPE string.&lt;/P&gt;&lt;P&gt;DATA:v_msgstr TYPE string.&lt;/P&gt;&lt;P&gt;DATA : msg(2) TYPE c,&lt;/P&gt;&lt;P&gt;       msgno(3) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: v_item(4) TYPE n.                                     " value 10.&lt;/P&gt;&lt;P&gt;***********&lt;STRONG&gt;CONSTANTS&lt;/STRONG&gt;***********************&lt;/P&gt;&lt;P&gt;CONSTANTS : c_gmcode(2) TYPE c VALUE '01',&lt;/P&gt;&lt;P&gt;            k_flag(1) TYPE c VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data: w_purchaseorder type ebeln.&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;                   SELECTION SCREEN BLOCK                           *&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;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETER rb_rad1 RADIOBUTTON GROUP rept DEFAULT 'X' USER-COMMAND rad1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(29) text-002 FOR FIELD rb_rad1.&lt;/P&gt;&lt;P&gt;PARAMETERS p_local LIKE btch0000-text80 MODIF ID sg1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETER rb_rad2 RADIOBUTTON GROUP rept .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(29) text-003 FOR FIELD rb_rad1.&lt;/P&gt;&lt;P&gt;PARAMETERS p_logic LIKE btch0000-text80 MODIF ID sg2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b3.&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;P&gt;*&amp;amp;                AT SELECTION-SCREEN OUPUT                       *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF rb_rad1 = 'X'.&lt;/P&gt;&lt;P&gt;    CLEAR p_logic.&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF screen-group1 = 'SG2'.&lt;/P&gt;&lt;P&gt;        screen-input = '0'.&lt;/P&gt;&lt;P&gt;        screen-intensified = '1'.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSEIF rb_rad2 = 'X'.&lt;/P&gt;&lt;P&gt;    CLEAR p_local.&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF screen-group1 = 'SG1'.&lt;/P&gt;&lt;P&gt;        screen-input = '0'.&lt;/P&gt;&lt;P&gt;        screen-intensified = '1'.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;                 VALUE REQUEST FOR LOCAL FILE NAME                   *&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;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform To Provide List Of Possible Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f4_local_filename USING p_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_local IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Perform To Validate Local File&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM validate_local_file.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_logic IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Perform To Validate Logical File&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM validate_logical_file .&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To Restrict Blank File Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF rb_rad1 =  w_true_fg AND&lt;/P&gt;&lt;P&gt;     p_local IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE i016(0) WITH  'Please enter file'.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF rb_rad2 =  w_true_fg AND&lt;/P&gt;&lt;P&gt;         p_logic IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE i016(0) WITH  'Please enter file'.&lt;/P&gt;&lt;P&gt;    STOP.&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 p_local IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM upload_file USING p_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF p_logic IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM read_file USING p_logic.&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;  PERFORM select_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_rec INTO w_rec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_ekko_ekpo INTO w_ekko_ekpo WITH KEY ebeln = w_rec-po_number&lt;/P&gt;&lt;P&gt;                                                      ebelp = w_rec-po_item.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM update_po.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR it_ekpo.&lt;/P&gt;&lt;P&gt;      SELECT ebeln ebelp&lt;/P&gt;&lt;P&gt;          FROM ekpo&lt;/P&gt;&lt;P&gt;          INTO TABLE it_ekpo&lt;/P&gt;&lt;P&gt;          WHERE ebeln = w_rec-po_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE it_ekko_ekpo INTO w_ekko_ekpo WITH KEY ebeln = w_rec-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT it_ekpo BY ebeln ASCENDING ebelp DESCENDING .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_ekpo INDEX 1.&lt;/P&gt;&lt;P&gt;        IF sy-subrc      = 0            AND&lt;/P&gt;&lt;P&gt;           it_ekpo-ebelp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          w_rec-po_item = it_ekpo-ebelp + 10.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          w_rec-po_item = w_rec-po_item + 10.&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;        PERFORM update_po.&lt;/P&gt;&lt;P&gt;        CLEAR w_rec-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        w_rec-po_item = w_rec-po_item + 10.&lt;/P&gt;&lt;P&gt;        PERFORM create_po.&lt;/P&gt;&lt;P&gt;        CLEAR w_rec-po_item.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&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;  PERFORM download_error_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  UPDATE_PO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM update_po.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_purchaseorder = w_rec-po_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase order Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_poheader-doc_type  = w_rec-doc_type.&lt;/P&gt;&lt;P&gt;  w_poheader-vendor    = w_rec-vendor.&lt;/P&gt;&lt;P&gt;  w_poheader-purch_org = w_rec-purch_org.&lt;/P&gt;&lt;P&gt;  w_poheader-po_number = w_rec-po_number.&lt;/P&gt;&lt;P&gt;  w_poheader-pur_group = w_rec-pur_group.&lt;/P&gt;&lt;P&gt;  w_poheader-comp_code = w_rec-co_code.&lt;/P&gt;&lt;P&gt;  w_poheader-ref_1     = w_rec-ref_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; poheaderx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_poheaderx-doc_type  = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-vendor    = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-purch_org = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-po_number = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-pur_group = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-comp_code = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-ref_1     = k_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase order Item data&lt;/P&gt;&lt;P&gt;  w_poitem-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poitem-acctasscat = w_rec-acctasscat.&lt;/P&gt;&lt;P&gt;  w_poitem-material   = w_rec-material.&lt;/P&gt;&lt;P&gt;  w_poitem-po_unit    = w_rec-unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE w_rec-net_price RIGHT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_poitem-net_price  = w_rec-net_price.&lt;/P&gt;&lt;P&gt;  w_poitem-short_text = w_rec-short_text.&lt;/P&gt;&lt;P&gt;  w_poitem-plant      = w_rec-plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_mard INTO w_mard WITH KEY matnr = w_rec-material.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    w_poitem-stge_loc   = w_mard-lgort.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  w_poitem-int_obj_no = w_rec-ean11.&lt;/P&gt;&lt;P&gt;  APPEND w_poitem TO it_poitem.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; poitemx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_poitemx-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poitemx-po_itemx   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-acctasscat = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-material   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-po_unit    = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-net_price  = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-short_text = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-plant      = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-stge_loc   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-int_obj_no = k_flag.&lt;/P&gt;&lt;P&gt;  APPEND w_poitemx TO it_poitemx.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase order account&lt;/P&gt;&lt;P&gt;  w_poaccount-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poaccount-gl_account = w_rec-g_l_acct.&lt;/P&gt;&lt;P&gt;  w_poaccount-costcenter = w_rec-cost_ctr.&lt;/P&gt;&lt;P&gt;  APPEND w_poaccount TO it_poaccount.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; poaccountx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_poaccountx-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poaccountx-po_itemx   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poaccountx-gl_account = k_flag.&lt;/P&gt;&lt;P&gt;  w_poaccountx-costcenter = k_flag.&lt;/P&gt;&lt;P&gt;  APPEND w_poaccountx TO it_poaccountx.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poaccountx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase order Schedule&lt;/P&gt;&lt;P&gt;  w_poschedule-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poschedule-quantity   = w_rec-disp_quan.&lt;/P&gt;&lt;P&gt;  w_poschedule-delivery_date = w_rec-deliv_date.&lt;/P&gt;&lt;P&gt;  APPEND w_poschedule TO it_poschedule.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poschedule.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*poschedulex&lt;/P&gt;&lt;P&gt;  w_poschedulex-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poschedulex-po_itemx   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poschedulex-quantity   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poschedulex-delivery_date = k_flag.&lt;/P&gt;&lt;P&gt;  APPEND w_poschedulex TO it_poschedulex.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poschedulex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_CHANGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;    purchaseorder                = w_purchaseorder&lt;/P&gt;&lt;P&gt;    poheader                     = w_poheader&lt;/P&gt;&lt;P&gt;    poheaderx                    = w_poheaderx&lt;/P&gt;&lt;UL&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;  EXPHEADER                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPPOEXPIMPHEADER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    return                       = it_bapiret2&lt;/P&gt;&lt;P&gt;    poitem                       = it_poitem&lt;/P&gt;&lt;P&gt;    poitemx                      = it_poitemx&lt;/P&gt;&lt;P&gt;    poschedule                   = it_poschedule&lt;/P&gt;&lt;P&gt;    poschedulex                  = it_poschedulex&lt;/P&gt;&lt;P&gt;    poaccount                    = it_poaccount&lt;/P&gt;&lt;P&gt;    poaccountx                   = it_poaccountx&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_bapiret2 INTO w_bapiret2 WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM create_gr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&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;   APPEND w_rec TO it_error.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR w_rec.&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;   PERFORM download_error_file.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_bapiret2 INTO w_bapiret2 WITH KEY type = 'E'.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND w_rec TO it_error.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR w_rec.&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;     PERFORM download_error_file.&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;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     msg = w_bapiret2-code+0(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     msgno = w_bapiret2-code+2(3).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*Function Module for Formatting the Messages&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          id        = w_bapiret2-id&lt;/P&gt;&lt;P&gt;          lang      = '-D'&lt;/P&gt;&lt;P&gt;          no        = w_bapiret2-number                   "w_return-LOG_MSG_NO&lt;/P&gt;&lt;P&gt;          v1        = w_return-MESSAGE_V1&lt;/P&gt;&lt;P&gt;          v2        = w_return-message_v2&lt;/P&gt;&lt;P&gt;          v3        = w_return-message_v3&lt;/P&gt;&lt;P&gt;          v4        = w_return-message_v4&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg       = v_msgstr&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;      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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Moving Error Records to Error Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      w_error-errmsg1 = w_rec.&lt;/P&gt;&lt;P&gt;      w_error-errmsg2 = v_msgstr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND w_error TO it_error.&lt;/P&gt;&lt;P&gt;      CLEAR  w_error.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "UPDATE_PO&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  F4_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_FLTFIL  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 F4_FILE  USING    P_P_FLTFIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f4_file USING file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Function Module to Prompt the user for File-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      program_name  = syst-cprog&lt;/P&gt;&lt;P&gt;      dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      file_name     = file.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "REQUEST_FILE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " F4_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  UPLOAD_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_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 upload_file  USING    p_p_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p1_file = p_p_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;P&gt;       filename                  = p1_file&lt;/P&gt;&lt;P&gt;      filetype                   = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   HAS_FIELD_SEPARATOR            = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;       data_tab                      = it_rec[]&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   file_open_error               = 1&lt;/P&gt;&lt;P&gt;   file_read_error               = 2&lt;/P&gt;&lt;P&gt;   no_batch                      = 3&lt;/P&gt;&lt;P&gt;   gui_refuse_filetransfer       = 4&lt;/P&gt;&lt;P&gt;   invalid_type                  = 5&lt;/P&gt;&lt;P&gt;   no_authority                  = 6&lt;/P&gt;&lt;P&gt;   unknown_error                 = 7&lt;/P&gt;&lt;P&gt;   bad_data_format               = 8&lt;/P&gt;&lt;P&gt;   header_not_allowed            = 9&lt;/P&gt;&lt;P&gt;   separator_not_allowed         = 10&lt;/P&gt;&lt;P&gt;   header_too_long               = 11&lt;/P&gt;&lt;P&gt;   unknown_dp_error              = 12&lt;/P&gt;&lt;P&gt;   access_denied                 = 13&lt;/P&gt;&lt;P&gt;   dp_out_of_memory              = 14&lt;/P&gt;&lt;P&gt;   disk_full                     = 15&lt;/P&gt;&lt;P&gt;   dp_timeout                    = 16&lt;/P&gt;&lt;P&gt;   OTHERS                        = 17&lt;/P&gt;&lt;P&gt;   .&lt;/P&gt;&lt;P&gt;  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;  SORT it_rec BY  po_number po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CREATE_PO&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 create_po .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Po_Header&lt;/P&gt;&lt;P&gt;  w_header_cr-doc_type  = w_rec-doc_type.&lt;/P&gt;&lt;P&gt;  w_header_cr-vendor    = w_rec-vendor.&lt;/P&gt;&lt;P&gt;  w_header_cr-purch_org = w_rec-purch_org.&lt;/P&gt;&lt;P&gt;  w_header_cr-po_number = w_rec-po_number.&lt;/P&gt;&lt;P&gt;  w_header_cr-pur_group = w_rec-pur_group.&lt;/P&gt;&lt;P&gt;  w_header_cr-co_code   = w_rec-co_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Po_Items&lt;/P&gt;&lt;P&gt;  w_items_cr-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_items_cr-acctasscat = w_rec-acctasscat.&lt;/P&gt;&lt;P&gt;  w_items_cr-material   = w_rec-material.&lt;/P&gt;&lt;P&gt;  w_items_cr-pur_mat    = w_rec-material.&lt;/P&gt;&lt;P&gt;  w_items_cr-unit       = w_rec-unit.&lt;/P&gt;&lt;P&gt;  w_items_cr-net_price  = w_rec-net_price.&lt;/P&gt;&lt;P&gt;  w_items_cr-short_text = w_rec-short_text.&lt;/P&gt;&lt;P&gt;  w_items_cr-plant      = w_rec-plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_mard INTO w_mard WITH KEY matnr = w_rec-material.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    w_items_cr-store_loc  = w_mard-lgort.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND w_items_cr TO it_items_cr.&lt;/P&gt;&lt;P&gt;  CLEAR  w_items_cr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Po_Account_assignment&lt;/P&gt;&lt;P&gt;  w_account_cr-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_account_cr-g_l_acct  = w_rec-g_l_acct.&lt;/P&gt;&lt;P&gt;  w_account_cr-cost_ctr  = w_rec-cost_ctr.&lt;/P&gt;&lt;P&gt;  APPEND w_account_cr TO it_account_cr.&lt;/P&gt;&lt;P&gt;  CLEAR  w_account_cr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Po_item_schedules&lt;/P&gt;&lt;P&gt;  w_schedules_cr-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_schedules_cr-quantity  = w_rec-disp_quan.&lt;/P&gt;&lt;P&gt;  w_schedules_cr-deliv_date = w_rec-deliv_date.&lt;/P&gt;&lt;P&gt;  APPEND w_schedules_cr TO it_schedules_cr.&lt;/P&gt;&lt;P&gt;  CLEAR  w_schedules_cr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*po_add_data&lt;/P&gt;&lt;P&gt;  w_add_data_cr-ref_1     = w_rec-ref_1.&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;  CALL FUNCTION 'BAPI_PO_CREATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      po_header                        = w_header_cr&lt;/P&gt;&lt;P&gt;      po_header_add_data               = w_add_data_cr&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      purchaseorder                    = w_purchaseorder1&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      po_items                         = it_items_cr&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PO_ITEM_ADD_DATA                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      po_item_schedules                = it_schedules_cr&lt;/P&gt;&lt;P&gt;      po_item_account_assignment       = it_account_cr&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PO_ITEM_TEXT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      return                           = it_return&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_return INTO w_return WITH KEY type = 'E'.       .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WAIT UP TO 4 SECONDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM create_gr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_return INTO w_return WITH KEY type = 'E'.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND w_rec TO it_error.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR w_rec.&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;     PERFORM download_error_file.&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;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      msg = w_return-code+0(2).&lt;/P&gt;&lt;P&gt;      msgno = w_return-code+2(3).&lt;/P&gt;&lt;P&gt;*Function Module for Formatting the Messages&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          id        = msg&lt;/P&gt;&lt;P&gt;          lang      = '-D'&lt;/P&gt;&lt;P&gt;          no        = msgno                    "w_return-LOG_MSG_NO&lt;/P&gt;&lt;P&gt;          v1        = w_return-message_v1&lt;/P&gt;&lt;P&gt;          v2        = w_return-message_v2&lt;/P&gt;&lt;P&gt;          v3        = w_return-message_v3&lt;/P&gt;&lt;P&gt;          v4        = w_return-message_v4&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg       = v_msgstr&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;      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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Moving Error Records to Error Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      w_error-errmsg1 = w_rec.&lt;/P&gt;&lt;P&gt;      w_error-errmsg2 = v_msgstr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND w_error TO it_error.&lt;/P&gt;&lt;P&gt;      CLEAR  w_error.&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;  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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_PO&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  CREATE_GR&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 create_gr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF w_purchaseorder1 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    w_rec-po_number = w_purchaseorder1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR w_purchaseorder1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Goodsmvt_Header&lt;/P&gt;&lt;P&gt;  w_header_gr-pstng_date = sy-datum.&lt;/P&gt;&lt;P&gt;  w_header_gr-doc_date   = sy-datum.&lt;/P&gt;&lt;P&gt;  w_header_gr-ref_doc_no = w_rec-po_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Goodsmvt_item&lt;/P&gt;&lt;P&gt;  w_item_gr-material  = w_rec-material.&lt;/P&gt;&lt;P&gt;  w_item_gr-plant     = w_rec-plant.&lt;/P&gt;&lt;P&gt;  w_item_gr-move_type = w_rec-bwart.&lt;/P&gt;&lt;P&gt;  w_item_gr-mvt_ind   = c_mvind.&lt;/P&gt;&lt;P&gt;  w_item_gr-entry_qnt = w_rec-disp_quan.&lt;/P&gt;&lt;P&gt;  w_item_gr-entry_uom = w_rec-unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_item_gr-po_number = w_rec-po_number.&lt;/P&gt;&lt;P&gt;  w_item_gr-po_item   = w_rec-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND w_item_gr TO it_item_gr.&lt;/P&gt;&lt;P&gt;  CLEAR  w_item_gr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Goods movement create&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      goodsmvt_header  = w_header_gr&lt;/P&gt;&lt;P&gt;      goodsmvt_code    = c_gmcode&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      materialdocument = v_matdoc&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      goodsmvt_item    = it_item_gr&lt;/P&gt;&lt;P&gt;      return           = it_bapiret2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_bapiret2 TRANSPORTING NO FIELDS WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM change_lineitem.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH : it_bapiret2,&lt;/P&gt;&lt;P&gt;            it_item_gr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  : w_header_gr,&lt;/P&gt;&lt;P&gt;           w_item_gr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_GR&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  F4_LOCAL_FILENAME&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_LOCAL  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f4_local_filename USING p_local_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:  w_filetable_nm  TYPE filetable,&lt;/P&gt;&lt;P&gt;         w_rc_in         TYPE i,&lt;/P&gt;&lt;P&gt;         w_useraction_in TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      window_title            = 'File Selection'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table              = w_filetable_nm&lt;/P&gt;&lt;P&gt;      rc                      = w_rc_in&lt;/P&gt;&lt;P&gt;      user_action             = w_useraction_in&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_open_dialog_failed = 1&lt;/P&gt;&lt;P&gt;      cntl_error              = 2&lt;/P&gt;&lt;P&gt;      error_no_gui            = 3&lt;/P&gt;&lt;P&gt;      not_supported_by_gui    = 4&lt;/P&gt;&lt;P&gt;      OTHERS                  = 5.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0 AND&lt;/P&gt;&lt;P&gt;     w_rc_in  GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE w_filetable_nm INDEX w_rc_in INTO p_local_file.&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;ENDFORM.                    " F4_LOCAL_FILENAME&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  VALIDATE_LOCAL_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;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 validate_local_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : w_result_tx TYPE c,&lt;/P&gt;&lt;P&gt;           w_file_st   TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_file_st = p_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_exist&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      file                 = w_file_st&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      result               = w_result_tx&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      cntl_error           = 1&lt;/P&gt;&lt;P&gt;      error_no_gui         = 2&lt;/P&gt;&lt;P&gt;      wrong_parameter      = 3&lt;/P&gt;&lt;P&gt;      not_supported_by_gui = 4&lt;/P&gt;&lt;P&gt;      OTHERS               = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  w_result_tx NE w_true_fg.&lt;/P&gt;&lt;P&gt;    MESSAGE e088(/gmc/ze) WITH w_file_st.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_LOCAL_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_LOGICAL_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;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 validate_logical_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: w_file_nm  TYPE file_info-filename,    "file name in path&lt;/P&gt;&lt;P&gt;          w_dirname  LIKE epsf-epsdirnam,&lt;/P&gt;&lt;P&gt;          w_filemask LIKE epsf-epsfilnam,&lt;/P&gt;&lt;P&gt;          w_logic    LIKE btch0000-text80,&lt;/P&gt;&lt;P&gt;          w_file     LIKE btch0000-text80.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: t_filelist TYPE TABLE OF epsfili,&lt;/P&gt;&lt;P&gt;        w_filelist TYPE epsfili.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :w_string_ix  TYPE i,&lt;/P&gt;&lt;P&gt;        w_index_ix   TYPE i,&lt;/P&gt;&lt;P&gt;        w_count_ix   TYPE i,&lt;/P&gt;&lt;P&gt;        w_temp_nm(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_string_ix = STRLEN( p_logic ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO w_string_ix TIMES.&lt;/P&gt;&lt;P&gt;    w_index_ix = sy-index.&lt;/P&gt;&lt;P&gt;    w_count_ix = w_string_ix - 1.&lt;/P&gt;&lt;P&gt;    w_temp_nm = p_logic+w_count_ix(1).&lt;/P&gt;&lt;P&gt;    IF w_temp_nm NE '/'.&lt;/P&gt;&lt;P&gt;      CONCATENATE w_temp_nm w_file_nm  INTO w_file_nm.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      w_dirname = p_logic+0(w_count_ix).&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    w_string_ix = w_string_ix - 1.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_logic = w_dirname.&lt;/P&gt;&lt;P&gt;  w_file  = w_file_nm.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'PFL_CHECK_DIRECTORY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      directory                   = w_logic&lt;/P&gt;&lt;P&gt;      write_check                 = 'X'&lt;/P&gt;&lt;P&gt;      filname                     = w_file&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      pfl_dir_not_exist           = 1&lt;/P&gt;&lt;P&gt;      pfl_permission_denied       = 2&lt;/P&gt;&lt;P&gt;      pfl_cant_build_dataset_name = 3&lt;/P&gt;&lt;P&gt;      pfl_file_not_exist          = 4&lt;/P&gt;&lt;P&gt;      OTHERS                      = 5.&lt;/P&gt;&lt;P&gt;  CASE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i089(/gmc/ze) WITH w_dirname.&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    WHEN 4.&lt;/P&gt;&lt;P&gt;      MESSAGE i088(/gmc/ze) WITH w_file_nm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_LOGICAL_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SELECT_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 select_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT A&lt;SUB&gt;ADRNR A&lt;/SUB&gt;PSTL2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          A&lt;SUB&gt;ORT01 A&lt;/SUB&gt;LAND1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          A&lt;SUB&gt;TELF1 A&lt;/SUB&gt;TELFX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          A&lt;SUB&gt;STCD1 A&lt;/SUB&gt;NAME1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          B&lt;SUB&gt;INCO1 B&lt;/SUB&gt;TXJCD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO TABLE IT_LFA1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FROM LFA1 AS A&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INNER JOIN EKPO AS B&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ON A&lt;SUB&gt;LIFNR = B&lt;/SUB&gt;EMLIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_rec[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT a&lt;SUB&gt;ebeln a&lt;/SUB&gt;bukrs a&lt;SUB&gt;bsart a&lt;/SUB&gt;lifnr a&lt;SUB&gt;ekorg a&lt;/SUB&gt;ekgrp a~ihrez&lt;/P&gt;&lt;P&gt;           b&lt;SUB&gt;ebelp b&lt;/SUB&gt;matnr b&lt;SUB&gt;menge b&lt;/SUB&gt;meins b&lt;SUB&gt;netpr b&lt;/SUB&gt;knttp b~ean11&lt;/P&gt;&lt;P&gt;      INTO TABLE it_ekko_ekpo&lt;/P&gt;&lt;P&gt;      FROM ekko AS a&lt;/P&gt;&lt;P&gt;        INNER JOIN ekpo AS b&lt;/P&gt;&lt;P&gt;          ON a&lt;SUB&gt;ebeln = b&lt;/SUB&gt;ebeln&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN it_rec&lt;/P&gt;&lt;P&gt;      WHERE a~ebeln = it_rec-po_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT matnr lgort&lt;/P&gt;&lt;P&gt;      INTO TABLE it_mard&lt;/P&gt;&lt;P&gt;      FROM mard&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN it_rec&lt;/P&gt;&lt;P&gt;     WHERE matnr = it_rec-material.&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;ENDFORM.                    " SELECT_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  download_error_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;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 download_error_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         filename                         = 'c:\atsmmiserror.txt'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FILETYPE                        = 'ASC'&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;      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                         = it_error&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " download_error_filex&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  change_lineitem&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 change_lineitem .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase order Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_poheader-doc_type  = w_rec-doc_type.&lt;/P&gt;&lt;P&gt;  w_poheader-vendor    = w_rec-vendor.&lt;/P&gt;&lt;P&gt;  w_poheader-purch_org = w_rec-purch_org.&lt;/P&gt;&lt;P&gt;  w_poheader-po_number = w_rec-po_number.&lt;/P&gt;&lt;P&gt;  w_poheader-pur_group = w_rec-pur_group.&lt;/P&gt;&lt;P&gt;  w_poheader-comp_code = w_rec-co_code.&lt;/P&gt;&lt;P&gt;  w_poheader-ref_1     = w_rec-ref_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; poheaderx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_poheaderx-doc_type  = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-vendor    = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-purch_org = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-po_number = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-pur_group = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-comp_code = k_flag.&lt;/P&gt;&lt;P&gt;  w_poheaderx-ref_1     = k_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase order Item data&lt;/P&gt;&lt;P&gt;  w_poitem-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poitem-delete_ind = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitem-acctasscat = w_rec-acctasscat.&lt;/P&gt;&lt;P&gt;  w_poitem-material   = w_rec-material.&lt;/P&gt;&lt;P&gt;  w_poitem-po_unit    = w_rec-unit.&lt;/P&gt;&lt;P&gt;  w_poitem-net_price  = w_rec-net_price.&lt;/P&gt;&lt;P&gt;  w_poitem-short_text = w_rec-short_text.&lt;/P&gt;&lt;P&gt;  w_poitem-plant      = w_rec-plant.&lt;/P&gt;&lt;P&gt;  w_poitem-int_obj_no = w_rec-ean11.&lt;/P&gt;&lt;P&gt;  APPEND w_poitem TO it_poitem.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; poitemx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_poitemx-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poitemx-delete_ind = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-acctasscat = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-material   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-po_unit    = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-net_price  = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-short_text = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-plant      = k_flag.&lt;/P&gt;&lt;P&gt;  w_poitemx-int_obj_no = k_flag.&lt;/P&gt;&lt;P&gt;  APPEND w_poitemx TO it_poitemx.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase order account&lt;/P&gt;&lt;P&gt;  w_poaccount-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poaccount-delete_ind = k_flag.&lt;/P&gt;&lt;P&gt;  w_poaccount-gl_account = w_rec-g_l_acct.&lt;/P&gt;&lt;P&gt;  w_poaccount-costcenter = w_rec-cost_ctr.&lt;/P&gt;&lt;P&gt;  APPEND w_poaccount TO it_poaccount.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; poaccountx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_poaccountx-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poaccountx-po_itemx   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poaccountx-delete_ind = k_flag.&lt;/P&gt;&lt;P&gt;  w_poaccountx-gl_account = k_flag.&lt;/P&gt;&lt;P&gt;  w_poaccountx-costcenter = k_flag.&lt;/P&gt;&lt;P&gt;  APPEND w_poaccountx TO it_poaccountx.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poaccountx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Purchase order Schedule&lt;/P&gt;&lt;P&gt;  w_poschedule-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poschedule-quantity   = w_rec-disp_quan.&lt;/P&gt;&lt;P&gt;  w_poschedule-delivery_date = w_rec-deliv_date.&lt;/P&gt;&lt;P&gt;  w_poschedule-delete_ind = k_flag.&lt;/P&gt;&lt;P&gt;  APPEND w_poschedule TO it_poschedule.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poschedule.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*poschedulex&lt;/P&gt;&lt;P&gt;  w_poschedulex-po_item    = w_rec-po_item.&lt;/P&gt;&lt;P&gt;  w_poschedulex-po_itemx   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poschedulex-quantity   = k_flag.&lt;/P&gt;&lt;P&gt;  w_poschedulex-delivery_date = k_flag.&lt;/P&gt;&lt;P&gt;  w_poschedulex-delete_ind = k_flag.&lt;/P&gt;&lt;P&gt;  APPEND w_poschedulex TO it_poschedulex.&lt;/P&gt;&lt;P&gt;  CLEAR  w_poschedulex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_CHANGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;    purchaseorder                = w_rec-po_number&lt;/P&gt;&lt;P&gt;    poheader                     = w_poheader&lt;/P&gt;&lt;P&gt;    poheaderx                    = w_poheaderx&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&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;  EXPHEADER                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPPOEXPIMPHEADER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;P&gt;    return                       = it_bapiret2&lt;/P&gt;&lt;P&gt;    poitem                       = it_poitem&lt;/P&gt;&lt;P&gt;    poitemx                      = it_poitemx&lt;/P&gt;&lt;P&gt;    poschedule                   = it_poschedule&lt;/P&gt;&lt;P&gt;    poschedulex                  = it_poschedulex&lt;/P&gt;&lt;P&gt;    poaccount                    = it_poaccount&lt;/P&gt;&lt;P&gt;    poaccountx                   = it_poaccountx&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " change_lineitem&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  read_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_LOGIC  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM read_file  USING    p_p_logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***opening dataset for reading&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET p_p_logic FOR INPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*open dataset p1_file for input in text mode.     " encoding default message l_message.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE e999(za) WITH 'Error opening file p_p_logic'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*******transferring data from file to app server.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      READ DATASET p_p_logic INTO it_rec.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND it_rec.&lt;/P&gt;&lt;P&gt;        CLEAR it_rec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        EXIT.&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;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******closing dataset&lt;/P&gt;&lt;P&gt;    CLOSE DATASET p_p_logic.&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;ENDFORM.                    " read_file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Alvaro Tejada Galindo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 17:28:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909384#M684520</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T17:28:42Z</dc:date>
    </item>
    <item>
      <title>Re: Po Update</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909385#M684521</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Vijayendra...thnks for the reply..but this one looks like a rude reply!!! I never asked you to write the entire code...I just said please don't put the sample code. People like me are the beginers and we need support from you guys...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rajeev&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 17:52:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/po-update/m-p/2909385#M684521</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T17:52:37Z</dc:date>
    </item>
  </channel>
</rss>

