<?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 CHANGES in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468467#M2000751</link>
    <description>&lt;P&gt;Hi Guys,&lt;/P&gt;
  &lt;P&gt;I have a requirement for PO changes ie.,User will have an Excel format and when we upload need to changes in ME22n . So i wrote an BAPI as below . But i am not getting 'Changes in PO screen' Please guidance me what mistake doing here. &lt;/P&gt;
  &lt;PRE&gt;&lt;CODE&gt;FORM get_form .

  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR    =
      i_line_header        = 'X'
      i_tab_raw_data       = it_raw
      i_filename           = p_file
    TABLES
      i_tab_converted_data = lt_bapi
    EXCEPTIONS
      conversion_failed    = 1
      OTHERS               = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE 'Please input the correct data' TYPE 'E'.
  ENDIF.
  LOOP AT lt_bapi INTO ls_bapi.

* =&amp;gt; Header Declarations.
    ls_bapimepoheader-po_number = ls_bapi-ebeln.
    ls_poheader-po_number = ls_bapi-ebeln.
    ls_poheader-purch_org = ls_bapi-ekorg.
    ls_poheader-pur_group = ls_bapi-ekgrp.
    ls_poheader-comp_code = ls_bapi-bukrs.
    APPEND ls_poheader TO lt_poheader.

*=&amp;gt;Header X Declartions.
    ls_poheader-po_number = 'X'.
    ls_poheaderx-purch_org = 'X'.
    ls_poheaderx-pur_group = 'X'.
    ls_poheaderx-comp_code = 'X'.
    APPEND ls_poheaderx TO lt_poheaderx.

*  =&amp;gt;Item Declartions.
    ls_poitem-po_item = ls_bapi-ebelp.
    ls_poitem-material = ls_bapi-matnr.
    ls_poitem-plant = ls_bapi-werks.
    ls_poitem-stge_loc = ls_bapi-lgort.
    ls_poitem-quantity = ls_bapi-menge.
    ls_poitem-po_unit = ls_bapi-meins.
    APPEND ls_poitem TO lt_poitem.

*=&amp;gt;Item X declartions.
    ls_poitemx-po_item = 'X'.
    ls_poitemx-material = 'X'.
    ls_poitemx-plant = 'X'.
    ls_poitemx-stge_loc = 'X'.
    ls_poitemx-quantity = 'X'.
    ls_poitemx-po_unit = 'X'.
    APPEND ls_poitemx TO lt_poitemx.

* =&amp;gt;Delivery date declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.
    ls_bapimeposchedule-delivery_date = ls_bapi-eindt.
    APPEND ls_bapimeposchedule TO lt_bapimeposchedule.

* =&amp;gt;Delivery date X declarations.
    ls_bapimeposchedulx-po_item = 'X'.
    ls_bapimeposchedulx-delivery_date = 'X'.
    APPEND ls_bapimeposchedulx TO lt_bapimeposchedulx.

*    BREAK-POINT.
    CALL FUNCTION 'BAPI_PO_CHANGE'
      EXPORTING
        purchaseorder = ls_bapimepoheader-po_number
        poheader      = ls_poheader
        poheaderx     = ls_poheaderx
*  IMPORTING
*       EXPHEADER     =
*       EXPPOEXPIMPHEADER            =
      TABLES
        return        = lt_return
        poitem        = lt_poitem
        poitemx       = lt_poitemx
*       POADDRDELIVERY               =
        poschedule    = lt_bapimeposchedule
        poschedulex   = lt_bapimeposchedulx. &lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 08 Sep 2021 18:41:31 GMT</pubDate>
    <dc:creator>divsmart</dc:creator>
    <dc:date>2021-09-08T18:41:31Z</dc:date>
    <item>
      <title>BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468467#M2000751</link>
      <description>&lt;P&gt;Hi Guys,&lt;/P&gt;
  &lt;P&gt;I have a requirement for PO changes ie.,User will have an Excel format and when we upload need to changes in ME22n . So i wrote an BAPI as below . But i am not getting 'Changes in PO screen' Please guidance me what mistake doing here. &lt;/P&gt;
  &lt;PRE&gt;&lt;CODE&gt;FORM get_form .

  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR    =
      i_line_header        = 'X'
      i_tab_raw_data       = it_raw
      i_filename           = p_file
    TABLES
      i_tab_converted_data = lt_bapi
    EXCEPTIONS
      conversion_failed    = 1
      OTHERS               = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE 'Please input the correct data' TYPE 'E'.
  ENDIF.
  LOOP AT lt_bapi INTO ls_bapi.

