cancel
Showing results for 
Search instead for 
Did you mean: 

IPC overwriteConditionValue doesn't update CRM condition value

former_member196079
Active Contributor

Hi experts

I'm replicating a new custom ECC pricing formula in CRM.

No problems with others formulas, but with this new one, i'm not able to update the condition value in CRM.

The condition is a discount condition, and following oss note 80183, i've implemented my formula to round the value.

The problem is that, even if the java formula returns correctly the value rounded, CRM dosn't update the condition value (not the condition rate) with this value.

i've even tried this code:

pricingCondition.setInactive(PricingCustomizingConstants.InactiveFlag.INACTIVE_DUE_TO_ERROR); 

return new BigDecimal("-990");

CRM correctly deactivate the condition and update the old value with -990.

BUT

whit this code

return new BigDecimal("-990");

CRM keep the old condition value and doesn't update the condition with -990..

I really understand what's going wrong. Anybody can help me?

Best regards

Marco

michael_piesche
Active Contributor
0 Kudos

menegazzo.marco, please follow up on your open question.

  • comment answers or your question if there are still open issues.
  • otherwise mark an answer as accepted if it helped you solve your problem
  • or post an answer of yourself and accept it if you found another useful solution yourself
  • or redirect your question to another question that is related and was useful to solve your problem
  • in the end, close your question

Accepted Solutions (0)

Answers (2)

Answers (2)

michael_piesche
Active Contributor
0 Kudos

I have not come across a problem like yours so far.
I assume your class and method for IPC is setup like this?

package customernamespace.pricing.userexit.value;

import java.math.BigDecimal;
import com.sap.spe.pricing.transactiondata.userexit.IPricingConditionUserExit;
import com.sap.spe.pricing.transactiondata.userexit.IPricingItemUserExit;
import com.sap.spe.pricing.transactiondata.userexit.ValueFormulaAdapter;

public class ConditionValue extends ValueFormulaAdapter {

	public BigDecimal overwriteConditionValue(IPricingItemUserExit item, IPricingConditionUserExit condition) {
		
		return condition.getConditionValue().getValue();
	}
}

Further Information

Can you give further information on what exactly is the condition value in in your method and to what value it should be changed. And what is displayed in the CRM pricing for your condition. Do you notice any other rounding happening except the one you intend? If the order is replicated to ERP, does the rounding work there as intended and only happens in the corresponding condition value formula? Or also, it works in CRM initially, but is overwritten by ERP after replication.

Did you turn on tracing for price analyis in CRMD_ORDER for your user with Parameters PRC_CALC_TRACE = X and PRC_TRACE = X (see https://answers.sap.com/questions/8528937/steps-for-price-analysis.html for further information).

ERP/CRM Condition Technique Customizing:

How is the customizing of the condition and the step in the calculation scheme. Is there for example a rounding rule, a group condition routine, or a scale formula defined for the condition. If so, and those are standard rules, this will of course also be processed in CRM. How is the customizing of the step in the calculation scheme regarding the formulas? Have all formulas been also implemented in IPC according to those in ERP, not only condition value formulas but also condition base value formulas?

former_member196079
Active Contributor
0 Kudos

No one can help me?