I have a requirement in my project regarding defining condition on the basis of standard fields available in u201CGeneral Datau201D assignment block of campaign.
I have to define condition for fields like tactics, communication medium, currency. These field are not available as standard while defining condition for an action. There is a way to add these standard field while defining condition.
Any pointer, how to add required standard fields in define condition.
Note 502389 - Actions: Using additional attributes for conditions - describes the solution suggested above.
There is another approach you can try. it is also possible to include additional fields in Action conditions in the Condition editor itself and fill these fields by using BAdi CONTAINER_PPF.
Note 865619 - Actions should only be scheduled if status is newly set - explains on how to use this BAdi ( the example may be different than yours ).
The idea is to create a parameter in condition editor and use the same in conditions.This parameter is filled dynamically through this BAdi. In the BAdi implementation you can read all the fields on general data and pass to this parameter.
Hope it helps
There are two solution approaches which i can think of:-
1) Enhance the BOR object for campaign. The object type for Campaing is BUS2010020.
You might have to take technical help here to enhance this and create a custom object. In that custom object you can bring the standard fields which are not normally appearing while scheduling conditions.
But the cons. with this appraoch are that it may take some time for this technical development. Also you will have to analyze the impact as this object might be used at multiple places and could be a big impact or small impact.
2) Create a custom FM where you can define your conditions using the fields which you are not seeing otherwise.
Call this FM when the start condition of the Action is met and this FM will perform those extra checks which you want and once those checks are met, only then then Action should execute.
Second approach looks simpler and with less impact. Hope this helps.