* =&amp;gt; Header Declarations.
    ls_bapimepoheader-po_number = ls_bapi-ebeln.
    ls_poheader-po_number = ls_bapi-ebeln.
    ls_poheader-purch_org = ls_bapi-ekorg.
    ls_poheader-pur_group = ls_bapi-ekgrp.
    ls_poheader-comp_code = ls_bapi-bukrs.
    APPEND ls_poheader TO lt_poheader.

*=&amp;gt;Header X Declartions.
    ls_poheader-po_number = 'X'.
    ls_poheaderx-purch_org = 'X'.
    ls_poheaderx-pur_group = 'X'.
    ls_poheaderx-comp_code = 'X'.
    APPEND ls_poheaderx TO lt_poheaderx.

*  =&amp;gt;Item Declartions.
    ls_poitem-po_item = ls_bapi-ebelp.
    ls_poitem-material = ls_bapi-matnr.
    ls_poitem-plant = ls_bapi-werks.
    ls_poitem-stge_loc = ls_bapi-lgort.
    ls_poitem-quantity = ls_bapi-menge.
    ls_poitem-po_unit = ls_bapi-meins.
    APPEND ls_poitem TO lt_poitem.

*=&amp;gt;Item X declartions.
    ls_poitemx-po_item = 'X'.
    ls_poitemx-material = 'X'.
    ls_poitemx-plant = 'X'.
    ls_poitemx-stge_loc = 'X'.
    ls_poitemx-quantity = 'X'.
    ls_poitemx-po_unit = 'X'.
    APPEND ls_poitemx TO lt_poitemx.

* =&amp;gt;Delivery date declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.
    ls_bapimeposchedule-delivery_date = ls_bapi-eindt.
    APPEND ls_bapimeposchedule TO lt_bapimeposchedule.

* =&amp;gt;Delivery date X declarations.
    ls_bapimeposchedulx-po_item = 'X'.
    ls_bapimeposchedulx-delivery_date = 'X'.
    APPEND ls_bapimeposchedulx TO lt_bapimeposchedulx.

*    BREAK-POINT.
    CALL FUNCTION 'BAPI_PO_CHANGE'
      EXPORTING
        purchaseorder = ls_bapimepoheader-po_number
        poheader      = ls_poheader
        poheaderx     = ls_poheaderx
*  IMPORTING
*       EXPHEADER     =
*       EXPPOEXPIMPHEADER            =
      TABLES
        return        = lt_return
        poitem        = lt_poitem
        poitemx       = lt_poitemx
*       POADDRDELIVERY               =
        poschedule    = lt_bapimeposchedule
        poschedulex   = lt_bapimeposchedulx. &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 08 Sep 2021 18:41:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468467#M2000751</guid>
      <dc:creator>divsmart</dc:creator>
      <dc:date>2021-09-08T18:41:31Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468468#M2000752</link>
      <description>&lt;PRE&gt;&lt;CODE&gt;*=&amp;gt;Item X declartions.
   ls_poitemx-po_item = ls_bapi-ebelp.
   ls_poitemx-po_itemx = 'X'.
   ls_poitemx-material = 'X'.
   ls_poitemx-plant = 'X'.
   ls_poitemx-stge_loc = 'X'.
   ls_poitemx-quantity = 'X'.
   ls_poitemx-po_unit = 'X'.
   APPEND ls_poitemx TO lt_poitemx.

* =&amp;gt;Delivery date declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.
    ls_bapimeposchedule-SCHED_LINE = EKET-ETENR. (get from EKET table).
    ls_bapimeposchedule-delivery_date = ls_bapi-eindt.
    APPEND ls_bapimeposchedule TO lt_bapimeposchedule.

