Supply Chain Management Blogs by SAP
Expand your SAP SCM knowledge and stay informed about supply chain management technology and solutions with blog posts by SAP. Follow and stay connected.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

Deviation while confirming prices differs a little bit to deviations in quantities or dates:

You need to activate the Validation Check PO_PRICE_CONFIRMATION. This validation check does not send the PO into 'Manual Approval Required', if the confirmed price lies outside the limit, only issues an error/warning message (depending on the setting of the check, in the standard it is a warning when saving the PO and error when publishing it.)

However if this behavior does not match your expectations, you can implement the APPROVE_CONFIRMATION method of the BAdI /SCA/ORDER with thecode:

METHOD /sca/if_ex_order~approve_confirmation.
TYPES ls_item TYPE /scmb/dm_order_itm_str.
DATA: lv_add_protocol      TYPE boolean,
        ls_order             TYPE /scmb/dm_order_str,
        ls_item_ref          TYPE REF TO ls_item,
        lo_order             TYPE REF TO /sca/cl_svorder.
CREATE OBJECT lo_order.
READ TABLE /sca/cl_svorder=>mpt_order_buffer INTO ls_order
      WITH KEY order_id = iv_orderid.
IF sy-subrc = 0.
     CALL METHOD lo_order->set_current_order
      EXPORTING
        is_order = ls_order.
     CALL METHOD lo_order->set_current_order_item
      EXPORTING
        is_order_itm = is_item.
     CALL METHOD lo_order->confirm_price
      IMPORTING
        ev_add_protocol = lv_add_protocol.
     IF lv_add_protocol IS NOT INITIAL.
      cv_item_approval_status = /sca/cl_svorder=>gc_appr_man.
    ENDIF.
   ENDIF.
ENDMETHOD.