<?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: BAPI_PO_CHANGE in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2495739#M563582</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check out this code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ztc_mm_po_sto_input                     .&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;*Data Variables&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;DATA : v_input_file     TYPE string ,&lt;/P&gt;&lt;P&gt;       v_error_file     TYPE string ,&lt;/P&gt;&lt;P&gt;       v_success_file   TYPE string ,&lt;/P&gt;&lt;P&gt;       v_run_time(1)    TYPE c,&lt;/P&gt;&lt;P&gt;       v_suc_file_text  TYPE ibipparms-path,&lt;/P&gt;&lt;P&gt;       v_err_file_text  TYPE ibipparms-path,&lt;/P&gt;&lt;P&gt;       v_suc_file_text1  TYPE ibipparms-path,&lt;/P&gt;&lt;P&gt;       v_err_file_text1  TYPE ibipparms-path,&lt;/P&gt;&lt;P&gt;       vl_succ type i,&lt;/P&gt;&lt;P&gt;       vl_err type i,&lt;/P&gt;&lt;P&gt;       v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Data Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wl_po_header_remote TYPE bapiekkol,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wl_po_address_remote TYPE bapiaddress,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; wl_poheader TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt; wl_c_poheader TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt; wl_poaddrvendor TYPE bapimepoaddrvendor,&lt;/P&gt;&lt;P&gt; wl_c_poaddrvendor TYPE bapimepoaddrvendor,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI for Remote Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; wl_po_header_remote TYPE bapiekkol,&lt;/P&gt;&lt;P&gt; wl_po_address_remote TYPE bapiaddress,&lt;/P&gt;&lt;P&gt; il_po_header_texts_remote TYPE bapiekkotx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_items_remote TYPE bapiekpo OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_account_remote TYPE bapiekkn OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_schedules_remote TYPE bapieket OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_confirma_remote TYPE bapiekes OCCURS 0&lt;/P&gt;&lt;P&gt;                                 WITH HEADER    LINE,&lt;/P&gt;&lt;P&gt; il_po_item_texts_remote TYPE bapiekpotx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_history_remote TYPE bapiekbe OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_totals_remote TYPE bapiekbes OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_limits_remote TYPE bapiesuh OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_contracts_remote TYPE bapiesuc OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_services_remote TYPE bapiesll OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_srv_accass_remote TYPE bapieskl OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_return_remote TYPE bapireturn OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_services_texts_remote TYPE bapieslltx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_extensionout_remote TYPE bapiparex OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI for Local System Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; wl_po_header_local TYPE bapiekkol,&lt;/P&gt;&lt;P&gt; wl_po_address_local TYPE bapiaddress,&lt;/P&gt;&lt;P&gt; il_po_header_texts_local TYPE bapiekkotx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_items_local TYPE bapiekpo OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_account_local TYPE bapiekkn OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_schedules_local TYPE bapieket OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_confirma_local TYPE bapiekes OCCURS 0&lt;/P&gt;&lt;P&gt;                                 WITH HEADER    LINE,&lt;/P&gt;&lt;P&gt; il_po_item_texts_local TYPE bapiekpotx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_history_local TYPE bapiekbe OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_totals_local TYPE bapiekbes OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_limits_local TYPE bapiesuh OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_contracts_local TYPE bapiesuc OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_services_local TYPE bapiesll OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_srv_accass_local TYPE bapieskl OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_return_local TYPE bapireturn OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_services_texts_local TYPE bapieslltx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_extensionout_local TYPE bapiparex OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI Create&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; il_poitem TYPE bapimepoitem OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_bapireturn type bapiret2 occurs 0 with header line,&lt;/P&gt;&lt;P&gt; il_c_poitem TYPE bapimepoitem OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_poschedule TYPE bapimeposchedule OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_c_poschedule TYPE bapimeposchedule OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_poaccount TYPE bapimepoaccount OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_c_poaccount TYPE bapimepoaccount OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_potextheader TYPE bapimepotextheader OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;il_potextitem TYPE bapimepotext OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;il_c_potextheader TYPE bapimepotextheader OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;il_c_potextitem TYPE bapimepotext OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI - GET RELINFO Local system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IL_BAPIRLCOPO_LOCAL TYPE BAPIRLCOPO OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI - GET RELINFO Remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IL_BAPIRLCOPO_REMOTE TYPE BAPIRLCOPO OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI Return Messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;il_ret2_commit type BAPIRET2 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;il_returnreset type bapireturn occurs 0 with header line,&lt;/P&gt;&lt;P&gt;il_returnrel type bapireturn occurs 0 with header line,&lt;/P&gt;&lt;P&gt;wl_BAPIRLCOPO_LOCAL like line of IL_BAPIRLCOPO_LOCAL,&lt;/P&gt;&lt;P&gt;wl_BAPIRLCOPO_remote like line of IL_BAPIRLCOPO_REMOTE.&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;*Type defination&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;types: begin of t_record,&lt;/P&gt;&lt;P&gt;        purchaseorder  type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;       end of t_record,&lt;/P&gt;&lt;P&gt;       begin of t_success,&lt;/P&gt;&lt;P&gt;           purchaseorder type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;         messagetype(1),&lt;/P&gt;&lt;P&gt;         message(256),&lt;/P&gt;&lt;P&gt;       end of t_success,&lt;/P&gt;&lt;P&gt;       begin of t_error,&lt;/P&gt;&lt;P&gt;           purchaseorder  type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;         messagetype(1),&lt;/P&gt;&lt;P&gt;         message(256),&lt;/P&gt;&lt;P&gt;       end of t_error,&lt;/P&gt;&lt;P&gt;       begin of t_SUMMARY,&lt;/P&gt;&lt;P&gt;         TEXT(30),&lt;/P&gt;&lt;P&gt;         COUNT(5),&lt;/P&gt;&lt;P&gt;       end of t_summary,&lt;/P&gt;&lt;P&gt;       begin of t_change,&lt;/P&gt;&lt;P&gt;        ebeln type ekko-ebeln,&lt;/P&gt;&lt;P&gt;        EBELP type ekpo-ebelp,&lt;/P&gt;&lt;P&gt;        LOEKZ type ekko-LOEKZ,&lt;/P&gt;&lt;P&gt;       end of t_change,&lt;/P&gt;&lt;P&gt;       begin of t_relsucc,&lt;/P&gt;&lt;P&gt;         purchaseorder  type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;         messagetype(1),&lt;/P&gt;&lt;P&gt;         message(256),&lt;/P&gt;&lt;P&gt;      end of t_relsucc,&lt;/P&gt;&lt;P&gt;      begin of t_relerror,&lt;/P&gt;&lt;P&gt;        purchaseorder  type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;         messagetype(1),&lt;/P&gt;&lt;P&gt;         message(256),&lt;/P&gt;&lt;P&gt;       end of t_relerror.&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;*Internal Tables&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;DATA : i_record TYPE STANDARD TABLE OF t_record WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       i_success  type standard table of t_success with header line,&lt;/P&gt;&lt;P&gt;       i_error    type standard table of t_error with header line,&lt;/P&gt;&lt;P&gt;       i_summary  type standard table of t_summary with header line,&lt;/P&gt;&lt;P&gt;       il_change  type standard table of t_change with header line,&lt;/P&gt;&lt;P&gt;       i_relsucc type standard table of t_relsucc with header line,&lt;/P&gt;&lt;P&gt;       i_relerror type standard table of t_relsucc with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK run_time WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS : rb_fgrnd RADIOBUTTON GROUP gr1 USER-COMMAND fgrn&lt;/P&gt;&lt;P&gt;                  DEFAULT 'X' .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-011.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_infl LIKE ibipparms-path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFAULT 'C:\temp\PO_Conversion.txt'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  LOWER CASE MODIF ID sc1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-013.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_sucfl LIKE ibipparms-path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                DEFAULT v_suc_file_text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFAULT 'C:\temp\PO_Success.txt'&lt;/P&gt;&lt;P&gt;                 LOWER CASE MODIF ID sc1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-012.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_erfl LIKE ibipparms-path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 DEFAULT v_err_file_text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFAULT 'C:\temp\PO_Error.txt'&lt;/P&gt;&lt;P&gt;              LOWER CASE MODIF ID sc1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : rb_bgrnd RADIOBUTTON GROUP gr1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-014.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_binfl LIKE ibipparms-path&lt;/P&gt;&lt;P&gt;DEFAULT '/usr/sap/interfaces/celerra/Entity_Reorg/PO_Conversion.txt'&lt;/P&gt;&lt;P&gt;               LOWER CASE MODIF ID sc2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-016.&lt;/P&gt;&lt;P&gt;PARAMETERS :  p_bsucfl LIKE ibipparms-path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFAULT v_suc_file_text1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFAULT '/usr/sap/interfaces/celerra/Entity_Reorg/PO_success.txt'&lt;/P&gt;&lt;P&gt;                 LOWER CASE MODIF ID sc2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-015.&lt;/P&gt;&lt;P&gt;PARAMETERS :  p_berfl LIKE ibipparms-path&lt;/P&gt;&lt;P&gt;DEFAULT '/usr/sap/interfaces/celerra/Entity_Reorg/PO_error.txt'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFAULT v_err_file_text1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  LOWER CASE MODIF ID sc2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK run_time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK rfc_dest WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_dest LIKE rfcdisplay-rfcdest.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK rfc_dest.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN OUTPUT                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;    IF screen-group1 = 'SC1'.&lt;/P&gt;&lt;P&gt;      IF rb_fgrnd = 'X'.&lt;/P&gt;&lt;P&gt;        screen-input = '1'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        screen-input = '0'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSEIF screen-group1 = 'SC2'.&lt;/P&gt;&lt;P&gt;      IF rb_bgrnd = 'X'.&lt;/P&gt;&lt;P&gt;        screen-input = '1'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        screen-input = '0'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE REQUEST FOR INPUT                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_infl.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL METHOD zcler_conversion=&amp;gt;filename_get&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     vp_filename = p_infl.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'          "allows user to select path/file&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            program_name  = syst-repid&lt;/P&gt;&lt;P&gt;            dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;            field_name    = 'p_infl'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name     = p_infl.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Error'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE REQUEST FOR ERROR                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_erfl.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'          "allows user to select path/file&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            program_name  = syst-repid&lt;/P&gt;&lt;P&gt;            dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;            field_name    = 'p_erfl'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name     = p_erfl.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Error'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE REQUEST FOR SUCCESS                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_sucfl.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'          "allows user to select path/file&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            program_name  = syst-repid&lt;/P&gt;&lt;P&gt;            dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;            field_name    = 'p_sucfl'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name     = p_sucfl.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Error'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN ON BLOCK RUNTIME                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN  ON BLOCK run_time.&lt;/P&gt;&lt;P&gt;  IF rb_bgrnd = 'X' OR sy-batch = 'X'.&lt;/P&gt;&lt;P&gt;    v_run_time = 'B'.&lt;/P&gt;&lt;P&gt;    MOVE p_binfl TO v_input_file.&lt;/P&gt;&lt;P&gt;    MOVE p_berfl TO v_error_file.&lt;/P&gt;&lt;P&gt;    MOVE p_bsucfl TO v_success_file.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    v_run_time = 'F'.&lt;/P&gt;&lt;P&gt;    MOVE p_infl TO v_input_file.&lt;/P&gt;&lt;P&gt;    MOVE p_erfl TO v_error_file.&lt;/P&gt;&lt;P&gt;    MOVE p_sucfl TO v_success_file.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; START-OF-SELECTION - Point after processing the selection screen.   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Upload File from AS or PS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Process Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM process_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Identify Release during Delta Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM RELEASE_DELTAPERIOD.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Download Data - Success file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*IF I_SUCCESS[] IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM DOWNLOAD_DATA TABLES I_SUCCESS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        USING v_success_file.&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;LI level="2" type="ul"&gt;&lt;P&gt;Download Data - error file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*IF I_ERROR[] IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM DOWNLOAD_DATA TABLES I_ERROR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        USING v_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;LI level="2" type="ul"&gt;&lt;P&gt;Populate Sumamry Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*PERFORM SUB_POPULATE_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; END OF SELECTION                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Download Data - Success file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF I_SUCCESS[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM DOWNLOAD_DATA TABLES I_SUCCESS&lt;/P&gt;&lt;P&gt;                         USING v_success_file.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Download Data - error file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF I_ERROR[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM DOWNLOAD_DATA TABLES I_ERROR&lt;/P&gt;&lt;P&gt;                         USING v_error_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate Sumamry Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SUB_POPULATE_SUMMARY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM WRITE_DATA.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TOP OF PAGE                              *&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;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;PERFORM 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;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Upload File from AS or PS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;*-- UPLOAD INPUT FILE&lt;/P&gt;&lt;P&gt;  IF sy-batch = 'X' OR v_run_time = 'B'.&lt;/P&gt;&lt;P&gt;*-- Background Processing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_TXX_UNIX_UPLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename = v_input_file&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab = i_record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename                = v_input_file&lt;/P&gt;&lt;P&gt;        filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                = i_record&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;P&gt;      MESSAGE e002(sy) WITH 'File Not Found or Unabe to Read File'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  process_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;      Process Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM process_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*loop throgh each record.&lt;/P&gt;&lt;P&gt;  LOOP AT i_record.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform Conversion for PR number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform conversion_exit using i_record-purchaseorder.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetail PR from Remote System - VPR System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM POGETDETAIL_REMOTESYSTEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Remote Connection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check PR number exist in Remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0 and il_return_remote-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetails PR from Local System - -VPP System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM POGETDETAIL_LOCALSYSTEM.&lt;/P&gt;&lt;P&gt;*check wether it exists locally in VPP.&lt;/P&gt;&lt;P&gt;      if sy-subrc eq 0 and il_return_local-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;P&gt;*PO exits in local system, Changes Occured in the Local System&lt;/P&gt;&lt;P&gt;        CLEAR:wl_poheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_HEADER -&amp;gt; POHEADER&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING wl_po_header_remote TO wl_c_poheader.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MOVE: "i_record-purchaseorder TO wl_poheader-po_number,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;            "sy-langu TO wl_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM ztps_newcc_plant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INTO wl_c_poheader-comp_code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHERE werks = il_po_items_remote-plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ADDRESS -&amp;gt; POADDRVENDOR.&lt;/P&gt;&lt;P&gt;*wl_po_address wl_poaddrvendor&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;    clear : wl_c_poaddrvendor.&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING wl_po_address_remote TO wl_c_poaddrvendor.&lt;/P&gt;&lt;P&gt;        MOVE :&lt;/P&gt;&lt;P&gt;        i_record-purchaseorder TO wl_c_poaddrvendor-po_number,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-addrnumber TO wl_c_poaddrvendor-addr_no,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-name1 TO wl_c_poaddrvendor-name,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-city1 TO wl_c_poaddrvendor-city,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-post_code1 TO wl_c_poaddrvendor-postl_cod1,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-roomnumber TO wl_c_poaddrvendor-room_no,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-tel_number TO wl_c_poaddrvendor-tel1_numbr,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-tel_extens TO wl_c_poaddrvendor-tel1_ext.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_HEADER_TEXTS -&amp;gt; POTEXTHEADER&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING il_po_header_texts_remote TO il_c_potextheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEMS -&amp;gt; POITEM&lt;/P&gt;&lt;P&gt;        CLEAR: il_po_items_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_items_remote.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEMS -&amp;gt;  PO_ITEMS&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING il_po_items_remote TO il_c_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE: il_po_items_remote-store_loc TO il_c_poitem-stge_loc,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-mat_grp TO il_c_poitem-matl_group,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-unit TO il_c_poitem-po_unit,&lt;/P&gt;&lt;P&gt;              il_po_items_remote-overdeltol TO il_c_poitem-over_dlv_tol,&lt;/P&gt;&lt;P&gt;              il_po_items_remote-unlimited TO il_c_poitem-unlimited_dlv,&lt;/P&gt;&lt;P&gt;              il_po_items_remote-under_tol TO il_c_poitem-under_dlv_tol,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-tax_jur_cd TO il_c_poitem-taxjurcode.&lt;/P&gt;&lt;P&gt;          APPEND il_c_poitem.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_items_remote,il_c_poitem.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_ACCOUNT_ASSIGNMENT -&amp;gt; POACCOUNT&lt;/P&gt;&lt;P&gt;        CLEAR:il_po_item_account_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_item_account_remote.&lt;/P&gt;&lt;P&gt;         MOVE-CORRESPONDING il_po_item_account_remote TO il_c_poaccount.&lt;/P&gt;&lt;P&gt;          MOVE:&lt;/P&gt;&lt;P&gt;               il_po_item_account_remote-g_l_acct TO&lt;/P&gt;&lt;P&gt;                                         il_c_poaccount-gl_account,&lt;/P&gt;&lt;P&gt;               il_po_item_account_remote-wbs_elem_e TO&lt;/P&gt;&lt;P&gt;                                           il_c_poaccount-wbs_element,&lt;/P&gt;&lt;P&gt;              il_po_item_account_remote-cost_ctr TO&lt;/P&gt;&lt;P&gt;                                              il_c_poaccount-costcenter.&lt;/P&gt;&lt;P&gt;          APPEND il_c_poaccount.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_item_account_remote,il_c_poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_SCHEDULES -&amp;gt; POSCHEDULE&lt;/P&gt;&lt;P&gt;        CLEAR: il_po_item_schedules_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_item_schedules_remote.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING il_po_item_schedules_remote TO il_c_poschedule.&lt;/P&gt;&lt;P&gt;          MOVE: il_po_item_schedules_remote-serial_no TO&lt;/P&gt;&lt;P&gt;                                             il_c_poschedule-sched_line,&lt;/P&gt;&lt;P&gt;              il_po_item_schedules_remote-deliv_date TO&lt;/P&gt;&lt;P&gt;                                          il_c_poschedule-delivery_date.&lt;/P&gt;&lt;P&gt;          APPEND il_c_poschedule.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_item_schedules_remote,il_c_poschedule.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_TEXTS -&amp;gt; POTEXTITEM&lt;/P&gt;&lt;P&gt;        il_po_item_texts_remote[] = il_c_potextitem[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call BAPI Purchase Order Change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform purchaseorder_change.&lt;/P&gt;&lt;P&gt;*Read BAPI Return &amp;amp; Commit Bapi&lt;/P&gt;&lt;P&gt;  perform transaction_commit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform clear &amp;amp; refresh&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CLEAR_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="5" type="ul"&gt;&lt;P&gt;Create PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*PO does not exits in local system,so get details and create new one.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR:wl_poheader.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_HEADER -&amp;gt; POHEADER&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING wl_po_header_remote TO wl_poheader.&lt;/P&gt;&lt;P&gt;        MOVE: "i_record-purchaseorder TO wl_poheader-po_number,&lt;/P&gt;&lt;P&gt;                 sy-langu TO wl_poheader-po_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SELECT SINGLE bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM ztps_newcc_plant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INTO wl_poheader-comp_code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHERE werks = il_po_items_remote-plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;  clear : wl_poaddrvendor.&lt;/P&gt;&lt;P&gt;************************************************************&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ADDRESS -&amp;gt; POADDRVENDOR.&lt;/P&gt;&lt;P&gt;*wl_po_address wl_poaddrvendor&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING wl_po_address_remote TO wl_poaddrvendor.&lt;/P&gt;&lt;P&gt;        MOVE :i_record-purchaseorder TO wl_poaddrvendor-po_number,&lt;/P&gt;&lt;P&gt;             wl_po_address_remote-addrnumber TO wl_poaddrvendor-addr_no,&lt;/P&gt;&lt;P&gt;              wl_po_address_remote-name1 TO wl_poaddrvendor-name,&lt;/P&gt;&lt;P&gt;              wl_po_address_remote-city1 TO wl_poaddrvendor-city,&lt;/P&gt;&lt;P&gt;              wl_po_address_remote-post_code1 TO&lt;/P&gt;&lt;P&gt;                                       wl_poaddrvendor-postl_cod1,&lt;/P&gt;&lt;P&gt;             wl_po_address_remote-roomnumber TO wl_poaddrvendor-room_no,&lt;/P&gt;&lt;P&gt;              wl_po_address_remote-tel_number TO&lt;/P&gt;&lt;P&gt;                                      wl_poaddrvendor-tel1_numbr,&lt;/P&gt;&lt;P&gt;            wl_po_address_remote-tel_extens TO wl_poaddrvendor-tel1_ext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_HEADER_TEXTS -&amp;gt; POTEXTHEADER&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING il_po_header_texts_remote TO il_potextheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEMS -&amp;gt; POITEM&lt;/P&gt;&lt;P&gt;        CLEAR: il_po_items_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_items_remote.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEMS -&amp;gt;  PO_ITEMS&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING il_po_items_remote TO il_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE: il_po_items_remote-store_loc TO il_poitem-stge_loc,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-mat_grp TO il_poitem-matl_group,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-unit TO il_poitem-po_unit,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-overdeltol TO il_poitem-over_dlv_tol,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-unlimited TO il_poitem-unlimited_dlv,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-under_tol TO il_poitem-under_dlv_tol,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-tax_jur_cd TO il_poitem-taxjurcode.&lt;/P&gt;&lt;P&gt;          APPEND il_poitem.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_items_remote,il_poitem.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_ACCOUNT_ASSIGNMENT -&amp;gt; POACCOUNT&lt;/P&gt;&lt;P&gt;        CLEAR:il_po_item_account_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_item_account_remote.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING il_po_item_account_remote TO il_poaccount.&lt;/P&gt;&lt;P&gt;          MOVE:&lt;/P&gt;&lt;P&gt;        il_po_item_account_remote-g_l_acct TO il_poaccount-gl_account,&lt;/P&gt;&lt;P&gt;       il_po_item_account_remote-wbs_elem_e TO il_poaccount-wbs_element,&lt;/P&gt;&lt;P&gt;        il_po_item_account_remote-cost_ctr TO il_poaccount-costcenter.&lt;/P&gt;&lt;P&gt;          APPEND il_poaccount.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_item_account_remote,il_poaccount.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_SCHEDULES -&amp;gt; POSCHEDULE&lt;/P&gt;&lt;P&gt;        CLEAR: il_po_item_schedules_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_item_schedules_remote.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING il_po_item_schedules_remote TO il_poschedule.&lt;/P&gt;&lt;P&gt;          MOVE:&lt;/P&gt;&lt;P&gt;           il_po_item_schedules_remote-serial_no TO&lt;/P&gt;&lt;P&gt;                                il_poschedule-sched_line,&lt;/P&gt;&lt;P&gt;          il_po_item_schedules_remote-deliv_date TO&lt;/P&gt;&lt;P&gt;                                   il_poschedule-delivery_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND il_poschedule.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_item_schedules_remote,il_poschedule.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_TEXTS -&amp;gt; POTEXTITEM&lt;/P&gt;&lt;P&gt;        il_po_item_texts_remote[] = il_potextitem[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI - Create Purchase Order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            poheader                     = wl_poheader&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;            poaddrvendor                 = wl_poaddrvendor&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;           RETURN                        = il_bapireturn&lt;/P&gt;&lt;P&gt;            poitem                       = il_poitem&lt;/P&gt;&lt;P&gt;            poschedule                   = il_poschedule&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        POSCHEDULEX                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            poaccount                    = il_poaccount&lt;/P&gt;&lt;P&gt;            potextheader                 = il_potextheader&lt;/P&gt;&lt;P&gt;            potextitem                   = il_potextitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Read BAPI Return &amp;amp; Commit Bapi&lt;/P&gt;&lt;P&gt;    perform transaction_commit.&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 for Deletion Indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetails PO from Local System - -VPP System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform pogetdetail_localsystem.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To check whether PO number Exist in Local System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0 and il_return_local-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR Changes occured in Local System&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remote System - for Deletion Indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; loop at il_po_items_remote.&lt;/P&gt;&lt;P&gt;       if il_po_items_remote-DELETE_IND = 'L'.&lt;/P&gt;&lt;P&gt;move :&lt;/P&gt;&lt;P&gt;   il_po_items_remote-PO_ITEM to il_c_poitem-PO_ITEM.&lt;/P&gt;&lt;P&gt;   il_c_poitem-DELETE_IND = 'L'.&lt;/P&gt;&lt;P&gt;  append il_c_poitem.&lt;/P&gt;&lt;P&gt;  clear il_c_poitem.&lt;/P&gt;&lt;P&gt;   move : il_po_items_remote-PO_NUMBER to il_change-ebeln,&lt;/P&gt;&lt;P&gt;          il_po_items_remote-PO_ITEM to il_change-EBELP,&lt;/P&gt;&lt;P&gt;          il_po_items_remote-DELETE_IND to il_change-LOEKZ.&lt;/P&gt;&lt;P&gt;     append il_change.&lt;/P&gt;&lt;P&gt;     clear il_change.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check to call PO Change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; if not il_change[] is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call BAPI Purchase Order Change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   perform purchaseorder_change.&lt;/P&gt;&lt;P&gt;*Read BAPI Return &amp;amp; Commit Bapi&lt;/P&gt;&lt;P&gt;   perform transaction_commit.&lt;/P&gt;&lt;P&gt;  endif.&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;Perform clear &amp;amp; refresh&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM CLEAR_DATA.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;******************************&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not exist in Remote system, Populate error&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;      I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;      i_error-messagetype = il_return_remote-TYPE.&lt;/P&gt;&lt;P&gt;      I_ERROR-MESSAGE  = il_return_remote-message.&lt;/P&gt;&lt;P&gt;      append i_error.&lt;/P&gt;&lt;P&gt;      clear i_error.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*****************************&lt;/P&gt;&lt;P&gt; else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate RFC Connection Disconnected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    write : / 'RFC Connection Disconnected or Wrong Path'.&lt;/P&gt;&lt;P&gt;    skip.&lt;/P&gt;&lt;P&gt;  stop.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear : i_record.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " process_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  RELEASE_DELTAPERIOD&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;      Release made during Delta Period&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 RELEASE_DELTAPERIOD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check release status for Each PO in Local System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_RECORD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform Conversion Routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform conversion_exit using i_record-purchaseorder.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetail PO from Remote System - VPR System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM POGETDETAIL_REMOTESYSTEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Remote Connection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check PR number exist in Remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0 and il_return_remote-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetails PR from Local System - -VPP System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM POGETDETAIL_LOCALSYSTEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To check whether PR number Exist in Local System&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF SY-SUBRC EQ 0 AND IL_RETURN_LOCAL IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if sy-subrc eq 0 and il_return_local-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;P&gt;*************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call BAPI PO GETREL Information Locally - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_PO_GETRELINFO'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            PURCHASEORDER          = I_RECORD-purchaseorder&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            RELEASE_ALREADY_POSTED = IL_BAPIRLCOPO_LOCAL[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calling BAPI PO GETREL Information Remotly - VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_PO_GETRELINFO'  destination p_dest&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            PURCHASEORDER          = I_RECORD-purchaseorder&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            RELEASE_ALREADY_POSTED = IL_BAPIRLCOPO_REMOTE[]&lt;/P&gt;&lt;P&gt;          exceptions&lt;/P&gt;&lt;P&gt;       system_failure        = 1&lt;/P&gt;&lt;P&gt;       communication_failure = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR : IL_BAPIRLCOPO_LOCAL,IL_BAPIRLCOPO_REMOTE.&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;Check Release codes 1 to 8 in Local &amp;amp; Remote System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   if not IL_BAPIRLCOPO_LOCAL is initial&lt;/P&gt;&lt;P&gt;      or il_BAPIRLCOPO_REMOTE is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Comparing &amp;amp; Updating Release codes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        perform validate_rel_code.&lt;/P&gt;&lt;P&gt;    endif.&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;      endif.&lt;/P&gt;&lt;P&gt;    clear : wl_BAPIRLCOPO_LOCAL ,wl_BAPIRLCOPO_remote.&lt;/P&gt;&lt;P&gt;   refresh : IL_BAPIRLCOPO_REMOTE, IL_BAPIRLCOPO_local.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform Clear &amp;amp; Refresh Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CLEAR_DATA.&lt;/P&gt;&lt;P&gt;      CLEAR : I_RECORD.&lt;/P&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;LI level="2" type="ul"&gt;&lt;P&gt;If not exist in Remote system, Populate error&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     vl_err = vl_err + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_error-messagetype = il_return_remote-TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-MESSAGE  = il_return_remote-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append i_error.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear i_error.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*************&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt; else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate RFC Connection Disconnected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    write : / 'RFC Connection Disconnected or Wrong Path'.&lt;/P&gt;&lt;P&gt;    skip.&lt;/P&gt;&lt;P&gt;  stop.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " RELEASE_DELTAPERIOD&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  CONVERSION_EXIT&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;     PR Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form conversion_exit  using    p_data.&lt;/P&gt;&lt;P&gt;  call function 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      input  = p_data&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      output = p_data.&lt;/P&gt;&lt;P&gt;endform.                    " CONVERSION_EXIT&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  PRGETDETAIL_REMOTESYSTEM&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;     Call BAPI Get detail from Remote System - VPR&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 POGETDETAIL_REMOTESYSTEM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call BAPI Get detail from Remote System - VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_GETDETAIL' DESTINATION p_dest&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      purchaseorder              = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;      items                      = 'X'&lt;/P&gt;&lt;P&gt;      account_assignment         = 'X'&lt;/P&gt;&lt;P&gt;      schedules                  = 'X'&lt;/P&gt;&lt;P&gt;      history                    = 'X'&lt;/P&gt;&lt;P&gt;      item_texts                 = 'X'&lt;/P&gt;&lt;P&gt;      header_texts               = 'X'&lt;/P&gt;&lt;P&gt;      services                   = 'X'&lt;/P&gt;&lt;P&gt;      confirmations              = 'X'&lt;/P&gt;&lt;P&gt;      service_texts              = 'X'&lt;/P&gt;&lt;P&gt;      extensions                 = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      po_header                  = wl_po_header_remote&lt;/P&gt;&lt;P&gt;      po_address                 = wl_po_address_remote&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      po_header_texts            = il_po_header_texts_remote&lt;/P&gt;&lt;P&gt;      po_items                   = il_po_items_remote&lt;/P&gt;&lt;P&gt;      po_item_account_assignment = il_po_item_account_remote&lt;/P&gt;&lt;P&gt;      po_item_schedules          = il_po_item_schedules_remote&lt;/P&gt;&lt;P&gt;      po_item_confirmations      = il_po_item_confirma_remote&lt;/P&gt;&lt;P&gt;      po_item_texts              = il_po_item_texts_remote&lt;/P&gt;&lt;P&gt;      po_item_history            = il_po_item_history_remote&lt;/P&gt;&lt;P&gt;      po_item_history_totals     = il_po_item_totals_remote&lt;/P&gt;&lt;P&gt;      po_item_limits             = il_po_item_limits_remote&lt;/P&gt;&lt;P&gt;      po_item_contract_limits    = il_po_item_contracts_remote&lt;/P&gt;&lt;P&gt;      po_item_services           = il_po_item_services_remote&lt;/P&gt;&lt;P&gt;      po_item_srv_accass_values  = il_po_item_srv_accass_remote&lt;/P&gt;&lt;P&gt;      return                     = il_return_remote&lt;/P&gt;&lt;P&gt;      po_services_texts          = il_po_services_texts_remote&lt;/P&gt;&lt;P&gt;      extensionout               = il_extensionout_remote&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;       system_failure        = 1&lt;/P&gt;&lt;P&gt;       communication_failure = 2.&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 &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE : / 'Populate Error'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       STOP.&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;endform.                    " POGETDETAIL_REMOTESYSTEM&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  POGETDETAIL_LOCALSYSTEM&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;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POGETDETAIL_LOCALSYSTEM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_GETDETAIL'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      purchaseorder              = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;      items                      = 'X'&lt;/P&gt;&lt;P&gt;      account_assignment         = 'X'&lt;/P&gt;&lt;P&gt;      schedules                  = 'X'&lt;/P&gt;&lt;P&gt;      history                    = 'X'&lt;/P&gt;&lt;P&gt;      item_texts                 = 'X'&lt;/P&gt;&lt;P&gt;      header_texts               = 'X'&lt;/P&gt;&lt;P&gt;      services                   = 'X'&lt;/P&gt;&lt;P&gt;      confirmations              = 'X'&lt;/P&gt;&lt;P&gt;      service_texts              = 'X'&lt;/P&gt;&lt;P&gt;      extensions                 = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      po_header                  = wl_po_header_local&lt;/P&gt;&lt;P&gt;      po_address                 = wl_po_address_local&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      po_header_texts            = il_po_header_texts_local&lt;/P&gt;&lt;P&gt;      po_items                   = il_po_items_local&lt;/P&gt;&lt;P&gt;      po_item_account_assignment = il_po_item_account_local&lt;/P&gt;&lt;P&gt;      po_item_schedules          = il_po_item_schedules_local&lt;/P&gt;&lt;P&gt;      po_item_confirmations      = il_po_item_confirma_local&lt;/P&gt;&lt;P&gt;      po_item_texts              = il_po_item_texts_local&lt;/P&gt;&lt;P&gt;      po_item_history            = il_po_item_history_local&lt;/P&gt;&lt;P&gt;      po_item_history_totals     = il_po_item_totals_local&lt;/P&gt;&lt;P&gt;      po_item_limits             = il_po_item_limits_local&lt;/P&gt;&lt;P&gt;      po_item_contract_limits    = il_po_item_contracts_local&lt;/P&gt;&lt;P&gt;      po_item_services           = il_po_item_services_local&lt;/P&gt;&lt;P&gt;      po_item_srv_accass_values  = il_po_item_srv_accass_local&lt;/P&gt;&lt;P&gt;      return                     = il_return_local&lt;/P&gt;&lt;P&gt;      po_services_texts          = il_po_services_texts_local&lt;/P&gt;&lt;P&gt;      extensionout               = il_extensionout_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POGETDETAIL_LOCALSYSTEM&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  validate_rel_code&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;      Validate Release Codes&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_rel_code .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at IL_BAPIRLCOPO_LOCAL into wl_BAPIRLCOPO_LOCAL.&lt;/P&gt;&lt;P&gt;  read table IL_BAPIRLCOPO_REMOTE into wl_BAPIRLCOPO_REMOTE&lt;/P&gt;&lt;P&gt;          with key PO_NUMBER = wl_BAPIRLCOPO_LOCAL-PO_NUMBER.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at IL_BAPIRLCOPO_REMOTE  into wl_BAPIRLCOPO_REMOTE.&lt;/P&gt;&lt;P&gt;  read table IL_BAPIRLCOPO_LOCAL into wl_BAPIRLCOPO_LOCAL&lt;/P&gt;&lt;P&gt;             with key PO_NUMBER = wl_BAPIRLCOPO_REMOTE-PO_NUMBER.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Release codes 1 to 8 in Local &amp;amp; Remote System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF wL_BAPIRLCOPO_LOCAL-REL_CODE1 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;        or wL_BAPIRLCOPO_REMOTE-REL_CODE1 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF wL_BAPIRLCOPO_REMOTE-REL_CODE1 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE1.&lt;/P&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;      IF wL_BAPIRLCOPO_LOCAL-REL_CODE1 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;        AND wL_BAPIRLCOPO_REMOTE-REL_CODE1 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                   wL_BAPIRLCOPO_LOCAL-REL_CODE1.&lt;/P&gt;&lt;P&gt;      ELSE.&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;        wL_BAPIRLCOPO_LOCAL-REL_CODE1 = wL_BAPIRLCOPO_REMOTE-REL_CODE1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE1.&lt;/P&gt;&lt;UL&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;   IF IL_BAPIRLCORQ_LOCAL-REL_CODE1 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF IL_BAPIRLCORQ_REMOTE-REL_CODE1 = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    IL_BAPIRLCORQ_REMOTE-REL_CODE1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&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;Check release code 2 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF wL_BAPIRLCOPO_LOCAL-REL_CODE2 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;          or wL_BAPIRLCOPO_REMOTE-REL_CODE2 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF wL_BAPIRLCOPO_REMOTE-REL_CODE2 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE2.&lt;/P&gt;&lt;P&gt;        IF wL_BAPIRLCOPO_LOCAL-REL_CODE2 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;          AND wL_BAPIRLCOPO_REMOTE-REL_CODE2 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                    wL_BAPIRLCOPO_LOCAL-REL_CODE2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE2 = wL_BAPIRLCOPO_REMOTE-REL_CODE2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                    wL_BAPIRLCOPO_REMOTE-REL_CODE2.&lt;/P&gt;&lt;P&gt;        ENDIF.&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;Check release code 3 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wL_BAPIRLCOPO_LOCAL-REL_CODE3 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;            or wL_BAPIRLCOPO_REMOTE-REL_CODE3 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE3 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE3.&lt;/P&gt;&lt;P&gt;          IF wL_BAPIRLCOPO_LOCAL-REL_CODE3 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;            AND wL_BAPIRLCOPO_REMOTE-REL_CODE3 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                       wL_BAPIRLCOPO_LOCAL-REL_CODE3.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE3 = wL_BAPIRLCOPO_REMOTE-REL_CODE3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE3.&lt;/P&gt;&lt;P&gt;          ENDIF.&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;Check release code 4 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF wL_BAPIRLCOPO_LOCAL-REL_CODE4 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;              or wL_BAPIRLCOPO_REMOTE-REL_CODE4 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF wL_BAPIRLCOPO_REMOTE-REL_CODE4 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE4.&lt;/P&gt;&lt;P&gt;            IF wL_BAPIRLCOPO_LOCAL-REL_CODE4 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;              AND wL_BAPIRLCOPO_REMOTE-REL_CODE4 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE4.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE4 = wL_BAPIRLCOPO_REMOTE-REL_CODE4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE4.&lt;/P&gt;&lt;P&gt;            ENDIF.&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;Check release code 5 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF wL_BAPIRLCOPO_LOCAL-REL_CODE5 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                or wL_BAPIRLCOPO_REMOTE-REL_CODE5 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE5 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE5.&lt;/P&gt;&lt;P&gt;              IF wL_BAPIRLCOPO_LOCAL-REL_CODE5 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                AND wL_BAPIRLCOPO_REMOTE-REL_CODE5 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE5.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE5 = wL_BAPIRLCOPO_REMOTE-REL_CODE5.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE5.&lt;/P&gt;&lt;P&gt;              ENDIF.&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;Check release code 6 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            IF wL_BAPIRLCOPO_LOCAL-REL_CODE6 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                  or wL_BAPIRLCOPO_REMOTE-REL_CODE6 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE6 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE6.&lt;/P&gt;&lt;P&gt;                IF wL_BAPIRLCOPO_LOCAL-REL_CODE6 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                  AND wL_BAPIRLCOPO_REMOTE-REL_CODE6 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE6.&lt;/P&gt;&lt;P&gt;                ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE6 = wL_BAPIRLCOPO_REMOTE-REL_CODE6.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE6.&lt;/P&gt;&lt;P&gt;                ENDIF.&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;Check release code 7 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              IF wL_BAPIRLCOPO_LOCAL-REL_CODE7 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                    or wL_BAPIRLCOPO_REMOTE-REL_CODE7 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE7 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE7.&lt;/P&gt;&lt;P&gt;                  IF wL_BAPIRLCOPO_LOCAL-REL_CODE7 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                    AND wL_BAPIRLCOPO_REMOTE-REL_CODE7 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE7.&lt;/P&gt;&lt;P&gt;                  ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE7 = wL_BAPIRLCOPO_REMOTE-REL_CODE7.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE7.&lt;/P&gt;&lt;P&gt;                  ENDIF.&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;Check release code 8 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                IF wL_BAPIRLCOPO_LOCAL-REL_CODE8 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                      or wL_BAPIRLCOPO_REMOTE-REL_CODE8 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE8 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE8.&lt;/P&gt;&lt;P&gt;                    IF wL_BAPIRLCOPO_LOCAL-REL_CODE8 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                      AND wL_BAPIRLCOPO_REMOTE-REL_CODE8 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE8.&lt;/P&gt;&lt;P&gt;                    ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE8 = wL_BAPIRLCOPO_REMOTE-REL_CODE8.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE8.&lt;/P&gt;&lt;P&gt;                    ENDIF.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_rel_code&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  RELEASE_UPDATE_LOCALSYSTEM&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;      Update Release Indicator&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 RELEASE_UPDATE_LOCALSYSTEM  USING    P_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_RELEASE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    PURCHASEORDER                = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;    PO_REL_CODE                  = P_DATA&lt;/P&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   RETURN                        = IL_RETURNREL&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   AUTHORITY_CHECK_FAIL         = 1&lt;/P&gt;&lt;P&gt;   DOCUMENT_NOT_FOUND           = 2&lt;/P&gt;&lt;P&gt;   ENQUEUE_FAIL                 = 3&lt;/P&gt;&lt;P&gt;   PREREQUISITE_FAIL            = 4&lt;/P&gt;&lt;P&gt;   RELEASE_ALREADY_POSTED       = 5&lt;/P&gt;&lt;P&gt;   RESPONSIBILITY_FAIL          = 6&lt;/P&gt;&lt;P&gt;   OTHERS                       = 7 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Release Status&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IF SY-SUBRC = 0 AND il_returnrel-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;  vl_succ = vl_succ + 1.&lt;/P&gt;&lt;P&gt;   i_relsucc-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;  IF NOT il_returnrel[] IS INITIAL.&lt;/P&gt;&lt;P&gt;     i_relsucc-messagetype = il_returnrel-type.&lt;/P&gt;&lt;P&gt;     i_relsucc-MESSAGE  = IL_RETURNREL-message.&lt;/P&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;P&gt;    i_relsucc-messagetype = 'S'.&lt;/P&gt;&lt;P&gt;    i_relsucc-message  = 'PR RELEASED SUCCESFULLY'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append i_relsucc.&lt;/P&gt;&lt;P&gt;   clear i_relsucc.&lt;/P&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;P&gt;  vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;      i_relerror-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;      i_relerror-messagetype = il_returnrel-type.&lt;/P&gt;&lt;P&gt;      i_relerror-MESSAGE  = IL_RETURNREL-message.&lt;/P&gt;&lt;P&gt;    append i_relerror.&lt;/P&gt;&lt;P&gt;   clear i_relerror.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; clear : il_returnrel.&lt;/P&gt;&lt;P&gt; refresh : il_returnrel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " RELEASE_UPDATE_LOCALSYSTEM&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  RELEASE_RESET_LOCALSYSTEM&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;      Reset Release Indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;FORM RELEASE_RESET_LOCALSYSTEM  USING    P_DATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_RESET_RELEASE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    PURCHASEORDER                  = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;    PO_REL_CODE                    = P_DATA&lt;/P&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   RETURN                          = IL_RETURNRESET&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   AUTHORITY_CHECK_FAIL           = 1&lt;/P&gt;&lt;P&gt;   DOCUMENT_NOT_FOUND             = 2&lt;/P&gt;&lt;P&gt;   ENQUEUE_FAIL                   = 3&lt;/P&gt;&lt;P&gt;   PREREQUISITE_FAIL              = 4&lt;/P&gt;&lt;P&gt;   RELEASE_ALREADY_POSTED         = 5&lt;/P&gt;&lt;P&gt;   RESPONSIBILITY_FAIL            = 6&lt;/P&gt;&lt;P&gt;   NO_RELEASE_ALREADY             = 7&lt;/P&gt;&lt;P&gt;   NO_NEW_RELEASE_INDICATOR       = 8&lt;/P&gt;&lt;P&gt;   OTHERS                         = 9  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Reset Status&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT IL_RETURNRESET[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IF SY-SUBRC = 0 AND il_returnreset-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;        vl_succ = vl_succ + 1.&lt;/P&gt;&lt;P&gt;      i_relsucc-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;    IF NOT IL_BAPIRETURN[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      i_relsucc-messagetype = IL_RETURNRESET-type.&lt;/P&gt;&lt;P&gt;      i_relsucc-MESSAGE  = IL_RETURNRESET-message.&lt;/P&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;P&gt;      i_relsucc-messagetype = 'S'.&lt;/P&gt;&lt;P&gt;      i_relsucc-message  = 'PO RESET SUCCESFULLY'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    append i_relsucc.&lt;/P&gt;&lt;P&gt;   clear i_relsucc.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;      i_relerror-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;      i_relerror-messagetype = IL_RETURNRESET-type.&lt;/P&gt;&lt;P&gt;      i_relerror-MESSAGE  = IL_RETURNRESET-message.&lt;/P&gt;&lt;P&gt;    append i_relerror.&lt;/P&gt;&lt;P&gt;   clear i_relerror.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&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; vl_err = vl_err + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_error-messagetype = IL_RETURNRESET-type.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-MESSAGE  = IL_RETURNRESET-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   append i_error.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  clear i_error.&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; clear : il_returnreset.&lt;/P&gt;&lt;P&gt; refresh : il_returnreset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " RELEASE_RESET_LOCALSYSTEM&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_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;      Download file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWNLOAD_DATA  TABLES   IL_SUCCESS STRUCTURE I_SUCCESS&lt;/P&gt;&lt;P&gt;                    USING    P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Download file&lt;/P&gt;&lt;P&gt;  if sy-batch = 'X' or v_run_time = 'B'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Background Processing&lt;/P&gt;&lt;P&gt;    call function 'Z_TXX_UNIX_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename = P_FILE&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab = IL_SUCCESS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    call function 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename                = P_FILE&lt;/P&gt;&lt;P&gt;        filetype                = 'ASC'&lt;/P&gt;&lt;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                = IL_SUCCESS&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;P&gt;      message e002(sy) with 'File Not Found or Unabe to Read File'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DOWNLOAD_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  SUB_POPULATE_SUMMARY&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;     Sumamry Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_POPULATE_SUMMARY .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I_SUMMARY-TEXT = 'Total NO of Records from file'.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_RECORD LINES I_SUMMARY-COUNT.&lt;/P&gt;&lt;P&gt;  APPEND I_SUMMARY.&lt;/P&gt;&lt;P&gt;  CLEAR I_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_SUMMARY-TEXT = 'Total NO of Success Records'.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_SUCCESS LINES I_SUMMARY-COUNT.&lt;/P&gt;&lt;P&gt;  APPEND I_SUMMARY.&lt;/P&gt;&lt;P&gt;  CLEAR I_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_SUMMARY-TEXT = 'Total No of Error Records'.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_ERROR LINES I_SUMMARY-COUNT.&lt;/P&gt;&lt;P&gt;  APPEND I_SUMMARY.&lt;/P&gt;&lt;P&gt;  CLEAR I_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_POPULATE_SUMMARY&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_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;     Write Output&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_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate Summary Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SUMMARY.&lt;/P&gt;&lt;P&gt;  WRITE : /5 'SUMMARY REPORT'  , 45 'TOTAL RECORDS'.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt; IF NOT I_SUMMARY[] IS INITIAL.&lt;/P&gt;&lt;P&gt;LOOP AT I_SUMMARY.&lt;/P&gt;&lt;P&gt; WRITE : /5 I_SUMMARY-TEXT , ' : ', 45 I_SUMMARY-COUNT.&lt;/P&gt;&lt;P&gt; CLEAR I_SUMMARY.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt; REFRESH I_SUMMARY.&lt;/P&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;P&gt; WRITE : / 'No Purchase Orders Found'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*Populate Success Report&lt;/P&gt;&lt;P&gt;PERFORM SUCCESS.&lt;/P&gt;&lt;P&gt;  WRITE : /5 'PO NUMBER'  , 30 'MESSAGE TYPE'  , 50 'SUCCESS MESSAGE'.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt; IF NOT I_SUCCESS[] IS INITIAL.&lt;/P&gt;&lt;P&gt;LOOP AT I_SUCCESS.&lt;/P&gt;&lt;P&gt;  WRITE : /5 I_SUCCESS-purchaseorder , 30 I_SUCCESS-messagetype  ,&lt;/P&gt;&lt;P&gt;                                              50 I_SUCCESS-MESSAGE.&lt;/P&gt;&lt;P&gt;  CLEAR I_SUCCESS.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;  REFRESH I_SUCCESS.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;   WRITE : /15 'No Success Records Found'.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Populate Error Report&lt;/P&gt;&lt;P&gt;PERFORM ERROR.&lt;/P&gt;&lt;P&gt;WRITE : /5 'PO NUMBER'  ,  30 'MESSAGE TYPE'  , 50 'ERROR MESSAGE'.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;IF NOT I_ERROR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;LOOP AT I_ERROR.&lt;/P&gt;&lt;P&gt;   WRITE : /5 I_ERROR-purchaseorder , 30 I_ERROR-messagetype ,&lt;/P&gt;&lt;P&gt;                                                  50 I_ERROR-MESSAGE.&lt;/P&gt;&lt;P&gt;   CLEAR I_ERROR.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;  REFRESH I_ERROR.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;   WRITE : /15 'No Error Records Found'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Populate RELEASE/RESET Success Report&lt;/P&gt;&lt;P&gt;perform relsucc.&lt;/P&gt;&lt;P&gt;write : /5 'PO NUMBER'  ,  30 'MESSAGE TYPE'  , 50 'SUCCESS MESSAGE'.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;if not i_relsucc[] is initial.&lt;/P&gt;&lt;P&gt;*delete adjacent duplicates from i_error.&lt;/P&gt;&lt;P&gt;loop at i_relsucc.&lt;/P&gt;&lt;P&gt;   write : /5 i_relsucc-purchaseorder , 30 i_relsucc-messagetype ,&lt;/P&gt;&lt;P&gt;                                                  50 i_relsucc-message.&lt;/P&gt;&lt;P&gt;   clear i_relsucc.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;  refresh i_relsucc.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   write : /15 'No RELSUCC Records Found'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;*Populate RELEASE/RESET Error Report&lt;/P&gt;&lt;P&gt;perform relerror.&lt;/P&gt;&lt;P&gt;write : /5 'PO NUMBER'  ,  30 'MESSAGE TYPE'  , 50 'ERROR MESSAGE'.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;if not i_relerror[] is initial.&lt;/P&gt;&lt;P&gt;*delete adjacent duplicates from i_error.&lt;/P&gt;&lt;P&gt;loop at i_error.&lt;/P&gt;&lt;P&gt;   write : /5 i_relerror-purchaseorder , 30 i_relerror-messagetype ,&lt;/P&gt;&lt;P&gt;                                                  50 i_relerror-message.&lt;/P&gt;&lt;P&gt;   clear i_relerror.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;  refresh i_relerror.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   write : /15 'No RELERROR Records Found'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_DATA&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM SUCCESS&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;Title for Success report&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 SUCCESS.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: AT /(170) 'Success Report' CENTERED.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM ERROR&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;Title for Error report&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 ERROR.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: AT /(170) 'Error Report' CENTERED.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM SUMMARY&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;Title for Summary report&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 SUMMARY.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: AT /(170) 'Summary Report' CENTERED.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM RELSUCCESS&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;Title for RELSUCC report&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 relsucc.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write: at /(170) 'RELSUCC Report' centered.&lt;/P&gt;&lt;P&gt;  format reset.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM ERROR&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;Title for RELERROR report&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 relerror.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write: at /(170) 'RELERROR Report' centered.&lt;/P&gt;&lt;P&gt;  format reset.&lt;/P&gt;&lt;P&gt;endform.&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  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;      TOP OF PAGE&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 TOP-OF-PAGE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: LEN TYPE I, POS TYPE I.&lt;/P&gt;&lt;P&gt;  DATA : VL_TITLE(100).&lt;/P&gt;&lt;P&gt;  LEN = 23.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING ON.&lt;/P&gt;&lt;P&gt;  COMPUTE LEN = STRLEN( SY-UNAME ).&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE: AT /(010)&lt;/P&gt;&lt;P&gt;          'User:' LEFT-JUSTIFIED,SPACE.&lt;/P&gt;&lt;P&gt;  WRITE: AT  011(LEN) SY-UNAME RIGHT-JUSTIFIED NO-GAP.&lt;/P&gt;&lt;P&gt;  LEN = 43.&lt;/P&gt;&lt;P&gt;  WRITE: AT 40(LEN) 'T-MOBILE' CENTERED.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 30.&lt;/P&gt;&lt;P&gt;  WRITE: AT LEN(010) 'Run Date:'.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 19.&lt;/P&gt;&lt;P&gt;  WRITE: AT LEN(010) SY-DATUM MM/DD/YYYY LEFT-JUSTIFIED,SPACE.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 07.&lt;/P&gt;&lt;P&gt;  WRITE AT LEN(008) SY-UZEIT USING EDIT MASK '__:__:__' LEFT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;  COMPUTE LEN = STRLEN( SY-REPID ).&lt;/P&gt;&lt;P&gt;  WRITE:&lt;/P&gt;&lt;P&gt;         /(010) 'Program:' LEFT-JUSTIFIED,SPACE.&lt;/P&gt;&lt;P&gt;  WRITE AT  011(LEN) SY-REPID RIGHT-JUSTIFIED NO-GAP.&lt;/P&gt;&lt;P&gt;    VL_TITLE = SY-TITLE.&lt;/P&gt;&lt;P&gt;  COMPUTE LEN = STRLEN( VL_TITLE ).&lt;/P&gt;&lt;P&gt;  POS = ( SY-LINSZ - LEN ) / 2.&lt;/P&gt;&lt;P&gt;  WRITE AT POS(LEN)  VL_TITLE CENTERED.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 27.&lt;/P&gt;&lt;P&gt;  WRITE: AT LEN(010) 'Page No:'(097) LEFT-JUSTIFIED,SPACE.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 8.&lt;/P&gt;&lt;P&gt;  WRITE: AT LEN(010) SY-PAGNO RIGHT-JUSTIFIED NO-GAP.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TOP-OF-PAGE&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  CLEAR_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;      Clear &amp;amp; Refresh Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CLEAR_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear : il_po_header_texts_remote,il_po_items_remote ,&lt;/P&gt;&lt;P&gt;   il_po_item_account_remote,il_po_item_schedules_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_confirma_remote,il_po_item_texts_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_history_remote,il_po_item_totals_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_limits_remote,il_po_item_contracts_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_services_remote,il_po_item_srv_accass_remote,&lt;/P&gt;&lt;P&gt;   il_return_remote,il_po_services_texts_remote,il_returnrel,&lt;/P&gt;&lt;P&gt;   il_extensionout_remote,il_po_header_texts_local,il_po_items_local,&lt;/P&gt;&lt;P&gt;   il_po_item_account_local,il_po_item_schedules_local,&lt;/P&gt;&lt;P&gt;   il_po_item_confirma_local,il_po_item_texts_local,&lt;/P&gt;&lt;P&gt;   il_po_item_history_local,il_po_item_totals_local,&lt;/P&gt;&lt;P&gt;   il_po_item_limits_local,il_po_item_contracts_local,&lt;/P&gt;&lt;P&gt;   il_po_item_services_local,il_po_item_srv_accass_local,&lt;/P&gt;&lt;P&gt;   il_return_local,il_po_services_texts_local,il_returnreset,&lt;/P&gt;&lt;P&gt;   il_extensionout_local,il_poitem,il_bapireturn,il_c_poitem,&lt;/P&gt;&lt;P&gt;   il_poschedule,il_c_poschedule,il_poaccount,il_c_poaccount,&lt;/P&gt;&lt;P&gt;   il_potextheader,il_potextitem,il_c_potextheader,il_c_potextitem,&lt;/P&gt;&lt;P&gt;   IL_BAPIRLCOPO_LOCAL,IL_BAPIRLCOPO_remote,il_ret2_commit.&lt;/P&gt;&lt;P&gt;REFRESH : il_po_header_texts_remote,il_po_items_remote ,&lt;/P&gt;&lt;P&gt;   il_po_item_account_remote,il_po_item_schedules_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_confirma_remote,il_po_item_texts_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_history_remote,il_po_item_totals_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_limits_remote,il_po_item_contracts_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_services_remote,il_po_item_srv_accass_remote,&lt;/P&gt;&lt;P&gt;   il_return_remote,il_po_services_texts_remote,il_returnrel,&lt;/P&gt;&lt;P&gt;   il_extensionout_remote,il_po_header_texts_local,il_po_items_local,&lt;/P&gt;&lt;P&gt;   il_po_item_account_local,il_po_item_schedules_local,&lt;/P&gt;&lt;P&gt;   il_po_item_confirma_local,il_po_item_texts_local,&lt;/P&gt;&lt;P&gt;   il_po_item_history_local,il_po_item_totals_local,&lt;/P&gt;&lt;P&gt;   il_po_item_limits_local,il_po_item_contracts_local,&lt;/P&gt;&lt;P&gt;   il_po_item_services_local,il_po_item_srv_accass_local,&lt;/P&gt;&lt;P&gt;   il_return_local,il_po_services_texts_local,il_returnreset,&lt;/P&gt;&lt;P&gt;   il_extensionout_local,il_poitem,il_bapireturn,il_c_poitem,&lt;/P&gt;&lt;P&gt;   il_poschedule,il_c_poschedule,il_poaccount,il_c_poaccount,&lt;/P&gt;&lt;P&gt;   il_potextheader,il_potextitem,il_c_potextheader,il_c_potextitem,&lt;/P&gt;&lt;P&gt;   IL_BAPIRLCOPO_LOCAL,IL_BAPIRLCOPO_remote,il_ret2_commit.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CLEAR_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  purchaseorder_change&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;     Pruchase Order Change&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 purchaseorder_change .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI to call PO Change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_CHANGE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;           purchaseorder                 = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;           poheader                      = wl_c_poheader&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;           poaddrvendor                  = wl_c_poaddrvendor&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;           return                       =  il_bapireturn&lt;/P&gt;&lt;P&gt;           poitem                        = il_c_poitem&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poitemx                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poaddrdelivery               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           poschedule                    = il_c_poschedule&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poschedulex                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           poaccount                     = il_c_poaccount&lt;/P&gt;&lt;P&gt;           potextheader                  = il_c_potextheader&lt;/P&gt;&lt;P&gt;           potextitem                    = il_c_potextitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " purchaseorder_change&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  transaction_commit&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;      BAPI Transaction Commit&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 transaction_commit .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Read BAPI Return &amp;amp; Commit Bapi&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IF NOT IL_BAPIRETURN[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE IL_BAPIRETURN WITH KEY TYPE = 'E' BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC NE 0.&lt;/P&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;            IMPORTING&lt;/P&gt;&lt;P&gt;              RETURN = il_ret2_commit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Commit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      if not IL_RET2_COMMIT[] is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        READ TABLE IL_RET2_COMMIT WITH KEY TYPE = 'E' BINARY SEARCH.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF SY-SUBRC = 0 AND il_ret2_commit-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;            vl_succ = vl_succ + 1.&lt;/P&gt;&lt;P&gt;            I_success-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;            IF NOT IL_BAPIRETURN[] IS INITIAL.&lt;/P&gt;&lt;P&gt;            i_success-messagetype = il_bapireturn-TYPE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_success-MESSAGE  = 'PR changed sucessfully'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            I_success-MESSAGE  = il_bapireturn-MESSAGE.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;          i_success-messagetype = 'S'.&lt;/P&gt;&lt;P&gt;          i_success-message  = 'PO CREATED/CHANGED SUCCESFULLY'.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;            append i_success.&lt;/P&gt;&lt;P&gt;            clear i_success.&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;          ELSE.&lt;/P&gt;&lt;P&gt;            vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;            I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;            i_ERROR-messagetype = il_ret2_commit-TYPE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-MESSAGE  = 'PR not changed'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            i_error-message = il_ret2_commit-MESSAGE.&lt;/P&gt;&lt;P&gt;            append i_error.&lt;/P&gt;&lt;P&gt;            clear i_error.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;          I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;          i_error-messagetype = il_bapireturn-TYPE.&lt;/P&gt;&lt;P&gt;          I_ERROR-MESSAGE  = il_bapireturn-message.&lt;/P&gt;&lt;P&gt;          append i_error.&lt;/P&gt;&lt;P&gt;          clear i_error.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " transaction_commit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 10 Jul 2007 17:11:37 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-10T17:11:37Z</dc:date>
    <item>
      <title>BAPI_PO_CHANGE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2495737#M563580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need your help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I want to implement  the BAPI_PO_CHANGE to modify orderpurchase in the  header text , and header conditions and items conditions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Some body has an example  for this, Please?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jul 2007 15:44:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2495737#M563580</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-10T15:44:17Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CHANGE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2495738#M563581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check with below program :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMMR_DELETEPO NO STANDARD PAGE HEADING MESSAGE-ID zisb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : zvtls_sap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C-- Types Declarations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF tp_flatfile_vtls,&lt;/P&gt;&lt;P&gt;        ebeln(10),&lt;/P&gt;&lt;P&gt;        ebelp type ekpo-ebelp,&lt;/P&gt;&lt;P&gt;        END OF tp_flatfile_vtls.&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;                  INTERNAL TABLES DECLARATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*=====================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  t_flatfile_vtls TYPE tp_flatfile_vtls OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of t_sapdata occurs 0,&lt;/P&gt;&lt;P&gt;       po like zvtls_sap-posap,&lt;/P&gt;&lt;P&gt;       item like zvtls_sap-itemsap,&lt;/P&gt;&lt;P&gt;       end of t_sapdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of t_flatfile_vtls1 occurs 0,&lt;/P&gt;&lt;P&gt;       po(10),&lt;/P&gt;&lt;P&gt;       item like zvtls_sap-itemsap,&lt;/P&gt;&lt;P&gt;       end of t_flatfile_vtls1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of t_update occurs 0,&lt;/P&gt;&lt;P&gt;       mandt like zvtls_sap-mandt,&lt;/P&gt;&lt;P&gt;       povtls like zvtls_sap-povtls,&lt;/P&gt;&lt;P&gt;       itemvtls like zvtls_sap-itemvtls,&lt;/P&gt;&lt;P&gt;       posap like zvtls_sap-posap,&lt;/P&gt;&lt;P&gt;       itemsap like zvtls_sap-itemsap,&lt;/P&gt;&lt;P&gt;       aedat like zvtls_sap-aedat,&lt;/P&gt;&lt;P&gt;       paedt like zvtls_sap-paedt,&lt;/P&gt;&lt;P&gt;       loekz like zvtls_sap-loekz,&lt;/P&gt;&lt;P&gt;       end of t_update.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of t_poheader occurs 0,&lt;/P&gt;&lt;P&gt;       po like zvtls_sap-posap,&lt;/P&gt;&lt;P&gt;       end of t_poheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of t_poitem occurs 0,&lt;/P&gt;&lt;P&gt;       po like zvtls_sap-posap,&lt;/P&gt;&lt;P&gt;       item like zvtls_sap-itemsap,&lt;/P&gt;&lt;P&gt;       end of t_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF T_MESSAGE OCCURS 0,&lt;/P&gt;&lt;P&gt;       MSGTY,&lt;/P&gt;&lt;P&gt;       MSGID(2),&lt;/P&gt;&lt;P&gt;       MSGNO(3),&lt;/P&gt;&lt;P&gt;       MSGTX(100),&lt;/P&gt;&lt;P&gt;       PO like zvtls_sap-povtls,&lt;/P&gt;&lt;P&gt;       item like zvtls_sap-itemvtls,&lt;/P&gt;&lt;P&gt;       END OF T_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_bapi_poheader OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapimepoheader.&lt;/P&gt;&lt;P&gt;DATA : END OF t_bapi_poheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_bapi_poheaderx OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapimepoheaderx.&lt;/P&gt;&lt;P&gt;DATA : END OF t_bapi_poheaderx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_bapi_poitem OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapimepoitem.&lt;/P&gt;&lt;P&gt;DATA : END OF t_bapi_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_bapi_poitemx OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapimepoitemx.&lt;/P&gt;&lt;P&gt;DATA : END OF t_bapi_poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_bapireturn OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapiret2.&lt;/P&gt;&lt;P&gt;DATA : END OF t_bapireturn.&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;                  V A R I A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*=====================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_success(6)  TYPE n,&lt;/P&gt;&lt;P&gt;      w_bklas like t023-bklas,&lt;/P&gt;&lt;P&gt;      w_curryear(4),&lt;/P&gt;&lt;P&gt;      w_begda like sy-datum,&lt;/P&gt;&lt;P&gt;      w_endda like sy-datum,&lt;/P&gt;&lt;P&gt;      w_begyr(4),&lt;/P&gt;&lt;P&gt;      w_endyr(4),&lt;/P&gt;&lt;P&gt;      w_currmon(2),&lt;/P&gt;&lt;P&gt;      w_assetclass like ankt-anlkl,&lt;/P&gt;&lt;P&gt;      w_price type p,&lt;/P&gt;&lt;P&gt;      w_recordsap type i,&lt;/P&gt;&lt;P&gt;      w_povtls(10),&lt;/P&gt;&lt;P&gt;      w_count type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  w_filepath TYPE rlgrap-filename,&lt;/P&gt;&lt;P&gt;       w_rc TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;       w_sscrfields_ucomm1   TYPE sscrfields-ucomm,&lt;/P&gt;&lt;P&gt;       w_file1 TYPE string,&lt;/P&gt;&lt;P&gt;       w_file2 TYPE FILENAME-FILEINTERN.&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;                  C O N S T A N T S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*=====================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: c_x              TYPE  c         VALUE 'X',&lt;/P&gt;&lt;P&gt;           c_hyp            TYPE  c         VALUE '-',&lt;/P&gt;&lt;P&gt;           c_err            TYPE  bdc_mart  VALUE 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:  c_slash(1)            TYPE c VALUE '/',&lt;/P&gt;&lt;P&gt;            c_hash(1)             TYPE c VALUE '#',&lt;/P&gt;&lt;P&gt;            c_pipe                TYPE c VALUE '|',&lt;/P&gt;&lt;P&gt;            c_1                   TYPE i VALUE 1,&lt;/P&gt;&lt;P&gt;            c_zero                TYPE n VALUE '0',&lt;/P&gt;&lt;P&gt;            c_rg1(3)              TYPE c VALUE 'rg1',&lt;/P&gt;&lt;P&gt;            c_gr3(3)              TYPE c VALUE 'GR3',&lt;/P&gt;&lt;P&gt;            c_gr2(3)              TYPE c VALUE 'GR2',&lt;/P&gt;&lt;P&gt;            c_e(1)                TYPE c VALUE 'E',&lt;/P&gt;&lt;P&gt;            c_filepath(8)         TYPE c VALUE '/interf/',&lt;/P&gt;&lt;P&gt;            c_filetype(10)        TYPE c VALUE 'ASC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : c_bapimepoheaderx   TYPE x030l-tabname&lt;/P&gt;&lt;P&gt;                               VALUE 'bapimepoheaderx',&lt;/P&gt;&lt;P&gt;           c_bapimepoitem      TYPE  x030l-tabname&lt;/P&gt;&lt;P&gt;                               VALUE 'bapimepoitem',&lt;/P&gt;&lt;P&gt;           c_bapimepoaccount   TYPE  x030l-tabname&lt;/P&gt;&lt;P&gt;                               VALUE 'bapimepoaccount',&lt;/P&gt;&lt;P&gt;           c_t_bapi_poheader(15)        TYPE c&lt;/P&gt;&lt;P&gt;                                        VALUE 't_bapi_poheader',&lt;/P&gt;&lt;P&gt;           c_t_bapi_poitem(13)          TYPE c&lt;/P&gt;&lt;P&gt;                                        VALUE 't_bapi_poitem',&lt;/P&gt;&lt;P&gt;           c_t_bapi_poitemx(14)         TYPE c&lt;/P&gt;&lt;P&gt;                                        VALUE 't_bapi_poitemx',&lt;/P&gt;&lt;P&gt;           c_t_bapi_poheaderx(16)       TYPE c&lt;/P&gt;&lt;P&gt;                                        VALUE 't_bapi_poheaderx'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS cl_abap_char_utilities DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;CONSTANTS:con_tab  TYPE c VALUE cl_abap_char_utilities=&amp;gt;horizontal_tab.&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;                       SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*======================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK inputpath WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_fore RADIOBUTTON GROUP rg1&lt;/P&gt;&lt;P&gt;                    USER-COMMAND pc,&lt;/P&gt;&lt;P&gt;             p_back RADIOBUTTON GROUP rg1 DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK blk2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;PARAMETERS :  p_file1 LIKE rlgrap-filename OBLIGATORY MODIF ID gr2.&lt;/P&gt;&lt;P&gt;PARAMETERS :  p_afile1 LIKE rlgrap-filename OBLIGATORY MODIF ID gr3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK blk1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK inputpath.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C-- Initialization Event&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR w_filepath.&lt;/P&gt;&lt;P&gt;  CONCATENATE c_filepath sy-sysid c_slash sy-mandt c_slash INTO&lt;/P&gt;&lt;P&gt;  w_filepath.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONDENSE w_filepath NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_file1 = text-008.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_afile1 = text-009.&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;                       SELECTION SCREEN EVENTS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*======================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C-- Selection Screen Output&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;  IF p_fore = c_x.&lt;/P&gt;&lt;P&gt;    w_sscrfields_ucomm1 = space.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    w_sscrfields_ucomm1 = c_rg1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C--Modify selection screen if presentation&lt;/P&gt;&lt;P&gt;*C--or application server radio button is chosen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF w_sscrfields_ucomm1 = space.&lt;/P&gt;&lt;P&gt;      IF screen-group1 = c_gr3.&lt;/P&gt;&lt;P&gt;        screen-active = c_zero.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF screen-group1 = c_gr2.&lt;/P&gt;&lt;P&gt;        screen-active = c_zero.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if screen-name = 'P_AFILE1'.&lt;/P&gt;&lt;P&gt;      screen-input = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MODIFY SCREEN.&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;*C-- Selection Screen VALUE-REQUEST FOR File path&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_fore EQ c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&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     = p_file1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C-- At Start of the Selection Process&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;  IF p_fore EQ c_x.&lt;/P&gt;&lt;P&gt;    w_file1 = p_file1.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    w_file2 = p_afile1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_fore EQ c_x. " Presentaion Server&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C--Validations for the input files&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM validate_pre_file USING p_file1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C-- Load the contents of the input file into the internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM upload_file TABLES t_flatfile_vtls&lt;/P&gt;&lt;P&gt;                        USING w_file1&lt;/P&gt;&lt;P&gt;                        CHANGING w_rc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF w_rc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE s006 DISPLAY LIKE c_e.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE. " Application Server&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C--Validations for the input files&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM validate_app_file USING  w_file2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*C-- Load the contents of the input file into the internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM upload_file_app TABLES t_flatfile_vtls&lt;/P&gt;&lt;P&gt;                            USING w_file2&lt;/P&gt;&lt;P&gt;                            CHANGING w_rc.&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;  loop at t_flatfile_vtls.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        input  = t_flatfile_vtls-ebeln&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        output = t_flatfile_vtls1-po.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        input  = t_flatfile_vtls-ebelp&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        output = t_flatfile_vtls1-item.&lt;/P&gt;&lt;P&gt;    append t_flatfile_vtls1.&lt;/P&gt;&lt;P&gt;    clear t_flatfile_vtls1.&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;  perform get_podata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_poheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform move_to_bapi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform call_bapi.&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;  PERFORM STORE_MESSAGES TABLES T_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_pre_file&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;    Routine to validate presentation server file path.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;fp_name  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM validate_pre_file USING fp_name TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : l_result,&lt;/P&gt;&lt;P&gt;         l_filename TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_filename = fp_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_result.&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                 = l_filename&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      result               = l_result&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 sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE s007 DISPLAY LIKE c_e.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ELSEIF l_result IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE s008 DISPLAY LIKE c_e.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_pre_file_hdr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_app_file&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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 - Checks if the path entered and filename is correct&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM validate_app_file USING  fp_file  TYPE FILENAME-FILEINTERN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : l_fname(60).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'FILE_GET_NAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      LOGICAL_FILENAME = FP_FILE&lt;/P&gt;&lt;P&gt;      OPERATING_SYSTEM = SY-OPSYS&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FILE_NAME        = L_FNAME&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      FILE_NOT_FOUND   = 1&lt;/P&gt;&lt;P&gt;      OTHERS           = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = '0'.&lt;/P&gt;&lt;P&gt;    OPEN DATASET  L_FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE s007 DISPLAY LIKE c_e.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CLOSE DATASET l_fname.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_app_file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;*&amp;amp;----&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;      Routine to upload data from file to tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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_fp_flatfile&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_fp_file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_fp_rc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM  upload_file TABLES   fp_flatfile&lt;/P&gt;&lt;P&gt;                  USING    fp_file TYPE string&lt;/P&gt;&lt;P&gt;                  CHANGING fp_rc TYPE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_flatfile[] IS INITIAL.&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                = fp_file&lt;/P&gt;&lt;P&gt;        filetype                = c_filetype&lt;/P&gt;&lt;P&gt;        has_field_separator     = c_x&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                = fp_flatfile&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;    MOVE sy-subrc TO fp_rc.&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.  " upload_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_app&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;FP_FLATFILEtext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_FILE    text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_RC      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_app TABLES   fp_flatfile&lt;/P&gt;&lt;P&gt;                      USING    fp_file TYPE FILENAME-FILEINTERN&lt;/P&gt;&lt;P&gt;CHANGING fp_rc TYPE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_string TYPE tedata-data.&lt;/P&gt;&lt;P&gt;  DATA: wa_data_file TYPE tp_flatfile_vtls,&lt;/P&gt;&lt;P&gt;        l_wllength TYPE i,&lt;/P&gt;&lt;P&gt;        FNAME(60).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'FILE_GET_NAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      LOGICAL_FILENAME = FP_FILE&lt;/P&gt;&lt;P&gt;      OPERATING_SYSTEM = SY-OPSYS&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FILE_NAME        = FNAME&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      FILE_NOT_FOUND   = 1&lt;/P&gt;&lt;P&gt;      OTHERS           = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    OPEN DATASET  FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;*C-- commented by Bikash&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE s107(yaero_ps) DISPLAY LIKE c_e.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      message e008.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      DO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR: l_string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ DATASET  FNAME INTO l_string LENGTH l_wllength.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          SPLIT l_string AT con_tab INTO   wa_data_file-ebeln&lt;/P&gt;&lt;P&gt;                                           wa_data_file-ebelp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa_data_file TO fp_flatfile.&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;      CLOSE DATASET  FNAME.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.  " upload_file_app&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_podata&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 get_podata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select *&lt;/P&gt;&lt;P&gt;  into table t_update&lt;/P&gt;&lt;P&gt;  from zvtls_sap&lt;/P&gt;&lt;P&gt;  for all entries in t_flatfile_vtls1&lt;/P&gt;&lt;P&gt;   where itemvtls = t_flatfile_vtls1-item&lt;/P&gt;&lt;P&gt;  and povtls = t_flatfile_vtls1-po.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort t_update by posap itemsap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_update.&lt;/P&gt;&lt;P&gt;    at new posap.&lt;/P&gt;&lt;P&gt;      t_poheader-po = t_update-posap.&lt;/P&gt;&lt;P&gt;      append t_poheader.&lt;/P&gt;&lt;P&gt;      clear t_poheader.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    t_poitem-po = t_update-posap.&lt;/P&gt;&lt;P&gt;    t_poitem-item = t_update-itemsap.&lt;/P&gt;&lt;P&gt;    append t_poitem.&lt;/P&gt;&lt;P&gt;    clear t_poitem.&lt;/P&gt;&lt;P&gt;    t_update-paedt = sy-datum.&lt;/P&gt;&lt;P&gt;    t_update-loekz = 'X'.&lt;/P&gt;&lt;P&gt;    modify t_update.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  modify zvtls_sap from table t_update.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "get_podata&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  move_to_bapi&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form move_to_bapi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_bapi_poheader-po_number = t_poheader-po.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR t_bapi_poheaderx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_check_structure USING c_bapimepoheaderx&lt;/P&gt;&lt;P&gt;                                     c_t_bapi_poheader&lt;/P&gt;&lt;P&gt;                                     c_t_bapi_poheaderx&lt;/P&gt;&lt;P&gt;                                     c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  refresh : t_bapi_poitem,t_bapi_poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_poitem where po = t_poheader-po.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear t_bapi_poitem.&lt;/P&gt;&lt;P&gt;    t_bapi_poitem-po_item = t_poitem-item.&lt;/P&gt;&lt;P&gt;    t_bapi_poitem-delete_ind = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR t_bapi_poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM fill_check_structure USING c_bapimepoitem&lt;/P&gt;&lt;P&gt;                                       c_t_bapi_poitem&lt;/P&gt;&lt;P&gt;                                       c_t_bapi_poitemx&lt;/P&gt;&lt;P&gt;                                       c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    t_bapi_poitemx-po_item = t_poitem-item.&lt;/P&gt;&lt;P&gt;    t_bapi_poitemx-po_itemx = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND t_bapi_poitem.&lt;/P&gt;&lt;P&gt;    APPEND t_bapi_poitemx.&lt;/P&gt;&lt;P&gt;    clear t_bapi_poitem.&lt;/P&gt;&lt;P&gt;    clear t_bapi_poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "move_to_bapi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  call_bapi&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      This form Routine is used to commit the data records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM call_bapi .&lt;/P&gt;&lt;P&gt;  DATA : l_msgty      TYPE c,&lt;/P&gt;&lt;P&gt;         l_msgid(2)   TYPE c,&lt;/P&gt;&lt;P&gt;         l_msgno(3)   TYPE c,&lt;/P&gt;&lt;P&gt;         l_msgtx(100) TYPE c,&lt;/P&gt;&lt;P&gt;         l_errflag    TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: t_bapireturn.&lt;/P&gt;&lt;P&gt;  REFRESH: t_bapireturn.&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 = T_POHEADER-PO&lt;/P&gt;&lt;P&gt;      POHEADER      = T_BAPI_POHEADER&lt;/P&gt;&lt;P&gt;      POHEADERX     = T_BAPI_POHEADERX&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      RETURN        = T_BAPIRETURN&lt;/P&gt;&lt;P&gt;      POITEM        = T_BAPI_POITEM&lt;/P&gt;&lt;P&gt;      POITEMX       = T_BAPI_POITEMX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE t_bapireturn WITH KEY type = c_err TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        wait = c_x.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*C-- Write messages&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / 'PO Number', t_poheader-po.&lt;/P&gt;&lt;P&gt;  clear : t_update,w_povtls.&lt;/P&gt;&lt;P&gt;  read table t_update with key posap = t_poheader-po.&lt;/P&gt;&lt;P&gt;  w_povtls = t_update-povtls.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_errflag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_bapireturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: l_msgty, l_msgid, l_msgno, l_msgtx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_msgty = t_bapireturn-type.&lt;/P&gt;&lt;P&gt;    l_msgid = t_bapireturn-id.&lt;/P&gt;&lt;P&gt;    l_msgno = t_bapireturn-number.&lt;/P&gt;&lt;P&gt;    l_msgtx = t_bapireturn-message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: / l_msgty, l_msgid, l_msgno, l_msgtx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if l_msgtx cs t_poheader-po.&lt;/P&gt;&lt;P&gt;      w_count = w_count + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at t_update.&lt;/P&gt;&lt;P&gt;        if sy-tabix = w_count.&lt;/P&gt;&lt;P&gt;          t_message-item = t_update-itemvtls.&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;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    t_message-msgty = l_msgty.&lt;/P&gt;&lt;P&gt;    t_message-msgid = l_msgid.&lt;/P&gt;&lt;P&gt;    t_message-msgno = l_msgno.&lt;/P&gt;&lt;P&gt;    t_message-msgtx = l_msgtx.&lt;/P&gt;&lt;P&gt;    t_message-po = w_povtls.&lt;/P&gt;&lt;P&gt;    append t_message.&lt;/P&gt;&lt;P&gt;    clear t_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF l_msgty EQ c_err.&lt;/P&gt;&lt;P&gt;      l_errflag = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.    " l_msgty EQ 'E'&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF l_errflag NE c_x.&lt;/P&gt;&lt;P&gt;    w_success = w_success + 1.&lt;/P&gt;&lt;P&gt;  ENDIF.    " l_errflag NE C_X&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "call_bapi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fill_check_structure&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      This form Routine will check whether the specified structure&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      exist/active&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM fill_check_structure  USING    fp_tabname TYPE any&lt;/P&gt;&lt;P&gt;                                    fp_orgtabname TYPE any&lt;/P&gt;&lt;P&gt;                                    fp_chktabname TYPE any&lt;/P&gt;&lt;P&gt;                                    fp_check TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS : &amp;lt;fs_chk&amp;gt;, &amp;lt;fs_org&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:    l_char1(61)  TYPE c,&lt;/P&gt;&lt;P&gt;           l_char2(61)  TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:    BEGIN OF tl_nametab OCCURS 60.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE x031l.&lt;/P&gt;&lt;P&gt;  DATA:    END OF tl_nametab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH tl_nametab.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RFC_GET_NAMETAB'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      tabname          = fp_tabname&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      nametab          = tl_nametab&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      table_not_active = 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;    CLEAR tl_nametab.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tl_nametab.&lt;/P&gt;&lt;P&gt;    CLEAR: l_char1, l_char2.&lt;/P&gt;&lt;P&gt;    CONCATENATE fp_chktabname c_hyp tl_nametab-fieldname INTO l_char1.&lt;/P&gt;&lt;P&gt;    ASSIGN (l_char1) TO &amp;lt;fs_chk&amp;gt;.&lt;/P&gt;&lt;P&gt;    CONCATENATE fp_orgtabname c_hyp tl_nametab-fieldname INTO l_char2.&lt;/P&gt;&lt;P&gt;    ASSIGN (l_char2) TO &amp;lt;fs_org&amp;gt;.&lt;/P&gt;&lt;P&gt;    IF &amp;lt;fs_org&amp;gt; IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs_chk&amp;gt; = fp_check.&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;ENDFORM.                    " fill_check_structure&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  STORE_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_MESSAGEStext&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 STORE_MESSAGES TABLES FP_MESSAGES STRUCTURE T_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wl_output_data LIKE t_MESSAGE.&lt;/P&gt;&lt;P&gt;  DATA: l_catstr TYPE string.&lt;/P&gt;&lt;P&gt;  DATA: l_fieldvalue TYPE string.&lt;/P&gt;&lt;P&gt;  DATA: l_index TYPE i VALUE 1.&lt;/P&gt;&lt;P&gt;  DATA: L_FNAME(60).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_catstr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'FILE_GET_NAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      LOGICAL_FILENAME = '/USR/SAP/VTLS/POCHANGE/LOG'&lt;/P&gt;&lt;P&gt;      OPERATING_SYSTEM = SY-OPSYS&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FILE_NAME        = L_FNAME&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      FILE_NOT_FOUND   = 1&lt;/P&gt;&lt;P&gt;      OTHERS           = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = '0'.&lt;/P&gt;&lt;P&gt;    IF fp_messages[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      OPEN DATASET L_FNAME FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&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;        LEAVE LIST-PROCESSING.&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;        LOOP AT fp_messages INTO wl_output_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          DO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ASSIGN COMPONENT l_index OF STRUCTURE wl_output_data TO &amp;lt;fs&amp;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;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;            MOVE &amp;lt;fs&amp;gt; TO l_fieldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF l_catstr IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              CONCATENATE l_catstr l_fieldvalue INTO l_catstr SEPARATED&lt;/P&gt;&lt;P&gt;              BY con_tab.&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;              MOVE l_fieldvalue TO l_catstr.&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;            l_index = l_index + c_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR l_fieldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR &amp;lt;fs&amp;gt;.&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;          l_index = c_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          TRANSFER l_catstr TO L_FNAME .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR wl_output_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR l_catstr.&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;        CLOSE  DATASET L_FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "STORE_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For header text -&amp;gt; pass the values to BAPIMEPOTEXTHEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Seshu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jul 2007 15:59:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2495738#M563581</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-10T15:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CHANGE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2495739#M563582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check out this code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ztc_mm_po_sto_input                     .&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;*Data Variables&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;DATA : v_input_file     TYPE string ,&lt;/P&gt;&lt;P&gt;       v_error_file     TYPE string ,&lt;/P&gt;&lt;P&gt;       v_success_file   TYPE string ,&lt;/P&gt;&lt;P&gt;       v_run_time(1)    TYPE c,&lt;/P&gt;&lt;P&gt;       v_suc_file_text  TYPE ibipparms-path,&lt;/P&gt;&lt;P&gt;       v_err_file_text  TYPE ibipparms-path,&lt;/P&gt;&lt;P&gt;       v_suc_file_text1  TYPE ibipparms-path,&lt;/P&gt;&lt;P&gt;       v_err_file_text1  TYPE ibipparms-path,&lt;/P&gt;&lt;P&gt;       vl_succ type i,&lt;/P&gt;&lt;P&gt;       vl_err type i,&lt;/P&gt;&lt;P&gt;       v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Data Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wl_po_header_remote TYPE bapiekkol,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wl_po_address_remote TYPE bapiaddress,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; wl_poheader TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt; wl_c_poheader TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt; wl_poaddrvendor TYPE bapimepoaddrvendor,&lt;/P&gt;&lt;P&gt; wl_c_poaddrvendor TYPE bapimepoaddrvendor,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI for Remote Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; wl_po_header_remote TYPE bapiekkol,&lt;/P&gt;&lt;P&gt; wl_po_address_remote TYPE bapiaddress,&lt;/P&gt;&lt;P&gt; il_po_header_texts_remote TYPE bapiekkotx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_items_remote TYPE bapiekpo OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_account_remote TYPE bapiekkn OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_schedules_remote TYPE bapieket OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_confirma_remote TYPE bapiekes OCCURS 0&lt;/P&gt;&lt;P&gt;                                 WITH HEADER    LINE,&lt;/P&gt;&lt;P&gt; il_po_item_texts_remote TYPE bapiekpotx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_history_remote TYPE bapiekbe OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_totals_remote TYPE bapiekbes OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_limits_remote TYPE bapiesuh OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_contracts_remote TYPE bapiesuc OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_services_remote TYPE bapiesll OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_srv_accass_remote TYPE bapieskl OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_return_remote TYPE bapireturn OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_services_texts_remote TYPE bapieslltx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_extensionout_remote TYPE bapiparex OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI for Local System Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; wl_po_header_local TYPE bapiekkol,&lt;/P&gt;&lt;P&gt; wl_po_address_local TYPE bapiaddress,&lt;/P&gt;&lt;P&gt; il_po_header_texts_local TYPE bapiekkotx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_items_local TYPE bapiekpo OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_account_local TYPE bapiekkn OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_schedules_local TYPE bapieket OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_confirma_local TYPE bapiekes OCCURS 0&lt;/P&gt;&lt;P&gt;                                 WITH HEADER    LINE,&lt;/P&gt;&lt;P&gt; il_po_item_texts_local TYPE bapiekpotx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_history_local TYPE bapiekbe OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_totals_local TYPE bapiekbes OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_limits_local TYPE bapiesuh OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_contracts_local TYPE bapiesuc OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_services_local TYPE bapiesll OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_item_srv_accass_local TYPE bapieskl OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_return_local TYPE bapireturn OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_po_services_texts_local TYPE bapieslltx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_extensionout_local TYPE bapiparex OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI Create&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; il_poitem TYPE bapimepoitem OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_bapireturn type bapiret2 occurs 0 with header line,&lt;/P&gt;&lt;P&gt; il_c_poitem TYPE bapimepoitem OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_poschedule TYPE bapimeposchedule OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_c_poschedule TYPE bapimeposchedule OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_poaccount TYPE bapimepoaccount OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_c_poaccount TYPE bapimepoaccount OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt; il_potextheader TYPE bapimepotextheader OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;il_potextitem TYPE bapimepotext OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;il_c_potextheader TYPE bapimepotextheader OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;il_c_potextitem TYPE bapimepotext OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI - GET RELINFO Local system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IL_BAPIRLCOPO_LOCAL TYPE BAPIRLCOPO OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI - GET RELINFO Remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IL_BAPIRLCOPO_REMOTE TYPE BAPIRLCOPO OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI Return Messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;il_ret2_commit type BAPIRET2 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;il_returnreset type bapireturn occurs 0 with header line,&lt;/P&gt;&lt;P&gt;il_returnrel type bapireturn occurs 0 with header line,&lt;/P&gt;&lt;P&gt;wl_BAPIRLCOPO_LOCAL like line of IL_BAPIRLCOPO_LOCAL,&lt;/P&gt;&lt;P&gt;wl_BAPIRLCOPO_remote like line of IL_BAPIRLCOPO_REMOTE.&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;*Type defination&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;types: begin of t_record,&lt;/P&gt;&lt;P&gt;        purchaseorder  type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;       end of t_record,&lt;/P&gt;&lt;P&gt;       begin of t_success,&lt;/P&gt;&lt;P&gt;           purchaseorder type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;         messagetype(1),&lt;/P&gt;&lt;P&gt;         message(256),&lt;/P&gt;&lt;P&gt;       end of t_success,&lt;/P&gt;&lt;P&gt;       begin of t_error,&lt;/P&gt;&lt;P&gt;           purchaseorder  type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;         messagetype(1),&lt;/P&gt;&lt;P&gt;         message(256),&lt;/P&gt;&lt;P&gt;       end of t_error,&lt;/P&gt;&lt;P&gt;       begin of t_SUMMARY,&lt;/P&gt;&lt;P&gt;         TEXT(30),&lt;/P&gt;&lt;P&gt;         COUNT(5),&lt;/P&gt;&lt;P&gt;       end of t_summary,&lt;/P&gt;&lt;P&gt;       begin of t_change,&lt;/P&gt;&lt;P&gt;        ebeln type ekko-ebeln,&lt;/P&gt;&lt;P&gt;        EBELP type ekpo-ebelp,&lt;/P&gt;&lt;P&gt;        LOEKZ type ekko-LOEKZ,&lt;/P&gt;&lt;P&gt;       end of t_change,&lt;/P&gt;&lt;P&gt;       begin of t_relsucc,&lt;/P&gt;&lt;P&gt;         purchaseorder  type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;         messagetype(1),&lt;/P&gt;&lt;P&gt;         message(256),&lt;/P&gt;&lt;P&gt;      end of t_relsucc,&lt;/P&gt;&lt;P&gt;      begin of t_relerror,&lt;/P&gt;&lt;P&gt;        purchaseorder  type EKKO-EBELN,&lt;/P&gt;&lt;P&gt;         messagetype(1),&lt;/P&gt;&lt;P&gt;         message(256),&lt;/P&gt;&lt;P&gt;       end of t_relerror.&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;*Internal Tables&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;DATA : i_record TYPE STANDARD TABLE OF t_record WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       i_success  type standard table of t_success with header line,&lt;/P&gt;&lt;P&gt;       i_error    type standard table of t_error with header line,&lt;/P&gt;&lt;P&gt;       i_summary  type standard table of t_summary with header line,&lt;/P&gt;&lt;P&gt;       il_change  type standard table of t_change with header line,&lt;/P&gt;&lt;P&gt;       i_relsucc type standard table of t_relsucc with header line,&lt;/P&gt;&lt;P&gt;       i_relerror type standard table of t_relsucc with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK run_time WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS : rb_fgrnd RADIOBUTTON GROUP gr1 USER-COMMAND fgrn&lt;/P&gt;&lt;P&gt;                  DEFAULT 'X' .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-011.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_infl LIKE ibipparms-path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFAULT 'C:\temp\PO_Conversion.txt'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  LOWER CASE MODIF ID sc1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-013.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_sucfl LIKE ibipparms-path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                DEFAULT v_suc_file_text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFAULT 'C:\temp\PO_Success.txt'&lt;/P&gt;&lt;P&gt;                 LOWER CASE MODIF ID sc1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-012.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_erfl LIKE ibipparms-path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 DEFAULT v_err_file_text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFAULT 'C:\temp\PO_Error.txt'&lt;/P&gt;&lt;P&gt;              LOWER CASE MODIF ID sc1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : rb_bgrnd RADIOBUTTON GROUP gr1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-014.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_binfl LIKE ibipparms-path&lt;/P&gt;&lt;P&gt;DEFAULT '/usr/sap/interfaces/celerra/Entity_Reorg/PO_Conversion.txt'&lt;/P&gt;&lt;P&gt;               LOWER CASE MODIF ID sc2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-016.&lt;/P&gt;&lt;P&gt;PARAMETERS :  p_bsucfl LIKE ibipparms-path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFAULT v_suc_file_text1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFAULT '/usr/sap/interfaces/celerra/Entity_Reorg/PO_success.txt'&lt;/P&gt;&lt;P&gt;                 LOWER CASE MODIF ID sc2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-015.&lt;/P&gt;&lt;P&gt;PARAMETERS :  p_berfl LIKE ibipparms-path&lt;/P&gt;&lt;P&gt;DEFAULT '/usr/sap/interfaces/celerra/Entity_Reorg/PO_error.txt'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFAULT v_err_file_text1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  LOWER CASE MODIF ID sc2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK run_time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK rfc_dest WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_dest LIKE rfcdisplay-rfcdest.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK rfc_dest.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN OUTPUT                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;    IF screen-group1 = 'SC1'.&lt;/P&gt;&lt;P&gt;      IF rb_fgrnd = 'X'.&lt;/P&gt;&lt;P&gt;        screen-input = '1'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        screen-input = '0'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSEIF screen-group1 = 'SC2'.&lt;/P&gt;&lt;P&gt;      IF rb_bgrnd = 'X'.&lt;/P&gt;&lt;P&gt;        screen-input = '1'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        screen-input = '0'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE REQUEST FOR INPUT                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_infl.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL METHOD zcler_conversion=&amp;gt;filename_get&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     vp_filename = p_infl.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'          "allows user to select path/file&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            program_name  = syst-repid&lt;/P&gt;&lt;P&gt;            dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;            field_name    = 'p_infl'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name     = p_infl.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Error'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE REQUEST FOR ERROR                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_erfl.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'          "allows user to select path/file&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            program_name  = syst-repid&lt;/P&gt;&lt;P&gt;            dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;            field_name    = 'p_erfl'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name     = p_erfl.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Error'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN ON VALUE REQUEST FOR SUCCESS                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_sucfl.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'          "allows user to select path/file&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            program_name  = syst-repid&lt;/P&gt;&lt;P&gt;            dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;            field_name    = 'p_sucfl'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name     = p_sucfl.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Error'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT SELECTION-SCREEN ON BLOCK RUNTIME                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN  ON BLOCK run_time.&lt;/P&gt;&lt;P&gt;  IF rb_bgrnd = 'X' OR sy-batch = 'X'.&lt;/P&gt;&lt;P&gt;    v_run_time = 'B'.&lt;/P&gt;&lt;P&gt;    MOVE p_binfl TO v_input_file.&lt;/P&gt;&lt;P&gt;    MOVE p_berfl TO v_error_file.&lt;/P&gt;&lt;P&gt;    MOVE p_bsucfl TO v_success_file.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    v_run_time = 'F'.&lt;/P&gt;&lt;P&gt;    MOVE p_infl TO v_input_file.&lt;/P&gt;&lt;P&gt;    MOVE p_erfl TO v_error_file.&lt;/P&gt;&lt;P&gt;    MOVE p_sucfl TO v_success_file.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; START-OF-SELECTION - Point after processing the selection screen.   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Upload File from AS or PS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Process Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM process_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Identify Release during Delta Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM RELEASE_DELTAPERIOD.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Download Data - Success file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*IF I_SUCCESS[] IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM DOWNLOAD_DATA TABLES I_SUCCESS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        USING v_success_file.&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;LI level="2" type="ul"&gt;&lt;P&gt;Download Data - error file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*IF I_ERROR[] IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM DOWNLOAD_DATA TABLES I_ERROR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        USING v_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;LI level="2" type="ul"&gt;&lt;P&gt;Populate Sumamry Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*PERFORM SUB_POPULATE_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; END OF SELECTION                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Download Data - Success file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF I_SUCCESS[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM DOWNLOAD_DATA TABLES I_SUCCESS&lt;/P&gt;&lt;P&gt;                         USING v_success_file.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Download Data - error file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF I_ERROR[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM DOWNLOAD_DATA TABLES I_ERROR&lt;/P&gt;&lt;P&gt;                         USING v_error_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate Sumamry Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SUB_POPULATE_SUMMARY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM WRITE_DATA.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TOP OF PAGE                              *&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;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;PERFORM 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;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Upload File from AS or PS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;*-- UPLOAD INPUT FILE&lt;/P&gt;&lt;P&gt;  IF sy-batch = 'X' OR v_run_time = 'B'.&lt;/P&gt;&lt;P&gt;*-- Background Processing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_TXX_UNIX_UPLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename = v_input_file&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab = i_record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename                = v_input_file&lt;/P&gt;&lt;P&gt;        filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                = i_record&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;P&gt;      MESSAGE e002(sy) WITH 'File Not Found or Unabe to Read File'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  process_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;      Process Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM process_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*loop throgh each record.&lt;/P&gt;&lt;P&gt;  LOOP AT i_record.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform Conversion for PR number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform conversion_exit using i_record-purchaseorder.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetail PR from Remote System - VPR System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM POGETDETAIL_REMOTESYSTEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Remote Connection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check PR number exist in Remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0 and il_return_remote-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetails PR from Local System - -VPP System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM POGETDETAIL_LOCALSYSTEM.&lt;/P&gt;&lt;P&gt;*check wether it exists locally in VPP.&lt;/P&gt;&lt;P&gt;      if sy-subrc eq 0 and il_return_local-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;P&gt;*PO exits in local system, Changes Occured in the Local System&lt;/P&gt;&lt;P&gt;        CLEAR:wl_poheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_HEADER -&amp;gt; POHEADER&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING wl_po_header_remote TO wl_c_poheader.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MOVE: "i_record-purchaseorder TO wl_poheader-po_number,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;            "sy-langu TO wl_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM ztps_newcc_plant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INTO wl_c_poheader-comp_code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHERE werks = il_po_items_remote-plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ADDRESS -&amp;gt; POADDRVENDOR.&lt;/P&gt;&lt;P&gt;*wl_po_address wl_poaddrvendor&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;    clear : wl_c_poaddrvendor.&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING wl_po_address_remote TO wl_c_poaddrvendor.&lt;/P&gt;&lt;P&gt;        MOVE :&lt;/P&gt;&lt;P&gt;        i_record-purchaseorder TO wl_c_poaddrvendor-po_number,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-addrnumber TO wl_c_poaddrvendor-addr_no,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-name1 TO wl_c_poaddrvendor-name,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-city1 TO wl_c_poaddrvendor-city,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-post_code1 TO wl_c_poaddrvendor-postl_cod1,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-roomnumber TO wl_c_poaddrvendor-room_no,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-tel_number TO wl_c_poaddrvendor-tel1_numbr,&lt;/P&gt;&lt;P&gt;        wl_po_address_remote-tel_extens TO wl_c_poaddrvendor-tel1_ext.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_HEADER_TEXTS -&amp;gt; POTEXTHEADER&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING il_po_header_texts_remote TO il_c_potextheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEMS -&amp;gt; POITEM&lt;/P&gt;&lt;P&gt;        CLEAR: il_po_items_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_items_remote.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEMS -&amp;gt;  PO_ITEMS&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING il_po_items_remote TO il_c_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE: il_po_items_remote-store_loc TO il_c_poitem-stge_loc,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-mat_grp TO il_c_poitem-matl_group,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-unit TO il_c_poitem-po_unit,&lt;/P&gt;&lt;P&gt;              il_po_items_remote-overdeltol TO il_c_poitem-over_dlv_tol,&lt;/P&gt;&lt;P&gt;              il_po_items_remote-unlimited TO il_c_poitem-unlimited_dlv,&lt;/P&gt;&lt;P&gt;              il_po_items_remote-under_tol TO il_c_poitem-under_dlv_tol,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-tax_jur_cd TO il_c_poitem-taxjurcode.&lt;/P&gt;&lt;P&gt;          APPEND il_c_poitem.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_items_remote,il_c_poitem.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_ACCOUNT_ASSIGNMENT -&amp;gt; POACCOUNT&lt;/P&gt;&lt;P&gt;        CLEAR:il_po_item_account_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_item_account_remote.&lt;/P&gt;&lt;P&gt;         MOVE-CORRESPONDING il_po_item_account_remote TO il_c_poaccount.&lt;/P&gt;&lt;P&gt;          MOVE:&lt;/P&gt;&lt;P&gt;               il_po_item_account_remote-g_l_acct TO&lt;/P&gt;&lt;P&gt;                                         il_c_poaccount-gl_account,&lt;/P&gt;&lt;P&gt;               il_po_item_account_remote-wbs_elem_e TO&lt;/P&gt;&lt;P&gt;                                           il_c_poaccount-wbs_element,&lt;/P&gt;&lt;P&gt;              il_po_item_account_remote-cost_ctr TO&lt;/P&gt;&lt;P&gt;                                              il_c_poaccount-costcenter.&lt;/P&gt;&lt;P&gt;          APPEND il_c_poaccount.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_item_account_remote,il_c_poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_SCHEDULES -&amp;gt; POSCHEDULE&lt;/P&gt;&lt;P&gt;        CLEAR: il_po_item_schedules_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_item_schedules_remote.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING il_po_item_schedules_remote TO il_c_poschedule.&lt;/P&gt;&lt;P&gt;          MOVE: il_po_item_schedules_remote-serial_no TO&lt;/P&gt;&lt;P&gt;                                             il_c_poschedule-sched_line,&lt;/P&gt;&lt;P&gt;              il_po_item_schedules_remote-deliv_date TO&lt;/P&gt;&lt;P&gt;                                          il_c_poschedule-delivery_date.&lt;/P&gt;&lt;P&gt;          APPEND il_c_poschedule.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_item_schedules_remote,il_c_poschedule.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_TEXTS -&amp;gt; POTEXTITEM&lt;/P&gt;&lt;P&gt;        il_po_item_texts_remote[] = il_c_potextitem[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call BAPI Purchase Order Change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform purchaseorder_change.&lt;/P&gt;&lt;P&gt;*Read BAPI Return &amp;amp; Commit Bapi&lt;/P&gt;&lt;P&gt;  perform transaction_commit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform clear &amp;amp; refresh&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CLEAR_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="5" type="ul"&gt;&lt;P&gt;Create PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*PO does not exits in local system,so get details and create new one.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR:wl_poheader.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_HEADER -&amp;gt; POHEADER&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING wl_po_header_remote TO wl_poheader.&lt;/P&gt;&lt;P&gt;        MOVE: "i_record-purchaseorder TO wl_poheader-po_number,&lt;/P&gt;&lt;P&gt;                 sy-langu TO wl_poheader-po_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SELECT SINGLE bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM ztps_newcc_plant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INTO wl_poheader-comp_code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHERE werks = il_po_items_remote-plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;  clear : wl_poaddrvendor.&lt;/P&gt;&lt;P&gt;************************************************************&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ADDRESS -&amp;gt; POADDRVENDOR.&lt;/P&gt;&lt;P&gt;*wl_po_address wl_poaddrvendor&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING wl_po_address_remote TO wl_poaddrvendor.&lt;/P&gt;&lt;P&gt;        MOVE :i_record-purchaseorder TO wl_poaddrvendor-po_number,&lt;/P&gt;&lt;P&gt;             wl_po_address_remote-addrnumber TO wl_poaddrvendor-addr_no,&lt;/P&gt;&lt;P&gt;              wl_po_address_remote-name1 TO wl_poaddrvendor-name,&lt;/P&gt;&lt;P&gt;              wl_po_address_remote-city1 TO wl_poaddrvendor-city,&lt;/P&gt;&lt;P&gt;              wl_po_address_remote-post_code1 TO&lt;/P&gt;&lt;P&gt;                                       wl_poaddrvendor-postl_cod1,&lt;/P&gt;&lt;P&gt;             wl_po_address_remote-roomnumber TO wl_poaddrvendor-room_no,&lt;/P&gt;&lt;P&gt;              wl_po_address_remote-tel_number TO&lt;/P&gt;&lt;P&gt;                                      wl_poaddrvendor-tel1_numbr,&lt;/P&gt;&lt;P&gt;            wl_po_address_remote-tel_extens TO wl_poaddrvendor-tel1_ext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_HEADER_TEXTS -&amp;gt; POTEXTHEADER&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING il_po_header_texts_remote TO il_potextheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEMS -&amp;gt; POITEM&lt;/P&gt;&lt;P&gt;        CLEAR: il_po_items_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_items_remote.&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEMS -&amp;gt;  PO_ITEMS&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING il_po_items_remote TO il_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE: il_po_items_remote-store_loc TO il_poitem-stge_loc,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-mat_grp TO il_poitem-matl_group,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-unit TO il_poitem-po_unit,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-overdeltol TO il_poitem-over_dlv_tol,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-unlimited TO il_poitem-unlimited_dlv,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-under_tol TO il_poitem-under_dlv_tol,&lt;/P&gt;&lt;P&gt;                il_po_items_remote-tax_jur_cd TO il_poitem-taxjurcode.&lt;/P&gt;&lt;P&gt;          APPEND il_poitem.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_items_remote,il_poitem.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_ACCOUNT_ASSIGNMENT -&amp;gt; POACCOUNT&lt;/P&gt;&lt;P&gt;        CLEAR:il_po_item_account_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_item_account_remote.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING il_po_item_account_remote TO il_poaccount.&lt;/P&gt;&lt;P&gt;          MOVE:&lt;/P&gt;&lt;P&gt;        il_po_item_account_remote-g_l_acct TO il_poaccount-gl_account,&lt;/P&gt;&lt;P&gt;       il_po_item_account_remote-wbs_elem_e TO il_poaccount-wbs_element,&lt;/P&gt;&lt;P&gt;        il_po_item_account_remote-cost_ctr TO il_poaccount-costcenter.&lt;/P&gt;&lt;P&gt;          APPEND il_poaccount.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_item_account_remote,il_poaccount.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_SCHEDULES -&amp;gt; POSCHEDULE&lt;/P&gt;&lt;P&gt;        CLEAR: il_po_item_schedules_remote.&lt;/P&gt;&lt;P&gt;        LOOP AT il_po_item_schedules_remote.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING il_po_item_schedules_remote TO il_poschedule.&lt;/P&gt;&lt;P&gt;          MOVE:&lt;/P&gt;&lt;P&gt;           il_po_item_schedules_remote-serial_no TO&lt;/P&gt;&lt;P&gt;                                il_poschedule-sched_line,&lt;/P&gt;&lt;P&gt;          il_po_item_schedules_remote-deliv_date TO&lt;/P&gt;&lt;P&gt;                                   il_poschedule-delivery_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND il_poschedule.&lt;/P&gt;&lt;P&gt;          CLEAR:il_po_item_schedules_remote,il_poschedule.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Mapping Feilds PO_ITEM_TEXTS -&amp;gt; POTEXTITEM&lt;/P&gt;&lt;P&gt;        il_po_item_texts_remote[] = il_potextitem[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI - Create Purchase Order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            poheader                     = wl_poheader&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;            poaddrvendor                 = wl_poaddrvendor&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;           RETURN                        = il_bapireturn&lt;/P&gt;&lt;P&gt;            poitem                       = il_poitem&lt;/P&gt;&lt;P&gt;            poschedule                   = il_poschedule&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        POSCHEDULEX                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            poaccount                    = il_poaccount&lt;/P&gt;&lt;P&gt;            potextheader                 = il_potextheader&lt;/P&gt;&lt;P&gt;            potextitem                   = il_potextitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Read BAPI Return &amp;amp; Commit Bapi&lt;/P&gt;&lt;P&gt;    perform transaction_commit.&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 for Deletion Indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetails PO from Local System - -VPP System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform pogetdetail_localsystem.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To check whether PO number Exist in Local System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0 and il_return_local-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR Changes occured in Local System&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remote System - for Deletion Indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; loop at il_po_items_remote.&lt;/P&gt;&lt;P&gt;       if il_po_items_remote-DELETE_IND = 'L'.&lt;/P&gt;&lt;P&gt;move :&lt;/P&gt;&lt;P&gt;   il_po_items_remote-PO_ITEM to il_c_poitem-PO_ITEM.&lt;/P&gt;&lt;P&gt;   il_c_poitem-DELETE_IND = 'L'.&lt;/P&gt;&lt;P&gt;  append il_c_poitem.&lt;/P&gt;&lt;P&gt;  clear il_c_poitem.&lt;/P&gt;&lt;P&gt;   move : il_po_items_remote-PO_NUMBER to il_change-ebeln,&lt;/P&gt;&lt;P&gt;          il_po_items_remote-PO_ITEM to il_change-EBELP,&lt;/P&gt;&lt;P&gt;          il_po_items_remote-DELETE_IND to il_change-LOEKZ.&lt;/P&gt;&lt;P&gt;     append il_change.&lt;/P&gt;&lt;P&gt;     clear il_change.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check to call PO Change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; if not il_change[] is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call BAPI Purchase Order Change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   perform purchaseorder_change.&lt;/P&gt;&lt;P&gt;*Read BAPI Return &amp;amp; Commit Bapi&lt;/P&gt;&lt;P&gt;   perform transaction_commit.&lt;/P&gt;&lt;P&gt;  endif.&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;Perform clear &amp;amp; refresh&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM CLEAR_DATA.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;******************************&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If not exist in Remote system, Populate error&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;      I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;      i_error-messagetype = il_return_remote-TYPE.&lt;/P&gt;&lt;P&gt;      I_ERROR-MESSAGE  = il_return_remote-message.&lt;/P&gt;&lt;P&gt;      append i_error.&lt;/P&gt;&lt;P&gt;      clear i_error.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*****************************&lt;/P&gt;&lt;P&gt; else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate RFC Connection Disconnected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    write : / 'RFC Connection Disconnected or Wrong Path'.&lt;/P&gt;&lt;P&gt;    skip.&lt;/P&gt;&lt;P&gt;  stop.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear : i_record.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " process_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  RELEASE_DELTAPERIOD&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;      Release made during Delta Period&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 RELEASE_DELTAPERIOD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check release status for Each PO in Local System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_RECORD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform Conversion Routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform conversion_exit using i_record-purchaseorder.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetail PO from Remote System - VPR System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM POGETDETAIL_REMOTESYSTEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Remote Connection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check PR number exist in Remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if sy-subrc eq 0 and il_return_remote-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getdetails PR from Local System - -VPP System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM POGETDETAIL_LOCALSYSTEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To check whether PR number Exist in Local System&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF SY-SUBRC EQ 0 AND IL_RETURN_LOCAL IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if sy-subrc eq 0 and il_return_local-type &amp;lt;&amp;gt; 'E'.&lt;/P&gt;&lt;P&gt;*************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call BAPI PO GETREL Information Locally - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_PO_GETRELINFO'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            PURCHASEORDER          = I_RECORD-purchaseorder&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            RELEASE_ALREADY_POSTED = IL_BAPIRLCOPO_LOCAL[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calling BAPI PO GETREL Information Remotly - VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_PO_GETRELINFO'  destination p_dest&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            PURCHASEORDER          = I_RECORD-purchaseorder&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            RELEASE_ALREADY_POSTED = IL_BAPIRLCOPO_REMOTE[]&lt;/P&gt;&lt;P&gt;          exceptions&lt;/P&gt;&lt;P&gt;       system_failure        = 1&lt;/P&gt;&lt;P&gt;       communication_failure = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR : IL_BAPIRLCOPO_LOCAL,IL_BAPIRLCOPO_REMOTE.&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;Check Release codes 1 to 8 in Local &amp;amp; Remote System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   if not IL_BAPIRLCOPO_LOCAL is initial&lt;/P&gt;&lt;P&gt;      or il_BAPIRLCOPO_REMOTE is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Comparing &amp;amp; Updating Release codes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        perform validate_rel_code.&lt;/P&gt;&lt;P&gt;    endif.&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;      endif.&lt;/P&gt;&lt;P&gt;    clear : wl_BAPIRLCOPO_LOCAL ,wl_BAPIRLCOPO_remote.&lt;/P&gt;&lt;P&gt;   refresh : IL_BAPIRLCOPO_REMOTE, IL_BAPIRLCOPO_local.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform Clear &amp;amp; Refresh Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CLEAR_DATA.&lt;/P&gt;&lt;P&gt;      CLEAR : I_RECORD.&lt;/P&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;LI level="2" type="ul"&gt;&lt;P&gt;If not exist in Remote system, Populate error&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     vl_err = vl_err + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_error-messagetype = il_return_remote-TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-MESSAGE  = il_return_remote-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append i_error.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear i_error.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*************&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt; else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate RFC Connection Disconnected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    write : / 'RFC Connection Disconnected or Wrong Path'.&lt;/P&gt;&lt;P&gt;    skip.&lt;/P&gt;&lt;P&gt;  stop.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " RELEASE_DELTAPERIOD&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  CONVERSION_EXIT&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;     PR Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form conversion_exit  using    p_data.&lt;/P&gt;&lt;P&gt;  call function 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      input  = p_data&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      output = p_data.&lt;/P&gt;&lt;P&gt;endform.                    " CONVERSION_EXIT&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  PRGETDETAIL_REMOTESYSTEM&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;     Call BAPI Get detail from Remote System - VPR&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 POGETDETAIL_REMOTESYSTEM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call BAPI Get detail from Remote System - VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_GETDETAIL' DESTINATION p_dest&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      purchaseorder              = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;      items                      = 'X'&lt;/P&gt;&lt;P&gt;      account_assignment         = 'X'&lt;/P&gt;&lt;P&gt;      schedules                  = 'X'&lt;/P&gt;&lt;P&gt;      history                    = 'X'&lt;/P&gt;&lt;P&gt;      item_texts                 = 'X'&lt;/P&gt;&lt;P&gt;      header_texts               = 'X'&lt;/P&gt;&lt;P&gt;      services                   = 'X'&lt;/P&gt;&lt;P&gt;      confirmations              = 'X'&lt;/P&gt;&lt;P&gt;      service_texts              = 'X'&lt;/P&gt;&lt;P&gt;      extensions                 = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      po_header                  = wl_po_header_remote&lt;/P&gt;&lt;P&gt;      po_address                 = wl_po_address_remote&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      po_header_texts            = il_po_header_texts_remote&lt;/P&gt;&lt;P&gt;      po_items                   = il_po_items_remote&lt;/P&gt;&lt;P&gt;      po_item_account_assignment = il_po_item_account_remote&lt;/P&gt;&lt;P&gt;      po_item_schedules          = il_po_item_schedules_remote&lt;/P&gt;&lt;P&gt;      po_item_confirmations      = il_po_item_confirma_remote&lt;/P&gt;&lt;P&gt;      po_item_texts              = il_po_item_texts_remote&lt;/P&gt;&lt;P&gt;      po_item_history            = il_po_item_history_remote&lt;/P&gt;&lt;P&gt;      po_item_history_totals     = il_po_item_totals_remote&lt;/P&gt;&lt;P&gt;      po_item_limits             = il_po_item_limits_remote&lt;/P&gt;&lt;P&gt;      po_item_contract_limits    = il_po_item_contracts_remote&lt;/P&gt;&lt;P&gt;      po_item_services           = il_po_item_services_remote&lt;/P&gt;&lt;P&gt;      po_item_srv_accass_values  = il_po_item_srv_accass_remote&lt;/P&gt;&lt;P&gt;      return                     = il_return_remote&lt;/P&gt;&lt;P&gt;      po_services_texts          = il_po_services_texts_remote&lt;/P&gt;&lt;P&gt;      extensionout               = il_extensionout_remote&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;       system_failure        = 1&lt;/P&gt;&lt;P&gt;       communication_failure = 2.&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 &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE : / 'Populate Error'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       STOP.&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;endform.                    " POGETDETAIL_REMOTESYSTEM&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  POGETDETAIL_LOCALSYSTEM&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;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POGETDETAIL_LOCALSYSTEM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_GETDETAIL'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      purchaseorder              = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;      items                      = 'X'&lt;/P&gt;&lt;P&gt;      account_assignment         = 'X'&lt;/P&gt;&lt;P&gt;      schedules                  = 'X'&lt;/P&gt;&lt;P&gt;      history                    = 'X'&lt;/P&gt;&lt;P&gt;      item_texts                 = 'X'&lt;/P&gt;&lt;P&gt;      header_texts               = 'X'&lt;/P&gt;&lt;P&gt;      services                   = 'X'&lt;/P&gt;&lt;P&gt;      confirmations              = 'X'&lt;/P&gt;&lt;P&gt;      service_texts              = 'X'&lt;/P&gt;&lt;P&gt;      extensions                 = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      po_header                  = wl_po_header_local&lt;/P&gt;&lt;P&gt;      po_address                 = wl_po_address_local&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      po_header_texts            = il_po_header_texts_local&lt;/P&gt;&lt;P&gt;      po_items                   = il_po_items_local&lt;/P&gt;&lt;P&gt;      po_item_account_assignment = il_po_item_account_local&lt;/P&gt;&lt;P&gt;      po_item_schedules          = il_po_item_schedules_local&lt;/P&gt;&lt;P&gt;      po_item_confirmations      = il_po_item_confirma_local&lt;/P&gt;&lt;P&gt;      po_item_texts              = il_po_item_texts_local&lt;/P&gt;&lt;P&gt;      po_item_history            = il_po_item_history_local&lt;/P&gt;&lt;P&gt;      po_item_history_totals     = il_po_item_totals_local&lt;/P&gt;&lt;P&gt;      po_item_limits             = il_po_item_limits_local&lt;/P&gt;&lt;P&gt;      po_item_contract_limits    = il_po_item_contracts_local&lt;/P&gt;&lt;P&gt;      po_item_services           = il_po_item_services_local&lt;/P&gt;&lt;P&gt;      po_item_srv_accass_values  = il_po_item_srv_accass_local&lt;/P&gt;&lt;P&gt;      return                     = il_return_local&lt;/P&gt;&lt;P&gt;      po_services_texts          = il_po_services_texts_local&lt;/P&gt;&lt;P&gt;      extensionout               = il_extensionout_local.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POGETDETAIL_LOCALSYSTEM&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  validate_rel_code&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;      Validate Release Codes&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_rel_code .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at IL_BAPIRLCOPO_LOCAL into wl_BAPIRLCOPO_LOCAL.&lt;/P&gt;&lt;P&gt;  read table IL_BAPIRLCOPO_REMOTE into wl_BAPIRLCOPO_REMOTE&lt;/P&gt;&lt;P&gt;          with key PO_NUMBER = wl_BAPIRLCOPO_LOCAL-PO_NUMBER.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at IL_BAPIRLCOPO_REMOTE  into wl_BAPIRLCOPO_REMOTE.&lt;/P&gt;&lt;P&gt;  read table IL_BAPIRLCOPO_LOCAL into wl_BAPIRLCOPO_LOCAL&lt;/P&gt;&lt;P&gt;             with key PO_NUMBER = wl_BAPIRLCOPO_REMOTE-PO_NUMBER.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Release codes 1 to 8 in Local &amp;amp; Remote System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF wL_BAPIRLCOPO_LOCAL-REL_CODE1 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;        or wL_BAPIRLCOPO_REMOTE-REL_CODE1 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF wL_BAPIRLCOPO_REMOTE-REL_CODE1 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE1.&lt;/P&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;      IF wL_BAPIRLCOPO_LOCAL-REL_CODE1 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;        AND wL_BAPIRLCOPO_REMOTE-REL_CODE1 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                   wL_BAPIRLCOPO_LOCAL-REL_CODE1.&lt;/P&gt;&lt;P&gt;      ELSE.&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;        wL_BAPIRLCOPO_LOCAL-REL_CODE1 = wL_BAPIRLCOPO_REMOTE-REL_CODE1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE1.&lt;/P&gt;&lt;UL&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;   IF IL_BAPIRLCORQ_LOCAL-REL_CODE1 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF IL_BAPIRLCORQ_REMOTE-REL_CODE1 = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    IL_BAPIRLCORQ_REMOTE-REL_CODE1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&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;Check release code 2 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF wL_BAPIRLCOPO_LOCAL-REL_CODE2 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;          or wL_BAPIRLCOPO_REMOTE-REL_CODE2 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF wL_BAPIRLCOPO_REMOTE-REL_CODE2 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE2.&lt;/P&gt;&lt;P&gt;        IF wL_BAPIRLCOPO_LOCAL-REL_CODE2 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;          AND wL_BAPIRLCOPO_REMOTE-REL_CODE2 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                    wL_BAPIRLCOPO_LOCAL-REL_CODE2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE2 = wL_BAPIRLCOPO_REMOTE-REL_CODE2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                    wL_BAPIRLCOPO_REMOTE-REL_CODE2.&lt;/P&gt;&lt;P&gt;        ENDIF.&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;Check release code 3 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wL_BAPIRLCOPO_LOCAL-REL_CODE3 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;            or wL_BAPIRLCOPO_REMOTE-REL_CODE3 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE3 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE3.&lt;/P&gt;&lt;P&gt;          IF wL_BAPIRLCOPO_LOCAL-REL_CODE3 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;            AND wL_BAPIRLCOPO_REMOTE-REL_CODE3 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                       wL_BAPIRLCOPO_LOCAL-REL_CODE3.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE3 = wL_BAPIRLCOPO_REMOTE-REL_CODE3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE3.&lt;/P&gt;&lt;P&gt;          ENDIF.&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;Check release code 4 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF wL_BAPIRLCOPO_LOCAL-REL_CODE4 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;              or wL_BAPIRLCOPO_REMOTE-REL_CODE4 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF wL_BAPIRLCOPO_REMOTE-REL_CODE4 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE4.&lt;/P&gt;&lt;P&gt;            IF wL_BAPIRLCOPO_LOCAL-REL_CODE4 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;              AND wL_BAPIRLCOPO_REMOTE-REL_CODE4 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE4.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE4 = wL_BAPIRLCOPO_REMOTE-REL_CODE4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE4.&lt;/P&gt;&lt;P&gt;            ENDIF.&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;Check release code 5 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF wL_BAPIRLCOPO_LOCAL-REL_CODE5 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                or wL_BAPIRLCOPO_REMOTE-REL_CODE5 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE5 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE5.&lt;/P&gt;&lt;P&gt;              IF wL_BAPIRLCOPO_LOCAL-REL_CODE5 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                AND wL_BAPIRLCOPO_REMOTE-REL_CODE5 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE5.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE5 = wL_BAPIRLCOPO_REMOTE-REL_CODE5.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE5.&lt;/P&gt;&lt;P&gt;              ENDIF.&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;Check release code 6 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            IF wL_BAPIRLCOPO_LOCAL-REL_CODE6 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                  or wL_BAPIRLCOPO_REMOTE-REL_CODE6 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE6 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE6.&lt;/P&gt;&lt;P&gt;                IF wL_BAPIRLCOPO_LOCAL-REL_CODE6 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                  AND wL_BAPIRLCOPO_REMOTE-REL_CODE6 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE6.&lt;/P&gt;&lt;P&gt;                ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE6 = wL_BAPIRLCOPO_REMOTE-REL_CODE6.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE6.&lt;/P&gt;&lt;P&gt;                ENDIF.&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;Check release code 7 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              IF wL_BAPIRLCOPO_LOCAL-REL_CODE7 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                    or wL_BAPIRLCOPO_REMOTE-REL_CODE7 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE7 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE7.&lt;/P&gt;&lt;P&gt;                  IF wL_BAPIRLCOPO_LOCAL-REL_CODE7 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                    AND wL_BAPIRLCOPO_REMOTE-REL_CODE7 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE7.&lt;/P&gt;&lt;P&gt;                  ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE7 = wL_BAPIRLCOPO_REMOTE-REL_CODE7.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE7.&lt;/P&gt;&lt;P&gt;                  ENDIF.&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;Check release code 8 in local &amp;amp; remote system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                IF wL_BAPIRLCOPO_LOCAL-REL_CODE8 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                      or wL_BAPIRLCOPO_REMOTE-REL_CODE8 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Code 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF wL_BAPIRLCOPO_REMOTE-REL_CODE8 &amp;lt;&amp;gt; wL_BAPIRLCOPO_LOCAL-REL_CODE8.&lt;/P&gt;&lt;P&gt;                    IF wL_BAPIRLCOPO_LOCAL-REL_CODE8 &amp;lt;&amp;gt; ' '&lt;/P&gt;&lt;P&gt;                      AND wL_BAPIRLCOPO_REMOTE-REL_CODE8 = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      PERFORM RELEASE_RESET_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                          wL_BAPIRLCOPO_LOCAL-REL_CODE8.&lt;/P&gt;&lt;P&gt;                    ELSE.&lt;/P&gt;&lt;P&gt;         wL_BAPIRLCOPO_LOCAL-REL_CODE8 = wL_BAPIRLCOPO_REMOTE-REL_CODE8.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      PERFORM RELEASE_UPDATE_LOCALSYSTEM USING&lt;/P&gt;&lt;P&gt;                                         wL_BAPIRLCOPO_REMOTE-REL_CODE8.&lt;/P&gt;&lt;P&gt;                    ENDIF.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_rel_code&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  RELEASE_UPDATE_LOCALSYSTEM&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;      Update Release Indicator&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 RELEASE_UPDATE_LOCALSYSTEM  USING    P_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Release Indicator in Local System - VPP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_RELEASE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    PURCHASEORDER                = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;    PO_REL_CODE                  = P_DATA&lt;/P&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   RETURN                        = IL_RETURNREL&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   AUTHORITY_CHECK_FAIL         = 1&lt;/P&gt;&lt;P&gt;   DOCUMENT_NOT_FOUND           = 2&lt;/P&gt;&lt;P&gt;   ENQUEUE_FAIL                 = 3&lt;/P&gt;&lt;P&gt;   PREREQUISITE_FAIL            = 4&lt;/P&gt;&lt;P&gt;   RELEASE_ALREADY_POSTED       = 5&lt;/P&gt;&lt;P&gt;   RESPONSIBILITY_FAIL          = 6&lt;/P&gt;&lt;P&gt;   OTHERS                       = 7 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Release Status&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IF SY-SUBRC = 0 AND il_returnrel-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;  vl_succ = vl_succ + 1.&lt;/P&gt;&lt;P&gt;   i_relsucc-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;  IF NOT il_returnrel[] IS INITIAL.&lt;/P&gt;&lt;P&gt;     i_relsucc-messagetype = il_returnrel-type.&lt;/P&gt;&lt;P&gt;     i_relsucc-MESSAGE  = IL_RETURNREL-message.&lt;/P&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;P&gt;    i_relsucc-messagetype = 'S'.&lt;/P&gt;&lt;P&gt;    i_relsucc-message  = 'PR RELEASED SUCCESFULLY'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append i_relsucc.&lt;/P&gt;&lt;P&gt;   clear i_relsucc.&lt;/P&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;P&gt;  vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;      i_relerror-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;      i_relerror-messagetype = il_returnrel-type.&lt;/P&gt;&lt;P&gt;      i_relerror-MESSAGE  = IL_RETURNREL-message.&lt;/P&gt;&lt;P&gt;    append i_relerror.&lt;/P&gt;&lt;P&gt;   clear i_relerror.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; clear : il_returnrel.&lt;/P&gt;&lt;P&gt; refresh : il_returnrel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " RELEASE_UPDATE_LOCALSYSTEM&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  RELEASE_RESET_LOCALSYSTEM&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;      Reset Release Indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;FORM RELEASE_RESET_LOCALSYSTEM  USING    P_DATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reset Release Indicator in local System - VPP comparing with VPR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_RESET_RELEASE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    PURCHASEORDER                  = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;    PO_REL_CODE                    = P_DATA&lt;/P&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   RETURN                          = IL_RETURNRESET&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   AUTHORITY_CHECK_FAIL           = 1&lt;/P&gt;&lt;P&gt;   DOCUMENT_NOT_FOUND             = 2&lt;/P&gt;&lt;P&gt;   ENQUEUE_FAIL                   = 3&lt;/P&gt;&lt;P&gt;   PREREQUISITE_FAIL              = 4&lt;/P&gt;&lt;P&gt;   RELEASE_ALREADY_POSTED         = 5&lt;/P&gt;&lt;P&gt;   RESPONSIBILITY_FAIL            = 6&lt;/P&gt;&lt;P&gt;   NO_RELEASE_ALREADY             = 7&lt;/P&gt;&lt;P&gt;   NO_NEW_RELEASE_INDICATOR       = 8&lt;/P&gt;&lt;P&gt;   OTHERS                         = 9  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Reset Status&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT IL_RETURNRESET[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IF SY-SUBRC = 0 AND il_returnreset-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;        vl_succ = vl_succ + 1.&lt;/P&gt;&lt;P&gt;      i_relsucc-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;    IF NOT IL_BAPIRETURN[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      i_relsucc-messagetype = IL_RETURNRESET-type.&lt;/P&gt;&lt;P&gt;      i_relsucc-MESSAGE  = IL_RETURNRESET-message.&lt;/P&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;P&gt;      i_relsucc-messagetype = 'S'.&lt;/P&gt;&lt;P&gt;      i_relsucc-message  = 'PO RESET SUCCESFULLY'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    append i_relsucc.&lt;/P&gt;&lt;P&gt;   clear i_relsucc.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;      i_relerror-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;      i_relerror-messagetype = IL_RETURNRESET-type.&lt;/P&gt;&lt;P&gt;      i_relerror-MESSAGE  = IL_RETURNRESET-message.&lt;/P&gt;&lt;P&gt;    append i_relerror.&lt;/P&gt;&lt;P&gt;   clear i_relerror.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&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; vl_err = vl_err + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_error-messagetype = IL_RETURNRESET-type.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-MESSAGE  = IL_RETURNRESET-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   append i_error.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  clear i_error.&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; clear : il_returnreset.&lt;/P&gt;&lt;P&gt; refresh : il_returnreset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " RELEASE_RESET_LOCALSYSTEM&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_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;      Download file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWNLOAD_DATA  TABLES   IL_SUCCESS STRUCTURE I_SUCCESS&lt;/P&gt;&lt;P&gt;                    USING    P_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Download file&lt;/P&gt;&lt;P&gt;  if sy-batch = 'X' or v_run_time = 'B'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Background Processing&lt;/P&gt;&lt;P&gt;    call function 'Z_TXX_UNIX_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename = P_FILE&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab = IL_SUCCESS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    call function 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename                = P_FILE&lt;/P&gt;&lt;P&gt;        filetype                = 'ASC'&lt;/P&gt;&lt;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                = IL_SUCCESS&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;P&gt;      message e002(sy) with 'File Not Found or Unabe to Read File'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DOWNLOAD_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  SUB_POPULATE_SUMMARY&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;     Sumamry Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_POPULATE_SUMMARY .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I_SUMMARY-TEXT = 'Total NO of Records from file'.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_RECORD LINES I_SUMMARY-COUNT.&lt;/P&gt;&lt;P&gt;  APPEND I_SUMMARY.&lt;/P&gt;&lt;P&gt;  CLEAR I_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_SUMMARY-TEXT = 'Total NO of Success Records'.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_SUCCESS LINES I_SUMMARY-COUNT.&lt;/P&gt;&lt;P&gt;  APPEND I_SUMMARY.&lt;/P&gt;&lt;P&gt;  CLEAR I_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_SUMMARY-TEXT = 'Total No of Error Records'.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_ERROR LINES I_SUMMARY-COUNT.&lt;/P&gt;&lt;P&gt;  APPEND I_SUMMARY.&lt;/P&gt;&lt;P&gt;  CLEAR I_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_POPULATE_SUMMARY&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_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;     Write Output&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_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate Summary Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SUMMARY.&lt;/P&gt;&lt;P&gt;  WRITE : /5 'SUMMARY REPORT'  , 45 'TOTAL RECORDS'.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt; IF NOT I_SUMMARY[] IS INITIAL.&lt;/P&gt;&lt;P&gt;LOOP AT I_SUMMARY.&lt;/P&gt;&lt;P&gt; WRITE : /5 I_SUMMARY-TEXT , ' : ', 45 I_SUMMARY-COUNT.&lt;/P&gt;&lt;P&gt; CLEAR I_SUMMARY.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt; REFRESH I_SUMMARY.&lt;/P&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;P&gt; WRITE : / 'No Purchase Orders Found'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*Populate Success Report&lt;/P&gt;&lt;P&gt;PERFORM SUCCESS.&lt;/P&gt;&lt;P&gt;  WRITE : /5 'PO NUMBER'  , 30 'MESSAGE TYPE'  , 50 'SUCCESS MESSAGE'.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt; IF NOT I_SUCCESS[] IS INITIAL.&lt;/P&gt;&lt;P&gt;LOOP AT I_SUCCESS.&lt;/P&gt;&lt;P&gt;  WRITE : /5 I_SUCCESS-purchaseorder , 30 I_SUCCESS-messagetype  ,&lt;/P&gt;&lt;P&gt;                                              50 I_SUCCESS-MESSAGE.&lt;/P&gt;&lt;P&gt;  CLEAR I_SUCCESS.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;  REFRESH I_SUCCESS.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;   WRITE : /15 'No Success Records Found'.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Populate Error Report&lt;/P&gt;&lt;P&gt;PERFORM ERROR.&lt;/P&gt;&lt;P&gt;WRITE : /5 'PO NUMBER'  ,  30 'MESSAGE TYPE'  , 50 'ERROR MESSAGE'.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;IF NOT I_ERROR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;LOOP AT I_ERROR.&lt;/P&gt;&lt;P&gt;   WRITE : /5 I_ERROR-purchaseorder , 30 I_ERROR-messagetype ,&lt;/P&gt;&lt;P&gt;                                                  50 I_ERROR-MESSAGE.&lt;/P&gt;&lt;P&gt;   CLEAR I_ERROR.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;  REFRESH I_ERROR.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;   WRITE : /15 'No Error Records Found'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Populate RELEASE/RESET Success Report&lt;/P&gt;&lt;P&gt;perform relsucc.&lt;/P&gt;&lt;P&gt;write : /5 'PO NUMBER'  ,  30 'MESSAGE TYPE'  , 50 'SUCCESS MESSAGE'.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;if not i_relsucc[] is initial.&lt;/P&gt;&lt;P&gt;*delete adjacent duplicates from i_error.&lt;/P&gt;&lt;P&gt;loop at i_relsucc.&lt;/P&gt;&lt;P&gt;   write : /5 i_relsucc-purchaseorder , 30 i_relsucc-messagetype ,&lt;/P&gt;&lt;P&gt;                                                  50 i_relsucc-message.&lt;/P&gt;&lt;P&gt;   clear i_relsucc.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;  refresh i_relsucc.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   write : /15 'No RELSUCC Records Found'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;*Populate RELEASE/RESET Error Report&lt;/P&gt;&lt;P&gt;perform relerror.&lt;/P&gt;&lt;P&gt;write : /5 'PO NUMBER'  ,  30 'MESSAGE TYPE'  , 50 'ERROR MESSAGE'.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;if not i_relerror[] is initial.&lt;/P&gt;&lt;P&gt;*delete adjacent duplicates from i_error.&lt;/P&gt;&lt;P&gt;loop at i_error.&lt;/P&gt;&lt;P&gt;   write : /5 i_relerror-purchaseorder , 30 i_relerror-messagetype ,&lt;/P&gt;&lt;P&gt;                                                  50 i_relerror-message.&lt;/P&gt;&lt;P&gt;   clear i_relerror.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;  refresh i_relerror.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   write : /15 'No RELERROR Records Found'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_DATA&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM SUCCESS&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;Title for Success report&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 SUCCESS.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: AT /(170) 'Success Report' CENTERED.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM ERROR&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;Title for Error report&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 ERROR.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: AT /(170) 'Error Report' CENTERED.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM SUMMARY&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;Title for Summary report&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 SUMMARY.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: AT /(170) 'Summary Report' CENTERED.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM RELSUCCESS&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;Title for RELSUCC report&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 relsucc.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write: at /(170) 'RELSUCC Report' centered.&lt;/P&gt;&lt;P&gt;  format reset.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM ERROR&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;Title for RELERROR report&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 relerror.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write: at /(170) 'RELERROR Report' centered.&lt;/P&gt;&lt;P&gt;  format reset.&lt;/P&gt;&lt;P&gt;endform.&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  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;      TOP OF PAGE&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 TOP-OF-PAGE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: LEN TYPE I, POS TYPE I.&lt;/P&gt;&lt;P&gt;  DATA : VL_TITLE(100).&lt;/P&gt;&lt;P&gt;  LEN = 23.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING ON.&lt;/P&gt;&lt;P&gt;  COMPUTE LEN = STRLEN( SY-UNAME ).&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE: AT /(010)&lt;/P&gt;&lt;P&gt;          'User:' LEFT-JUSTIFIED,SPACE.&lt;/P&gt;&lt;P&gt;  WRITE: AT  011(LEN) SY-UNAME RIGHT-JUSTIFIED NO-GAP.&lt;/P&gt;&lt;P&gt;  LEN = 43.&lt;/P&gt;&lt;P&gt;  WRITE: AT 40(LEN) 'T-MOBILE' CENTERED.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 30.&lt;/P&gt;&lt;P&gt;  WRITE: AT LEN(010) 'Run Date:'.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 19.&lt;/P&gt;&lt;P&gt;  WRITE: AT LEN(010) SY-DATUM MM/DD/YYYY LEFT-JUSTIFIED,SPACE.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 07.&lt;/P&gt;&lt;P&gt;  WRITE AT LEN(008) SY-UZEIT USING EDIT MASK '__:__:__' LEFT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;  COMPUTE LEN = STRLEN( SY-REPID ).&lt;/P&gt;&lt;P&gt;  WRITE:&lt;/P&gt;&lt;P&gt;         /(010) 'Program:' LEFT-JUSTIFIED,SPACE.&lt;/P&gt;&lt;P&gt;  WRITE AT  011(LEN) SY-REPID RIGHT-JUSTIFIED NO-GAP.&lt;/P&gt;&lt;P&gt;    VL_TITLE = SY-TITLE.&lt;/P&gt;&lt;P&gt;  COMPUTE LEN = STRLEN( VL_TITLE ).&lt;/P&gt;&lt;P&gt;  POS = ( SY-LINSZ - LEN ) / 2.&lt;/P&gt;&lt;P&gt;  WRITE AT POS(LEN)  VL_TITLE CENTERED.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 27.&lt;/P&gt;&lt;P&gt;  WRITE: AT LEN(010) 'Page No:'(097) LEFT-JUSTIFIED,SPACE.&lt;/P&gt;&lt;P&gt;  LEN = SY-LINSZ - 8.&lt;/P&gt;&lt;P&gt;  WRITE: AT LEN(010) SY-PAGNO RIGHT-JUSTIFIED NO-GAP.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TOP-OF-PAGE&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  CLEAR_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;      Clear &amp;amp; Refresh Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CLEAR_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear : il_po_header_texts_remote,il_po_items_remote ,&lt;/P&gt;&lt;P&gt;   il_po_item_account_remote,il_po_item_schedules_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_confirma_remote,il_po_item_texts_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_history_remote,il_po_item_totals_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_limits_remote,il_po_item_contracts_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_services_remote,il_po_item_srv_accass_remote,&lt;/P&gt;&lt;P&gt;   il_return_remote,il_po_services_texts_remote,il_returnrel,&lt;/P&gt;&lt;P&gt;   il_extensionout_remote,il_po_header_texts_local,il_po_items_local,&lt;/P&gt;&lt;P&gt;   il_po_item_account_local,il_po_item_schedules_local,&lt;/P&gt;&lt;P&gt;   il_po_item_confirma_local,il_po_item_texts_local,&lt;/P&gt;&lt;P&gt;   il_po_item_history_local,il_po_item_totals_local,&lt;/P&gt;&lt;P&gt;   il_po_item_limits_local,il_po_item_contracts_local,&lt;/P&gt;&lt;P&gt;   il_po_item_services_local,il_po_item_srv_accass_local,&lt;/P&gt;&lt;P&gt;   il_return_local,il_po_services_texts_local,il_returnreset,&lt;/P&gt;&lt;P&gt;   il_extensionout_local,il_poitem,il_bapireturn,il_c_poitem,&lt;/P&gt;&lt;P&gt;   il_poschedule,il_c_poschedule,il_poaccount,il_c_poaccount,&lt;/P&gt;&lt;P&gt;   il_potextheader,il_potextitem,il_c_potextheader,il_c_potextitem,&lt;/P&gt;&lt;P&gt;   IL_BAPIRLCOPO_LOCAL,IL_BAPIRLCOPO_remote,il_ret2_commit.&lt;/P&gt;&lt;P&gt;REFRESH : il_po_header_texts_remote,il_po_items_remote ,&lt;/P&gt;&lt;P&gt;   il_po_item_account_remote,il_po_item_schedules_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_confirma_remote,il_po_item_texts_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_history_remote,il_po_item_totals_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_limits_remote,il_po_item_contracts_remote,&lt;/P&gt;&lt;P&gt;   il_po_item_services_remote,il_po_item_srv_accass_remote,&lt;/P&gt;&lt;P&gt;   il_return_remote,il_po_services_texts_remote,il_returnrel,&lt;/P&gt;&lt;P&gt;   il_extensionout_remote,il_po_header_texts_local,il_po_items_local,&lt;/P&gt;&lt;P&gt;   il_po_item_account_local,il_po_item_schedules_local,&lt;/P&gt;&lt;P&gt;   il_po_item_confirma_local,il_po_item_texts_local,&lt;/P&gt;&lt;P&gt;   il_po_item_history_local,il_po_item_totals_local,&lt;/P&gt;&lt;P&gt;   il_po_item_limits_local,il_po_item_contracts_local,&lt;/P&gt;&lt;P&gt;   il_po_item_services_local,il_po_item_srv_accass_local,&lt;/P&gt;&lt;P&gt;   il_return_local,il_po_services_texts_local,il_returnreset,&lt;/P&gt;&lt;P&gt;   il_extensionout_local,il_poitem,il_bapireturn,il_c_poitem,&lt;/P&gt;&lt;P&gt;   il_poschedule,il_c_poschedule,il_poaccount,il_c_poaccount,&lt;/P&gt;&lt;P&gt;   il_potextheader,il_potextitem,il_c_potextheader,il_c_potextitem,&lt;/P&gt;&lt;P&gt;   IL_BAPIRLCOPO_LOCAL,IL_BAPIRLCOPO_remote,il_ret2_commit.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CLEAR_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  purchaseorder_change&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;     Pruchase Order Change&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 purchaseorder_change .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI to call PO Change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_CHANGE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;           purchaseorder                 = i_record-purchaseorder&lt;/P&gt;&lt;P&gt;           poheader                      = wl_c_poheader&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;           poaddrvendor                  = wl_c_poaddrvendor&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;           return                       =  il_bapireturn&lt;/P&gt;&lt;P&gt;           poitem                        = il_c_poitem&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poitemx                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poaddrdelivery               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           poschedule                    = il_c_poschedule&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poschedulex                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           poaccount                     = il_c_poaccount&lt;/P&gt;&lt;P&gt;           potextheader                  = il_c_potextheader&lt;/P&gt;&lt;P&gt;           potextitem                    = il_c_potextitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " purchaseorder_change&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  transaction_commit&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;      BAPI Transaction Commit&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 transaction_commit .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Read BAPI Return &amp;amp; Commit Bapi&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IF NOT IL_BAPIRETURN[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE IL_BAPIRETURN WITH KEY TYPE = 'E' BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC NE 0.&lt;/P&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;            IMPORTING&lt;/P&gt;&lt;P&gt;              RETURN = il_ret2_commit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Commit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      if not IL_RET2_COMMIT[] is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        READ TABLE IL_RET2_COMMIT WITH KEY TYPE = 'E' BINARY SEARCH.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF SY-SUBRC = 0 AND il_ret2_commit-TYPE NE 'E'.&lt;/P&gt;&lt;P&gt;            vl_succ = vl_succ + 1.&lt;/P&gt;&lt;P&gt;            I_success-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;            IF NOT IL_BAPIRETURN[] IS INITIAL.&lt;/P&gt;&lt;P&gt;            i_success-messagetype = il_bapireturn-TYPE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_success-MESSAGE  = 'PR changed sucessfully'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            I_success-MESSAGE  = il_bapireturn-MESSAGE.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;          i_success-messagetype = 'S'.&lt;/P&gt;&lt;P&gt;          i_success-message  = 'PO CREATED/CHANGED SUCCESFULLY'.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;            append i_success.&lt;/P&gt;&lt;P&gt;            clear i_success.&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;          ELSE.&lt;/P&gt;&lt;P&gt;            vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;            I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;            i_ERROR-messagetype = il_ret2_commit-TYPE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_ERROR-MESSAGE  = 'PR not changed'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            i_error-message = il_ret2_commit-MESSAGE.&lt;/P&gt;&lt;P&gt;            append i_error.&lt;/P&gt;&lt;P&gt;            clear i_error.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          vl_err = vl_err + 1.&lt;/P&gt;&lt;P&gt;          I_ERROR-purchaseorder = I_RECORD-purchaseorder.&lt;/P&gt;&lt;P&gt;          i_error-messagetype = il_bapireturn-TYPE.&lt;/P&gt;&lt;P&gt;          I_ERROR-MESSAGE  = il_bapireturn-message.&lt;/P&gt;&lt;P&gt;          append i_error.&lt;/P&gt;&lt;P&gt;          clear i_error.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " transaction_commit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jul 2007 17:11:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2495739#M563582</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-10T17:11:37Z</dc:date>
    </item>
  </channel>
</rss>