* =&amp;gt;Delivery date X declarations.
    ls_bapimeposchedulx-po_item = ls_bapi-ebelp.
    ls_bapimeposchedulx-SCHED_LINE = EKET-ETENR.
    ls_bapimeposchedulx-po_itemx = 'X'.
    ls_bapimeposchedulx-SCHED_LINEX = 'X'.
    ls_bapimeposchedulx-delivery_date = 'X'.
    APPEND ls_bapimeposchedulx TO lt_bapimeposchedulx.

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Sep 2021 01:03:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468468#M2000752</guid>
      <dc:creator>pataselano</dc:creator>
      <dc:date>2021-09-09T01:03:24Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468469#M2000753</link>
      <description>&lt;P&gt;Senthil, as Andy pointed, you need to pass ETENR in schedule line structure. As you do not have ETENR in your excel, pass a constant like 0001 there. Also as you are passing data from excel, I guess there will be multiple PO to change. In that case your code has to change and BAPI call has to be inside the LOOP.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Sep 2021 04:20:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468469#M2000753</guid>
      <dc:creator>former_member576422</dc:creator>
      <dc:date>2021-09-09T04:20:45Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468470#M2000754</link>
      <description>&lt;P&gt;Hi Andy,&lt;/P&gt;&lt;P&gt;Thanks for response. I have passed as your guidance but the data not changes in PO screen &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR    =
      i_line_header        = 'X'
      i_tab_raw_data       = it_raw
      i_filename           = p_file
    TABLES
      i_tab_converted_data = lt_bapi
    EXCEPTIONS
      conversion_failed    = 1
      OTHERS               = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE 'Please input the correct data' TYPE 'E'.
  ENDIF.

  SELECT ebeln
         ebelp
         etenr INTO TABLE lt_eket FROM eket FOR ALL ENTRIES IN lt_bapi WHERE
                                                            ebeln = lt_bapi-ebeln ."AND
*                                                            ebelp = lt_bapi-ebelp.

  LOOP AT lt_bapi INTO ls_bapi.



* =&amp;gt; Header Declarations.
    ls_bapimepoheader-po_number = ls_bapi-ebeln.
    ls_poheader-po_number = ls_bapi-ebeln.
    ls_poheader-purch_org = ls_bapi-ekorg.
    ls_poheader-pur_group = ls_bapi-ekgrp.
    ls_poheader-comp_code = ls_bapi-bukrs.
    APPEND ls_poheader TO lt_poheader.

*=&amp;gt;Header X Declartions.
    ls_poheader-po_number = 'X'.
    ls_poheaderx-purch_org = 'X'.
    ls_poheaderx-pur_group = 'X'.
    ls_poheaderx-comp_code = 'X'.
    APPEND ls_poheaderx TO lt_poheaderx.

*  =&amp;gt;Item Declartions.
    ls_poitem-po_item = ls_bapi-ebelp.
    ls_poitem-material = ls_bapi-matnr.
    ls_poitem-plant = ls_bapi-werks.
    ls_poitem-stge_loc = ls_bapi-lgort.
    ls_poitem-quantity = ls_bapi-menge.
    ls_poitem-po_unit = ls_bapi-meins.
    APPEND ls_poitem TO lt_poitem.

*=&amp;gt;Item X declartions.
    ls_poitemx-po_item = 'X'.
    ls_poitemx-material = 'X'.
    ls_poitemx-plant = 'X'.
    ls_poitemx-stge_loc = 'X'.
    ls_poitemx-quantity = 'X'.
    ls_poitemx-po_unit = 'X'.
    APPEND ls_poitemx TO lt_poitemx.

* =&amp;gt;Delivery date declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.

    READ TABLE lt_eket INTO ls_eket WITH KEY ebeln = ls_bapi-ebeln
                                             ebelp = ls_bapi-ebelp.
    IF sy-subrc = 0.
      ls_bapimeposchedule-sched_line = ls_eket-etenr.
    ENDIF.

    ls_bapimeposchedule-delivery_date = ls_bapi-eindt.
    APPEND ls_bapimeposchedule TO lt_bapimeposchedule.

* =&amp;gt;Delivery date X declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.


    READ TABLE lt_eket INTO ls_eket WITH KEY ebeln = ls_bapi-ebeln
                                             ebelp = ls_bapi-ebelp.
    IF sy-subrc = 0.

      ls_bapimeposchedule-sched_line = ls_eket-etenr.
    ENDIF.
    ls_bapimeposchedulx-po_itemx = 'X'.
    ls_bapimeposchedulx-sched_linex = 'X'.
    ls_bapimeposchedulx-delivery_date = 'X'.
    APPEND ls_bapimeposchedulx TO lt_bapimeposchedulx.

