Enhancing CRM Action Container
CRM Actions are really usefull functionality when we need running some codes in specific conditions. We have lots of options on customize conditions.
CRM consultants are of course familier with action customizing.
We are defining our action profiles then defining conditions. We can define start or schedule conditon. System is allowing standart parameters based on object type.
But what if we have z-fields and we want to use these fields in condition?
We will do below steps:
1- Create your parameter in condition definition page.
It’s really easy to define new parameter. There is a create button bottom right side.
You can use order structure and field as reference.
After defining your parameter you can use this parameter in your condition.
2- Create an implementation on badi CONTAINER_PPF to set your parameter.
This badi has a filter on business object (eg:BUS2000116 for CRM service process)
Here some code patterns,
* ——- Get the order GUID ———-
call method ci_container->get_value
element_name = ‘BUSINESSOBJECT’
data = ls_object.
lv_guid = ls_object–instid.
append lv_guid to lv_headerguid.
* —– Get the Parameters from container
call method ci_parameter->get_values
values = lt_value.
you can use ‘CRM_ORDER_READ’ function to read order details.
and finally you can set a specific custom field. It’s important element name should be your parameter name.
call method ci_parameter->set_value
element_name = ‘Z_DAGITIMSIRKETI’
data = ls_orderadm_h–zzafld000060
retcode = lv_return.