SAP Knowledge Base Article - Public

3580006 - Purchase Order Price Enhancement in SAP S/HANA Cloud Public Edition

Symptom

Cannot find where to define the routine for purchasing price.

Environment

SAP S/4HANA Cloud Public Edition

Reproducing the Issue

  1. Create a new custom logic for condition calculation in the define alternative calculation BADI PRCG_DOC_ITEM_CONDITION_AMOUNT adding a unique filter.
  2. Create a new calculation Routine (example 3000001) configuration node 'Set Alternative Calculation of Condition Amount' (SSCUI 102430) assign the enhancement identifier here the same as the filter defined in the BADI.
  3. Copy a new Pricing Procedure SSCUI 101095.
  4. Include the newly created routine against the condition in the Alt.Calc.Cndn.Amnt field.
  5. Assign the new pricing procedure determination to a test supplier.
  6. Create a purchase order to check custom calculation of  routine. 

Cause

Standard system behavior.

Resolution

 In Purchase Order Price enhancement'' There are 2 BAdis which can be used 

PRCG_DOC_ITEM_CONDITION_AMOUNT and MM_PUR_S4_PO_DEFINE_CNDNCTR.

This Business Add-In (BAdI) is used in the Purchasing (MM_PUR_PO) component.

  BAdI MM_PUR_S4_PO_DEFINE_CNDNCTR  can be use to control the price determination process when creating or changing a purchase order.

When a purchase order is created or changed, the system carries out a price determination process at various points in the process. The type of price determination (pricing type) depends on the relevant status of the ordering transactions. Among others, the following types are possible:

  • Pricing type B (Carry out new pricing): Always invoked when  create a new PO item
  • Pricing type C (Copy manual pricing elements and redetermine the others): Invoked when change data that can influence the price determination process at item level, for example when change the account assignment category)

Using this BAdI, define the conditions for triggering a price determination process that differ from those of the standard system. Pricing type can be specify in this case. This is of interest, when determine prices via conditions and, in the process, make use of fields that are not taken into account in the condition tables supplied.

 for example, reference the Incoterms in the condition table, trigger a new price determination process if this value changes. This BAdI enables  to intervene at this point.

Standard Settings

  • In the standard system the BAdI is not active
  • The BAdI is not filter-dependent
  • The BAdI can be used multiple times

For  specific calculation requirement that falls outside the standard calculation of the pricing engine 
it is possible to calculate the value of pricing condition using an alternative calculation routine. 
For an example of this check option 3 mentioned in this blog below: 
https://blogs.sap.com/2019/10/18/china-tax-included-purchasing-pricewith-chinese-translation/
This blog is about a different subject but the process would be the same for requirement. 
The BADI BADI PRCG_DOC_ITEM_CONDITION_AMOUNT is an SD BADI but works also for MM. 

The high level steps for this would be as follows: 
1. Create a new custom logic for condition calculation in the define alternative calculation BADI PRCG_DOC_ITEM_CONDITION_AMOUNT adding a unique filter  
2. Create a new calculation Routine (example 3000001) configuration node 'Set Alternative Calculation of Condition Amount' (SSCUI 102430) assign the enhancement identifier here the same as the filter defined in the BADI    
3. Copy a new Pricing Procedure  SSCUI 101095 
4. Include the newly created routine against the condition in the Alt.Calc.Cndn.Amnt field 
5. Assign the new pricing procedure determination to a test supplier 
6. Create a purchase order to check custom calculation of  routine .

Activities

For information about implementing BAdIs as part of the Enhancement Concept, see SAP Library for SAP NetWeaver under BAdIs - Embedding in the Enhancement Frame.

Keywords

KBA , MM-PUR-GF-CE-2CL , Customer Enhancements (Public Cloud) , Problem

Product

SAP S/4HANA Cloud Public Edition 2502