*    BREAK-POINT.
    CALL FUNCTION 'BAPI_PO_CHANGE'
      EXPORTING
        purchaseorder = ls_bapimepoheader-po_number
        poheader      = ls_poheader
        poheaderx     = ls_poheaderx
*  IMPORTING
*       EXPHEADER     =
*       EXPPOEXPIMPHEADER            =
      TABLES
        return        = lt_return
        poitem        = lt_poitem
        poitemx       = lt_poitemx
*       POADDRDELIVERY               =
        poschedule    = lt_bapimeposchedule
        poschedulex   = lt_bapimeposchedulx.

    IF lt_return IS NOT INITIAL.
      READ TABLE lt_return INTO ls_return WITH KEY type = 'S'.
      IF sy-subrc = 0.


        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
        ls_alv-ebeln  = ls_bapi-ebeln.
        ls_alv-ekorg  = ls_bapi-ekorg.
        ls_alv-ekgrp  = ls_bapi-ekgrp.
        ls_alv-bukrs  = ls_bapi-bukrs.
        ls_alv-ebelp = ls_bapi-ebelp.
        ls_alv-matnr  = ls_bapi-matnr.
        ls_alv-message  = 'Po changes are made'.
        APPEND ls_alv TO lt_alv.
        CLEAR ls_alv.

      ELSE.

        LOOP AT  lt_return INTO ls_return WHERE type = 'E'.

          ls_alv-ekorg  = ls_bapi-ekorg.
          ls_alv-ekgrp  = ls_bapi-ekgrp.
          ls_alv-bukrs  = ls_bapi-bukrs.
          ls_alv-ebelp = ls_bapi-ebelp.
          ls_alv-matnr  = ls_bapi-matnr.
          ls_alv-ebeln = 'Changes are already made'.
          ls_alv-message = 'Error'.
          ls_alv-message1 = ls_return-message.

          APPEND ls_alv TO lt_alv.
          CLEAR ls_alv.

        ENDLOOP.
      ENDIF.
      CLEAR : ls_poheader,ls_poheaderx,ls_poitem,ls_poitemx,ls_bapimeposchedule,ls_bapimeposchedulx, ls_return .
      REFRESH : lt_poheader,lt_poheaderx,lt_poitem,lt_poitemx,lt_bapimeposchedule,lt_bapimeposchedulx.
    ENDIF.

    IF NOT lt_alv IS INITIAL.
      lt_alv1[] = lt_alv[].
    ENDIF.
  ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Sep 2021 05:47:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468470#M2000754</guid>
      <dc:creator>divsmart</dc:creator>
      <dc:date>2021-09-09T05:47:25Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468471#M2000755</link>
      <description>&lt;P&gt;Don't forget to call BAPI_TRANSACTION_COMMIT to commit the changes.&lt;/P&gt;&lt;P&gt;If the BAPI does not update data, what is important to know are the error message(s) you get in LT_RETURN.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Sep 2021 05:51:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468471#M2000755</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2021-09-09T05:51:21Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468472#M2000756</link>
      <description>&lt;P&gt;Hi Senthil,&lt;/P&gt;&lt;P&gt;The best way to know what to pass in each internal table is to follow the below steps:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Create a manual PO or take the exitsing PO for which you trying to create via the ABAP program.&lt;/LI&gt;&lt;LI&gt;Pass that PO in Transaction SE37 - BAPI_PO_GETDETAIL &lt;/LI&gt;&lt;LI&gt;Execute and check the entries populating in each internal table&lt;/LI&gt;&lt;LI&gt;Compare that with your ABAP program for BAP_PO-CREATE1 and pass the data the same way it was retrieved&lt;/LI&gt;&lt;LI&gt;This is the best way to create PO using BAPI, it worked for me always for each type of PO scenario I have ever encountered&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Thu, 09 Sep 2021 07:11:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468472#M2000756</guid>
      <dc:creator>vipinsaraika</dc:creator>
      <dc:date>2021-09-09T07:11:07Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468473#M2000757</link>
      <description>&lt;P&gt;Hi Vipin,&lt;/P&gt;&lt;P&gt;Thanks for response.&lt;/P&gt;&lt;P&gt;I doesn't need to get the data . i need to change the data's in PO screen.&lt;/P&gt;&lt;P&gt;Thanks. &lt;/P&gt;</description>
      <pubDate>Thu, 09 Sep 2021 07:41:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468473#M2000757</guid>
      <dc:creator>divsmart</dc:creator>
      <dc:date>2021-09-09T07:41:11Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468474#M2000758</link>
      <description>&lt;P&gt;Could you look for error before success, coul look like&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;IF lt_return IS NOT INITIAL. " some messages

  LOOP AT  lt_return INTO ls_return WHERE type = 'E'.

    ls_alv-ekorg    = ls_bapi-ekorg.
    ls_alv-ekgrp    = ls_bapi-ekgrp.
    ls_alv-bukrs    = ls_bapi-bukrs.
    ls_alv-ebelp    = ls_bapi-ebelp.
    ls_alv-matnr    = ls_bapi-matnr.
    ls_alv-ebeln    = ls_bapi-ebeln.
    ls_alv-message  = 'Error'.
    ls_alv-message1 = ls_return-message.
    APPEND ls_alv TO lt_alv.
    CLEAR ls_alv.

  ENDLOOP.

  IF sy-subrc NE 0. " no error

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait = 'X'.

    LOOP AT  lt_return INTO ls_return.

      ls_alv-ekorg    = ls_bapi-ekorg.
      ls_alv-ekgrp    = ls_bapi-ekgrp.
      ls_alv-bukrs    = ls_bapi-bukrs.
      ls_alv-ebelp    = ls_bapi-ebelp.
      ls_alv-matnr    = ls_bapi-matnr.
      ls_alv-ebeln    = ls_bapi-ebeln.
      CASE ls-return-type.
        WHEN 'S'.
          ls_alv-message  = 'Success'.
        WHEN OTHERS.
          ls_alv-message  = 'Warning'. " e.g. 'no change made..."
      ENDCASE.
      ls_alv-message1 = ls_return-message.
      APPEND ls_alv TO lt_alv.
      CLEAR ls_alv.

    ENDLOOP.

  ENDIF.


