cancel
Showing results for 
Search instead for 
Did you mean: 

SAP CPQ 2.0 & VCP - Why does the mapped Internal Price Condition Type show no value on CPQ quote?

Alexander_0001
Participant
0 Kudos

Dear SAP Community,
I have mapped a Condition Type (ZCIP) for Internal Pricing to a Custom Item Field on a SAP CPQ Quote:



The mapping has been set accordingly in the Pricing Procedure Mapping of SAP CPQ:



A Internal Price exist in S/4HANA for the respective Product and is displayed on in the Item Conditions of a Sales Order.

This are the settings in the Pricing Procedure:



This are the Settings of the Condition Type it self:



Other Pricing information are transferred successfully via Variant Configuration and Pricing Service but these information not. What could be the reason for this?

Accepted Solutions (1)

Accepted Solutions (1)

Michael_W
Product and Topic Expert
Product and Topic Expert

Hi alexander-maerz.

Follow fancy.zou's instructions. If Pricing service does not return a value for ZCIP, then logon to Pricing service's administration UI, enable the engine trace for pricing, repeat the test and check in the engine trace why nothing was found for ZCIP. Most likely it requires some pricing attributes to be passed from CPQ which were not configured yet.

See also Trace for Pricing Service | SAP Help Portal.

Furthermore, checking assigned requirement formula 4 in Pricing Requirements | SAP Help Portal, you see that you must pass a pricing attribute called INDICATOR_IC. The requirement returns true if that inter company flag was provided as 'X'. I.e. you must pass INDICATOR_IC = 'X' on item level from CPQ to Pricing service if you want ZCIP become active. See Reference Characteristics and Pricing Attributes | SAP Help Portal.

Br,

Michael

Alexander_0001
Participant
0 Kudos

Hi Michael,
Thank you very much for your very valuable reply!
I have enhanced the general attributes mapping as you have described:

And it is considered in the call towards SAP VCP(CPS) to get document pricing

Request Payload: {"items":[{"id":"1302","externalId":"1302","quantity":{"value":1.0,"unit":"PCE"},"grossWeight":null,"netWeight":null,"volume":null,"sortOrder":"","productDetails":{"productId":"ABC","baseUnit":"PCE","alternateProductUnits":null},
"attributes":[
{"name":"KOMK-KUNNR","values":["1000000010"]},
{"name":"KOMK-WAERK","values":["GBP"]},
{"name":"KOMP-PRSFD","values":["X"]},
{"name":"KOMK-VKORG","values":["2110"]},
{"name":"KOMK-VTWEG","values":["10"]},{"name":"KOMP-PMATN",
"values":["ABC"]},{"name":"INDICATOR_IC","values":["X"]}],
"accessDateList":[
{"name":"KOMK-PRSDT","value":"2023-11-30"},
{"name":"KOMK-FBUDA","value":"2023-11-30"}],
"variantKeyFactors":null,
"statistical":false,
"externalConditions":null,
"subItems":null}]}


The Response payload did not return a value for the Internal Price ZCIP. Now I have checked the pricing trace in SAP VCP and found the following:

<Step 
AccessSeqDesc=""
AccessSeqName=""
CondTypeDesc="Internal Price"
CondTypeName="ZCIP"
StepCount="0"
StepDesc=""
StepRequirementNo="4"
StepSuccess="false"
StepText="Condition ignored (requirement 4 not fulfilled)"
StepTimeStamp=""
Stepno="930"
UsageName="A"/>

This row: StepText="Condition ignored (requirement 4 not fulfilled)"

It should indicate what maybe still could be missing... Do you have an idea what I could check next based on this information?

Michael_W
Product and Topic Expert
Product and Topic Expert

Hi alexander-maerz. I would have expected that that works. Please create a ticket for a detailed analysis.

Alexander_0001
Participant
0 Kudos

Hi Michael,
I have checked the routine for costing and it shoes some other Elements it checks:

* Determine costs according to item category configuration (TVAP)
FORM kobed_004.
sy-subrc = 4.
IF komp-kposn NE 0.
CHECK: komp-werks NE space.
CHECK: komp-evrwr = 'X'.
CHECK: komp-fareg NA '45'.
TRY.
IF t001-bukrs = t001k-bukrs OR abap_true = NEW cl_sd_sls_ic_factory( )->get_instance_util( )->is_item_ic_relevant( is_vbapvb = VALUE #( transit_plant = komp-transit_plant ) ).
sy-subrc = 0.
ELSE.
sy-subrc = 4.
EXIT.
ENDIF.
CATCH cx_sd_doc_not_found.
ENDTRY.
ENDIF.
sy-subrc = 0.
ENDFORM.
* Prestep
FORM kobev_004.
sy-subrc = 0.
ENDFORM.


I think the most interesting elements are these three once.

CHECK: komp-werks NE space.

CHECK: komp-evrwr = 'X'.

CHECK: komp-fareg NA '45'.

The element you have suggested was INDICATOR_IC = 'X'
but I wonder if I would add entries into the General Attributes Mapping for:

komp-werks
komp-evrwr
komp-fareg

If it would work then. I have issues what good values would be for: komp-werks and komp-fareg I could add... Would you have a hint?

Michael_W
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi alexander-maerz,

you can check fields of data type KOMP with transaction SE11. komp-werks is the (delivery) plant, komp-fareg is 'Rule in billing plan/invoice plan' with possible values
1 Milestone billing on a percentage basis

2 Milestone billing on a value basis

3 Closing invoice in milestone billing

4 Down payment in milestone billing on percentage basis

5 Down payment in milestone billing on a value basis

6 Periodic billing (rent)

But I don't think that this requirement formula works the same way in Pricing service. INDICATOR_IC = 'X' should be sufficient.
Please create a support ticket to let experts check why it does not work in your case.
Br,

Michael

Answers (2)

Answers (2)

Fancy_Zou
Product and Topic Expert
Product and Topic Expert

Hi alexander-maerz,

Please check the issue following the steps below:

  1. In Setup->Pricing/Calculations->Pricing Procedures, make sure the column "Determination Formula" is set with a formula which can be parsed as 1 in the context of your testing quote for the expected mapping. The column determines whether the mapping will be used in different context.
  2. In Setup->Developer Tools->SAP Variant Configuration and Pricing Log, toggle on "Enable temporary logging for all calls".
  3. Trigger the External Reprice in the testing quote.
  4. Go back to Setup->Developer Tools->SAP Variant Configuration and Pricing Log, check the latest pricing response in the tab "Document Pricing". Here, you can first check whether SAP VCP(CPS) is responding with the expected condition value. If VCP returns the expected result, you can raise an SAP ticket for SAP CPQ component to check. If VCP returns 0 for ZCIP, you'll need to first check in VCP.

Best Regards

Fancy

yogananda
Product and Topic Expert
Product and Topic Expert
0 Kudos

alexander-maerz

In CPS Stateless Pricing API - is it shown for that condition Type ZCIP ?