<?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 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/2940656#M693246</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi all,&lt;/P&gt;&lt;P&gt;i need to put 'k' in the item in the field 'Account assignment category' (knttp)&lt;/P&gt;&lt;P&gt;and than give cost center.&lt;/P&gt;&lt;P&gt;i use this bapi and i not success to update the purchase order.(me22n)&lt;/P&gt;&lt;P&gt;is anyone can help me?&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;dana.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 16 Oct 2007 08:53:04 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-16T08:53:04Z</dc:date>
    <item>
      <title>bapi_po_change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2940656#M693246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi all,&lt;/P&gt;&lt;P&gt;i need to put 'k' in the item in the field 'Account assignment category' (knttp)&lt;/P&gt;&lt;P&gt;and than give cost center.&lt;/P&gt;&lt;P&gt;i use this bapi and i not success to update the purchase order.(me22n)&lt;/P&gt;&lt;P&gt;is anyone can help me?&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;dana.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2007 08:53:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2940656#M693246</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-16T08:53:04Z</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/2940657#M693247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dana,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer sample code:   BAPI_PO_CREATE1 FM is used for the same purpose.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  YDM_PO_CREATE                                               *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ydm_po_create.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Input File Declaration&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_input_file,&lt;/P&gt;&lt;P&gt;       column1 TYPE char50,&lt;/P&gt;&lt;P&gt;       column2 TYPE char50,&lt;/P&gt;&lt;P&gt;       column3 TYPE char50,&lt;/P&gt;&lt;P&gt;       column4 TYPE char50,&lt;/P&gt;&lt;P&gt;       column5 TYPE char50,&lt;/P&gt;&lt;P&gt;       column6 TYPE char50,&lt;/P&gt;&lt;P&gt;       column7 TYPE char50,&lt;/P&gt;&lt;P&gt;       column8 TYPE char50,&lt;/P&gt;&lt;P&gt;       column9 TYPE char50,&lt;/P&gt;&lt;P&gt;       column10 TYPE char50,&lt;/P&gt;&lt;P&gt;       column11 TYPE char50,&lt;/P&gt;&lt;P&gt;       column12 TYPE char50,&lt;/P&gt;&lt;P&gt;       column13 TYPE char50,&lt;/P&gt;&lt;P&gt;       column14 TYPE char50,&lt;/P&gt;&lt;P&gt;       column15 TYPE char50,&lt;/P&gt;&lt;P&gt;       column16 TYPE char50,&lt;/P&gt;&lt;P&gt;       column17 TYPE char50,&lt;/P&gt;&lt;P&gt;       column18 TYPE char50,&lt;/P&gt;&lt;P&gt; END OF ty_input_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_input_file  TYPE STANDARD TABLE OF ty_input_file,&lt;/P&gt;&lt;P&gt;      wa_input_file TYPE ty_input_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: c_path     TYPE char20 VALUE 'C:\',&lt;/P&gt;&lt;P&gt;           c_mask     TYPE char9  VALUE ',*.*,*.*.',&lt;/P&gt;&lt;P&gt;           c_mode     TYPE char1  VALUE 'O',&lt;/P&gt;&lt;P&gt;           c_filetype TYPE char10 VALUE 'ASC',&lt;/P&gt;&lt;P&gt;           c_x        TYPE char01 VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : p_fname   LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Browse Presentation Server&lt;/P&gt;&lt;P&gt;  PERFORM f4_presentation_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Read presentation server file&lt;/P&gt;&lt;P&gt;  PERFORM f1003_upload_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_input_file[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM split_data.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;                  Form  f4_presentation_file&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;                F4 Help for presentation server&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f4_presentation_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      def_path         = c_path&lt;/P&gt;&lt;P&gt;      mask             = c_mask&lt;/P&gt;&lt;P&gt;      mode             = c_mode&lt;/P&gt;&lt;P&gt;      title            = text-001&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      filename         = p_fname&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inv_winsys       = 1&lt;/P&gt;&lt;P&gt;      no_batch         = 2&lt;/P&gt;&lt;P&gt;      selection_cancel = 3&lt;/P&gt;&lt;P&gt;      selection_error  = 4&lt;/P&gt;&lt;P&gt;      OTHERS           = 5.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f4_presentation_file&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;                      Form  f1003_upload_file&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;                         Upload File&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM f1003_upload_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lcl_filename TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lcl_filename = p_fname.&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                = lcl_filename&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                = i_input_file&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;  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;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f1003_upload_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  split_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;      Collect data for creating Purchase Order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM split_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: i_poitem        TYPE STANDARD TABLE OF bapimepoitem,&lt;/P&gt;&lt;P&gt;        i_poitemx       TYPE STANDARD TABLE OF bapimepoitemx,&lt;/P&gt;&lt;P&gt;        i_poitem_sch    TYPE STANDARD TABLE OF bapimeposchedule,&lt;/P&gt;&lt;P&gt;        i_poitem_schx   TYPE STANDARD TABLE OF bapimeposchedulx,&lt;/P&gt;&lt;P&gt;        i_acct_ass      TYPE STANDARD TABLE OF bapimepoaccount,&lt;/P&gt;&lt;P&gt;        i_acct_assx     TYPE STANDARD TABLE OF bapimepoaccountx,&lt;/P&gt;&lt;P&gt;        i_services      TYPE STANDARD TABLE OF bapiesllc ,&lt;/P&gt;&lt;P&gt;        i_srvacc        TYPE STANDARD TABLE OF bapiesklc,&lt;/P&gt;&lt;P&gt;        i_return        TYPE STANDARD TABLE OF bapiret2,&lt;/P&gt;&lt;P&gt;        wa_header       TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt;        wa_headerx      TYPE bapimepoheaderx,&lt;/P&gt;&lt;P&gt;        wa_poitem       TYPE bapimepoitem,&lt;/P&gt;&lt;P&gt;        wa_poitemx      TYPE bapimepoitemx,&lt;/P&gt;&lt;P&gt;        wa_poitem_sch   TYPE bapimeposchedule,&lt;/P&gt;&lt;P&gt;        wa_poitem_schx  TYPE bapimeposchedulx,&lt;/P&gt;&lt;P&gt;        wa_acct_ass     TYPE bapimepoaccount,&lt;/P&gt;&lt;P&gt;        wa_acct_assx    TYPE bapimepoaccountx,&lt;/P&gt;&lt;P&gt;        wa_services     TYPE bapiesllc,&lt;/P&gt;&lt;P&gt;        wa_srvacc       TYPE bapiesklc,&lt;/P&gt;&lt;P&gt;        wa_return       TYPE bapiret2,&lt;/P&gt;&lt;P&gt;        ws_po           TYPE bapimepoheader-po_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  break gbpra8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_services-pckg_no = 10.&lt;/P&gt;&lt;P&gt;  wa_services-line_no = 1.&lt;/P&gt;&lt;P&gt;  wa_services-outl_no = '0'.&lt;/P&gt;&lt;P&gt;  wa_services-outl_ind = c_x.&lt;/P&gt;&lt;P&gt;  wa_services-subpckg_no = 20.&lt;/P&gt;&lt;P&gt;  APPEND wa_services TO i_services.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_srvacc-pckg_no = 10.&lt;/P&gt;&lt;P&gt;  wa_srvacc-line_no = 1.&lt;/P&gt;&lt;P&gt;  wa_srvacc-serno_line = 01.&lt;/P&gt;&lt;P&gt;  wa_srvacc-serial_no = 01.&lt;/P&gt;&lt;P&gt;  wa_srvacc-percentage = 100.&lt;/P&gt;&lt;P&gt;  APPEND wa_srvacc TO i_srvacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_input_file INTO wa_input_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_input_file-column2 EQ 'HD'.&lt;/P&gt;&lt;P&gt;      wa_header-doc_type = wa_input_file-column3.&lt;/P&gt;&lt;P&gt;      wa_header-creat_date = sy-datum.&lt;/P&gt;&lt;P&gt;      wa_header-created_by = sy-uname.&lt;/P&gt;&lt;P&gt;      wa_header-vendor = wa_input_file-column4.&lt;/P&gt;&lt;P&gt;      PERFORM conversion_output USING wa_header-vendor&lt;/P&gt;&lt;P&gt;                                CHANGING wa_header-vendor.&lt;/P&gt;&lt;P&gt;      wa_header-comp_code = 'DE03'.&lt;/P&gt;&lt;P&gt;      wa_header-purch_org = 'DE03'.&lt;/P&gt;&lt;P&gt;      wa_header-pur_group = 'DE1'.&lt;/P&gt;&lt;P&gt;      wa_header-vper_start = wa_input_file-column9.&lt;/P&gt;&lt;P&gt;      wa_header-vper_end = wa_input_file-column10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_headerx-comp_code = c_x.&lt;/P&gt;&lt;P&gt;      wa_headerx-doc_type = c_x.&lt;/P&gt;&lt;P&gt;      wa_headerx-creat_date = c_x.&lt;/P&gt;&lt;P&gt;      wa_headerx-created_by = c_x.&lt;/P&gt;&lt;P&gt;      wa_headerx-vendor = c_x.&lt;/P&gt;&lt;P&gt;      wa_headerx-purch_org = c_x.&lt;/P&gt;&lt;P&gt;      wa_headerx-pur_group = c_x.&lt;/P&gt;&lt;P&gt;      wa_headerx-vper_start = c_x.&lt;/P&gt;&lt;P&gt;      wa_headerx-vper_end = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_input_file-column2 EQ 'IT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_poitem-po_item = wa_input_file-column3.&lt;/P&gt;&lt;P&gt;      wa_poitem-short_text = wa_input_file-column6.&lt;/P&gt;&lt;P&gt;      wa_poitem-plant = wa_input_file-column8.&lt;/P&gt;&lt;P&gt;      wa_poitem-quantity = '1'.&lt;/P&gt;&lt;P&gt;      wa_poitem-tax_code = 'V0'.&lt;/P&gt;&lt;P&gt;      wa_poitem-item_cat = 'D'.&lt;/P&gt;&lt;P&gt;      wa_poitem-acctasscat = 'K'.&lt;/P&gt;&lt;P&gt;      wa_poitem-matl_group = wa_input_file-column7.&lt;/P&gt;&lt;P&gt;      wa_poitem-pckg_no = '10'.&lt;/P&gt;&lt;P&gt;      APPEND wa_poitem TO i_poitem .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_poitemx-po_item = wa_input_file-column3.&lt;/P&gt;&lt;P&gt;      wa_poitemx-po_itemx = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitemx-short_text = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitemx-plant = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitemx-quantity = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitemx-tax_code = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitemx-item_cat = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitemx-acctasscat = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitemx-matl_group = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitemx-pckg_no = c_x.&lt;/P&gt;&lt;P&gt;      APPEND wa_poitemx TO i_poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_poitem_sch-po_item = wa_input_file-column3.&lt;/P&gt;&lt;P&gt;      wa_poitem_sch-delivery_date = sy-datum.&lt;/P&gt;&lt;P&gt;      APPEND wa_poitem_sch TO i_poitem_sch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_poitem_schx-po_item = wa_input_file-column3.&lt;/P&gt;&lt;P&gt;      wa_poitem_schx-po_itemx = c_x.&lt;/P&gt;&lt;P&gt;      wa_poitem_schx-delivery_date = c_x.&lt;/P&gt;&lt;P&gt;      APPEND wa_poitem_schx TO i_poitem_schx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_acct_ass-po_item = 10.&lt;/P&gt;&lt;P&gt;      wa_acct_ass-serial_no = 01.&lt;/P&gt;&lt;P&gt;      wa_acct_ass-gl_account = '0006360100'.&lt;/P&gt;&lt;P&gt;      wa_acct_ass-co_area  = '1000'.&lt;/P&gt;&lt;P&gt;      wa_acct_ass-costcenter = 'KC010000'.&lt;/P&gt;&lt;P&gt;      APPEND wa_acct_ass TO i_acct_ass.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_acct_ass-po_item = 10.&lt;/P&gt;&lt;P&gt;      wa_acct_ass-serial_no = 02.&lt;/P&gt;&lt;P&gt;      wa_acct_ass-gl_account = '0006360100'.&lt;/P&gt;&lt;P&gt;      wa_acct_ass-co_area  = '1000'.&lt;/P&gt;&lt;P&gt;      wa_acct_ass-costcenter = 'KC010000'.&lt;/P&gt;&lt;P&gt;      APPEND wa_acct_ass TO i_acct_ass.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_acct_assx-po_item = 10.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-serial_no = 01.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-po_itemx = c_x.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-serial_nox = c_x.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-gl_account = c_x.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-co_area  = c_x.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-costcenter = c_x.&lt;/P&gt;&lt;P&gt;      APPEND wa_acct_assx TO i_acct_assx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_acct_assx-po_item = 10.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-serial_no = 02.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-po_itemx = c_x.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-serial_nox = c_x.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-gl_account = c_x.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-co_area  = c_x.&lt;/P&gt;&lt;P&gt;      wa_acct_assx-costcenter = c_x.&lt;/P&gt;&lt;P&gt;      APPEND wa_acct_assx TO i_acct_assx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_services-pckg_no = 20.&lt;/P&gt;&lt;P&gt;      wa_services-line_no = 2.&lt;/P&gt;&lt;P&gt;      wa_services-service = wa_input_file-column9.&lt;/P&gt;&lt;P&gt;      wa_services-quantity = '100'.&lt;/P&gt;&lt;P&gt;      wa_services-gr_price = '100'.&lt;/P&gt;&lt;P&gt;      wa_services-userf1_txt = wa_input_file-column13.&lt;/P&gt;&lt;P&gt;      APPEND wa_services TO i_services.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_srvacc-pckg_no = 20.&lt;/P&gt;&lt;P&gt;      wa_srvacc-line_no = 1.&lt;/P&gt;&lt;P&gt;      wa_srvacc-serno_line = 02.&lt;/P&gt;&lt;P&gt;      wa_srvacc-serial_no = 02.&lt;/P&gt;&lt;P&gt;      wa_srvacc-percentage = 100.&lt;/P&gt;&lt;P&gt;      APPEND wa_srvacc TO i_srvacc.&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;  CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      poheader                     = wa_header&lt;/P&gt;&lt;P&gt;      poheaderx                    = wa_headerx&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POADDRVENDOR                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TESTRUN                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MEMORY_UNCOMPLETE            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MEMORY_COMPLETE              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POEXPIMPHEADER               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POEXPIMPHEADERX              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VERSIONS                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_MESSAGING                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_MESSAGE_REQ               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_PRICE_FROM_PO             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     exppurchaseorder             = ws_po&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPHEADER                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPPOEXPIMPHEADER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;P&gt;     return                       = i_return&lt;/P&gt;&lt;P&gt;     poitem                       = i_poitem&lt;/P&gt;&lt;P&gt;     poitemx                      = i_poitemx&lt;/P&gt;&lt;UL&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                   = i_poitem_sch&lt;/P&gt;&lt;P&gt;     poschedulex                  = i_poitem_schx&lt;/P&gt;&lt;P&gt;     poaccount                    = i_acct_ass&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POACCOUNTPROFITSEGMENT       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     poaccountx                   = i_acct_assx&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POCONDHEADER                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POCONDHEADERX                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POCOND                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POCONDX                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POLIMITS                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POCONTRACTLIMITS             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     poservices                   = i_services&lt;/P&gt;&lt;P&gt;     posrvaccessvalues            = i_srvacc&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POSERVICESTEXT               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSIONIN                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSIONOUT                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POEXPIMPITEM                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POEXPIMPITEMX                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POTEXTHEADER                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POTEXTITEM                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ALLVERSIONS                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POPARTNER                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  break gbpra8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_return INTO wa_return.&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.                    " split_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  conversion_output&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;      Conversion exit 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;FORM conversion_output  USING    p_ip&lt;/P&gt;&lt;P&gt;                        CHANGING p_op.&lt;/P&gt;&lt;P&gt;&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_ip&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      output = p_op.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " conversion_output&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points if this helps.&lt;/P&gt;&lt;P&gt;Manish&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2007 08:57:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2940657#M693247</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-16T08:57:03Z</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/2940658#M693248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report ZMMR_DELETEPO                                               *&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;  Author                    : Bikash Agarwal&lt;/P&gt;&lt;P&gt;*&amp;amp;  Description               : VTLS PO Change&lt;/P&gt;&lt;P&gt;*&amp;amp;  Program Objective         : Places a DELETION indicator for the PO&lt;/P&gt;&lt;P&gt;*&amp;amp;                              items given in the VTLS data&lt;/P&gt;&lt;P&gt;*&amp;amp;  Remarks                   : NA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT 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;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="417027"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please give me reward points...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2007 08:57:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2940658#M693248</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-16T08:57:08Z</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/2940659#M693249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The value to be assigned to the field should be in caps 'K'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and for changing the value that field value BAPIMEPOITEMX-ACCTASSCAT = 'X' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You have to give 'X' for the fields which you are changing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_hope this will help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewards points if useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-umesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2007 09:00:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2940659#M693249</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-16T09:00:13Z</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/2940660#M693250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i put in poitem-ACCTASSCAT = 'K'.&lt;/P&gt;&lt;P&gt;poitem_x-ACCTASSCAT = 'x'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;poaccount-costcenter = '168610'&lt;/P&gt;&lt;P&gt;poaccount_x-costcenter = 'x'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;maybe its not enough and i need more data to give in the bapi?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2007 09:10:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2940660#M693250</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-16T09:10:49Z</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/2940661#M693251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;umesh, do you have ant idea why is not work?&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;dana.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2007 10:24:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2940661#M693251</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-16T10:24:17Z</dc:date>
    </item>
  </channel>
</rss>