&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Sep 2021 08:57:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468474#M2000758</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2021-09-09T08:57:27Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468475#M2000759</link>
      <description>&lt;P&gt;The correct code is:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*=&amp;gt;Item X declartions.
   ls_poitemx-po_item = ls_bapi-ebelp.
   ls_poitemx-po_itemx ='X'.
   .......&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Your code is different with my above suggestion.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Sep 2021 09:57:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468475#M2000759</guid>
      <dc:creator>pataselano</dc:creator>
      <dc:date>2021-09-09T09:57:43Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468476#M2000760</link>
      <description>&lt;P&gt;Hi Andy ,&lt;/P&gt;&lt;P&gt;Sorry for coming again. Please see the code below. But however upload excel data's &lt;STRONG&gt;NOT &lt;/STRONG&gt;updating in PO screen. &lt;/P&gt;&lt;P&gt;Please advice me. &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR    =
      i_line_header        = 'X'
      i_tab_raw_data       = it_raw
      i_filename           = p_file
    TABLES
      i_tab_converted_data = lt_bapi
    EXCEPTIONS
      conversion_failed    = 1
      OTHERS               = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE 'Please input the correct data' TYPE 'E'.
  ENDIF.


  SELECT ebeln
         ebelp
         etenr INTO TABLE lt_eket FROM eket FOR ALL ENTRIES IN lt_bapi WHERE
                                                            ebeln = lt_bapi-ebeln AND
                                                            ebelp = lt_bapi-ebelp.


  LOOP AT lt_bapi INTO ls_bapi.
* =&amp;gt; Header Declarations.
    ls_bapimepoheader-po_number = ls_bapi-ebeln.
    ls_poheader-po_number = ls_bapi-ebeln.
    ls_poheader-purch_org = ls_bapi-ekorg.
    ls_poheader-pur_group = ls_bapi-ekgrp.
    ls_poheader-comp_code = ls_bapi-bukrs.
    APPEND ls_poheader TO lt_poheader.


*=&amp;gt;Header X Declartions.
    ls_poheaderx-po_number = 'X'.
    ls_poheaderx-purch_org = 'X'.
    ls_poheaderx-pur_group = 'X'.
    ls_poheaderx-comp_code = 'X'.
    APPEND ls_poheaderx TO lt_poheaderx.


