Hello everyone,
[Background]
I am in a project which is for VAT rate change.
We implement a new condition BADI to reset Price_date in the communication structure to change the tax date.
In the BADI we mapped varies date types(Such as Sales date) to PRICE_DATE.
so when some date type was changed the BADI will be run for new tax determination.
[Issue]
The problem is when we follow-up from a contract to a new contract or sales order, the PRICE_DATE are not changed in some cases.(Just as copy source's PRICE_DATE)
[Approach and question]
After made a investigation, we found that the issue maybe resolved in item copying control customize.
[CRM->Transactions->Copying Control for Business Transactions->Define Copying Control for Item Categories]
There is a filed that we can define condition copy rule.
- Do not copy conditions
- C: Only copy manual conditions
- D: Copy all conditions
- G: Copy conditions and redetermine Tax
By default all item category copy rule were set to C and D.
What would be the risk of setting D to G?
Is there any impact when changing D to G?
-----------------------------------------For testing purpose you can implement the BADI as below----------
[BADI Implementation detail]
1. Enable Performance-Optimized Condition Processing and Pricing
2.Define Customer-Specific Mapping of Condition Fiedls
Add a record for PRICE_DATE, we copy it from standard and add a filter for Condtion FILLING BADI like Z00001
The standard settings is mapping to PRICING-PRICE_DATE
#Before using the filter you have to define it in "Implement BAdis to influence Mapping of Condition Fields"
3.Implement a Condtion Filling badi(BADI:Filling of Condition Fields) CRM_CND_FLD_FILL
after determining the new Price_date, add the value to the return value RT_ATTR_VALUE.(You shouldn't leave it as blank or condition will be lost )
For testing purpose, you can set a constant value in it.
4.If you want to trigger your BADI when some filed changed, you have to implement a new BADI (CRM_CND_OBJ_REG)