<?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/12470573#M2000935</link>
    <description>&lt;PRE&gt;&lt;CODE&gt;Hi Guys,

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.

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;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 11 Sep 2021 09:01:24 GMT</pubDate>
    <dc:creator>divsmart</dc:creator>
    <dc:date>2021-09-11T09:01:24Z</dc:date>
    <item>
      <title>BAPI PO  CHANGES</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12470573#M2000935</link>
      <description>&lt;PRE&gt;&lt;CODE&gt;Hi Guys,

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.

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;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 11 Sep 2021 09:01:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12470573#M2000935</guid>
      <dc:creator>divsmart</dc:creator>
      <dc:date>2021-09-11T09:01: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/12470574#M2000936</link>
      <description>&lt;P&gt;Sorry but it's impossible to read and understand the question since it's formatted as code and therefore became one very long (and therefore unreadable) line. Please fix the text if you're expecting any answers.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Sep 2021 21:02:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-changes/m-p/12470574#M2000936</guid>
      <dc:creator>Jelena_Perfiljeva</dc:creator>
      <dc:date>2021-09-14T21:02:12Z</dc:date>
    </item>
  </channel>
</rss>