*  =&amp;gt;Item Declartions.
    ls_poitem-po_item = ls_bapi-ebelp.
    ls_poitem-material = ls_bapi-matnr.
    ls_poitem-plant = ls_bapi-werks.
    ls_poitem-stge_loc = ls_bapi-lgort.
    ls_poitem-quantity = ls_bapi-menge.
    ls_poitem-po_unit = ls_bapi-meins.
    APPEND ls_poitem TO lt_poitem.


*=&amp;gt;Item X declartions.
    ls_poitemx-po_item = ls_bapi-ebelp.
    ls_poitemx-po_item = 'X'.
    ls_poitemx-material = 'X'.
    ls_poitemx-plant = 'X'.
    ls_poitemx-stge_loc = 'X'.
    ls_poitemx-quantity = 'X'.
    ls_poitemx-po_unit = 'X'.
    APPEND ls_poitemx TO lt_poitemx.


* =&amp;gt;Delivery date declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.


    READ TABLE lt_eket INTO ls_eket WITH KEY ebeln = ls_bapi-ebeln
                                             ebelp = ls_bapi-ebelp.
    IF sy-subrc = 0.
      ls_bapimeposchedule-sched_line = ls_eket-etenr.
    ENDIF.


    ls_bapimeposchedule-delivery_date = ls_bapi-eindt.
    APPEND ls_bapimeposchedule TO lt_bapimeposchedule.


* =&amp;gt;Delivery date X declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.




    READ TABLE lt_eket INTO ls_eket WITH KEY ebeln = ls_bapi-ebeln
                                             ebelp = ls_bapi-ebelp.
    IF sy-subrc = 0.


      ls_bapimeposchedule-sched_line = ls_eket-etenr.
    ENDIF.
    ls_bapimeposchedulx-po_itemx = 'X'.
    ls_bapimeposchedulx-sched_linex = 'X'.
    ls_bapimeposchedulx-delivery_date = 'X'.
    APPEND ls_bapimeposchedulx TO lt_bapimeposchedulx.


*    BREAK-POINT.
    CALL FUNCTION 'BAPI_PO_CHANGE'
      EXPORTING
        purchaseorder = ls_bapimepoheader-po_number
        poheader      = ls_poheader
        poheaderx     = ls_poheaderx
*  IMPORTING
*       EXPHEADER     =
*       EXPPOEXPIMPHEADER            =
      TABLES
        return        = lt_return
        poitem        = lt_poitem
        poitemx       = lt_poitemx
*       POADDRDELIVERY               =
        poschedule    = lt_bapimeposchedule
        poschedulex   = lt_bapimeposchedulx.


    IF lt_return IS NOT INITIAL.


      LOOP AT lt_return INTO ls_return WHERE type = 'E'.


        ls_alv-ebeln  = ls_bapi-ebeln.
        ls_alv-ekorg  = ls_bapi-ekorg.
        ls_alv-ekgrp  = ls_bapi-ekgrp.
        ls_alv-bukrs  = ls_bapi-bukrs.
        ls_alv-ebelp = ls_bapi-ebelp.
        ls_alv-eindt = ls_bapi-eindt.
        ls_alv-matnr  = ls_bapi-matnr.
        ls_alv-message  = 'Error'.
        APPEND ls_alv TO lt_alv.
        CLEAR ls_alv.
      ENDLOOP.


      IF sy-subrc NE 0.


        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
        LOOP AT lt_return INTO ls_return.


          ls_alv-ebeln  = ls_bapi-ebeln.
          ls_alv-ekorg  = ls_bapi-ekorg.
          ls_alv-ekgrp  = ls_bapi-ekgrp.
          ls_alv-bukrs  = ls_bapi-bukrs.
          ls_alv-ebelp = ls_bapi-ebelp.
          ls_alv-eindt = ls_bapi-eindt.
          ls_alv-matnr  = ls_bapi-matnr.


          CASE ls_return-type.
            WHEN 'S'.
              ls_alv-message = 'SUCCESS'.
            WHEN OTHERS.
              ls_alv-message = 'WARNING'.
          ENDCASE.
          ls_alv-message = ls_return-message.
          APPEND ls_alv TO lt_alv.
          CLEAR ls_alv.
        ENDLOOP.
     ENDIF.
     CLEAR : ls_poheader,ls_poheaderx,ls_poitem,ls_poitemx,ls_bapimeposchedule,ls_bapimeposchedulx, ls_return .
      REFRESH : lt_poheader,lt_poheaderx,lt_poitem,lt_poitemx,lt_bapimeposchedule,lt_bapimeposchedulx.
    ENDIF.


    IF NOT lt_alv IS INITIAL.
      lt_alv1[] = lt_alv[].
    ENDIF.
  ENDLOOP.


&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Sep 2021 16:59:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468476#M2000760</guid>
      <dc:creator>divsmart</dc:creator>
      <dc:date>2021-09-09T16:59:02Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468477#M2000761</link>
      <description>&lt;P&gt;Hi Raymond,&lt;/P&gt;&lt;P&gt;Thanks for response and Sorry for coming again. I done as advice but my excel file &lt;STRONG&gt;NOT &lt;/STRONG&gt;updating in PO screen.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
*     I_FIELD_SEPERATOR    =
      i_line_header        = 'X'
      i_tab_raw_data       = it_raw
      i_filename           = p_file
    TABLES
      i_tab_converted_data = lt_bapi
    EXCEPTIONS
      conversion_failed    = 1
      OTHERS               = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE 'Please input the correct data' TYPE 'E'.
  ENDIF.


  SELECT ebeln
         ebelp
         etenr INTO TABLE lt_eket FROM eket FOR ALL ENTRIES IN lt_bapi WHERE
                                                            ebeln = lt_bapi-ebeln AND
                                                            ebelp = lt_bapi-ebelp.


  LOOP AT lt_bapi INTO ls_bapi.
* =&amp;gt; Header Declarations.
    ls_bapimepoheader-po_number = ls_bapi-ebeln.
    ls_poheader-po_number = ls_bapi-ebeln.
    ls_poheader-purch_org = ls_bapi-ekorg.
    ls_poheader-pur_group = ls_bapi-ekgrp.
    ls_poheader-comp_code = ls_bapi-bukrs.
    APPEND ls_poheader TO lt_poheader.


*=&amp;gt;Header X Declartions.
    ls_poheaderx-po_number = 'X'.
    ls_poheaderx-purch_org = 'X'.
    ls_poheaderx-pur_group = 'X'.
    ls_poheaderx-comp_code = 'X'.
    APPEND ls_poheaderx TO lt_poheaderx.


*  =&amp;gt;Item Declartions.
    ls_poitem-po_item = ls_bapi-ebelp.
    ls_poitem-material = ls_bapi-matnr.
    ls_poitem-plant = ls_bapi-werks.
    ls_poitem-stge_loc = ls_bapi-lgort.
    ls_poitem-quantity = ls_bapi-menge.
    ls_poitem-po_unit = ls_bapi-meins.
    APPEND ls_poitem TO lt_poitem.


*=&amp;gt;Item X declartions.
    ls_poitemx-po_item = ls_bapi-ebelp.
    ls_poitemx-po_item = 'X'.
    ls_poitemx-material = 'X'.
    ls_poitemx-plant = 'X'.
    ls_poitemx-stge_loc = 'X'.
    ls_poitemx-quantity = 'X'.
    ls_poitemx-po_unit = 'X'.
    APPEND ls_poitemx TO lt_poitemx.


* =&amp;gt;Delivery date declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.


    READ TABLE lt_eket INTO ls_eket WITH KEY ebeln = ls_bapi-ebeln
                                             ebelp = ls_bapi-ebelp.
    IF sy-subrc = 0.
      ls_bapimeposchedule-sched_line = ls_eket-etenr.
    ENDIF.


    ls_bapimeposchedule-delivery_date = ls_bapi-eindt.
    APPEND ls_bapimeposchedule TO lt_bapimeposchedule.


* =&amp;gt;Delivery date X declarations.
    ls_bapimeposchedule-po_item = ls_bapi-ebelp.




    READ TABLE lt_eket INTO ls_eket WITH KEY ebeln = ls_bapi-ebeln
                                             ebelp = ls_bapi-ebelp.
    IF sy-subrc = 0.


      ls_bapimeposchedule-sched_line = ls_eket-etenr.
    ENDIF.
    ls_bapimeposchedulx-po_itemx = 'X'.
    ls_bapimeposchedulx-sched_linex = 'X'.
    ls_bapimeposchedulx-delivery_date = 'X'.
    APPEND ls_bapimeposchedulx TO lt_bapimeposchedulx.


*    BREAK-POINT.
    CALL FUNCTION 'BAPI_PO_CHANGE'
      EXPORTING
        purchaseorder = ls_bapimepoheader-po_number
        poheader      = ls_poheader
        poheaderx     = ls_poheaderx
*  IMPORTING
*       EXPHEADER     =
*       EXPPOEXPIMPHEADER            =
      TABLES
        return        = lt_return
        poitem        = lt_poitem
        poitemx       = lt_poitemx
*       POADDRDELIVERY               =
        poschedule    = lt_bapimeposchedule
        poschedulex   = lt_bapimeposchedulx.


    IF lt_return IS NOT INITIAL.


      LOOP AT lt_return INTO ls_return WHERE type = 'E'.


        ls_alv-ebeln  = ls_bapi-ebeln.
        ls_alv-ekorg  = ls_bapi-ekorg.
        ls_alv-ekgrp  = ls_bapi-ekgrp.
        ls_alv-bukrs  = ls_bapi-bukrs.
        ls_alv-ebelp = ls_bapi-ebelp.
        ls_alv-eindt = ls_bapi-eindt.
        ls_alv-matnr  = ls_bapi-matnr.
        ls_alv-message  = 'Error'.
        APPEND ls_alv TO lt_alv.
        CLEAR ls_alv.
      ENDLOOP.


      IF sy-subrc NE 0.


        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
        LOOP AT lt_return INTO ls_return.


          ls_alv-ebeln  = ls_bapi-ebeln.
          ls_alv-ekorg  = ls_bapi-ekorg.
          ls_alv-ekgrp  = ls_bapi-ekgrp.
          ls_alv-bukrs  = ls_bapi-bukrs.
          ls_alv-ebelp = ls_bapi-ebelp.
          ls_alv-eindt = ls_bapi-eindt.
          ls_alv-matnr  = ls_bapi-matnr.


          CASE ls_return-type.
            WHEN 'S'.
              ls_alv-message = 'SUCCESS'.
            WHEN OTHERS.
              ls_alv-message = 'WARNING'.
          ENDCASE.
          ls_alv-message = ls_return-message.
          APPEND ls_alv TO lt_alv.
          CLEAR ls_alv.
        ENDLOOP.
     ENDIF.
     CLEAR : ls_poheader,ls_poheaderx,ls_poitem,ls_poitemx,ls_bapimeposchedule,ls_bapimeposchedulx, ls_return .
      REFRESH : lt_poheader,lt_poheaderx,lt_poitem,lt_poitemx,lt_bapimeposchedule,lt_bapimeposchedulx.
    ENDIF.


    IF NOT lt_alv IS INITIAL.
      lt_alv1[] = lt_alv[].
    ENDIF.
  ENDLOOP.


&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Sep 2021 17:01:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468477#M2000761</guid>
      <dc:creator>divsmart</dc:creator>
      <dc:date>2021-09-09T17:01:28Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468478#M2000762</link>
      <description>&lt;P&gt;Because your question already have "Best Answer
", you have no problem again.&lt;/P&gt;&lt;P&gt;So, why you still need advice from me?&lt;/P&gt;</description>
      <pubDate>Fri, 10 Sep 2021 02:07:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468478#M2000762</guid>
      <dc:creator>pataselano</dc:creator>
      <dc:date>2021-09-10T02:07:49Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468479#M2000763</link>
      <description>&lt;P&gt;Where did you pass ls_bapimeposchedulx-sched_line-po_item and sched_line?&lt;/P&gt;</description>
      <pubDate>Fri, 10 Sep 2021 07:41:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468479#M2000763</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2021-09-10T07:41:20Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI PO CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468480#M2000764</link>
      <description>&lt;P&gt;Sorry I didn't get it. &lt;/P&gt;&lt;P&gt;Please explain in briefly it is an urgent. &lt;/P&gt;&lt;P&gt;Thanks, &lt;/P&gt;&lt;P&gt;Senthil. &lt;/P&gt;</description>
      <pubDate>Fri, 10 Sep 2021 12:31:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12468480#M2000764</guid>
      <dc:creator>divsmart</dc:creator>
      <dc:date>2021-09-10T12:31:47Z</dc:date>
    </item>
  </channel>
</rss>

