CRM: Action processing condition evaluation
CRM Action processing conditions are evaluated in function module SWJ_EVALUATE_PARA_CONDITION
For the actual evaluation set breakpoint in CL_SWF_RLS_BINARY_COMPOP=>IF_SWF_RLS_COMPOP~EVALUATE
CRM Action processing conditions are evaluated in function module SWJ_EVALUATE_PARA_CONDITION
For the actual evaluation set breakpoint in CL_SWF_RLS_BINARY_COMPOP=>IF_SWF_RLS_COMPOP~EVALUATE
If you want to sort on your BPATH statement, the explanatory article by SAP provides an example that starts from the root node. So if you want to sort a subnode (say to return the standard phone number (irrespective if it's mobile or landline), do it as follows:
BuilStandardAddressRel/BuilStandardAddressPhoneRel/~*[!STD_NO:DT,*]/@CALLER_NO
Explanation:
Attachments of a CRM order object cannot be retrieved via relation. You need to perform a separate BOL query.
This is how SAP ODATA converts the URL query string (e.g. $filter) into the nice select options that you can access in your ABAP code.
The flow is as follows:
Just a few random tricks how to work with the UI DEsigner scripts:
To get the callstack in ABAP, simply call the following line:
DATA(lt_callstack) = cl_abap_get_call_stack=>format_call_stack_with_struct( cl_abap_get_call_stack=>get_call_stack( ) ).
Then you can access the callstack the same way you see it in the debugger, e.g. the name of the program will be in lt_callstack-progname.
The entities/properties of ODATA services are stored in the tables starting with /IWBEP/I_SBO_*
Example:
The project can be selected in plain text, but to get the properties of a specific entity, you need to enter by the NODE_UUID of the entity (from table /IWBEP/I_SBO_ET) in field PARENT_UUID of table /IWBEP/I_SBO_PR .
Just a quick note: If you're looking to see in one place how the common operations such as read, create, save, rollback are done via BOL, look at how SAP is doing it in method CL_BOL_OBJECT_BROWSER=>ON_USER_COMMAND.
This is called when you click any of the buttons in the BOL Repository browser (TX GENIL_BOL_BROWSER).
First of all, this blog contains some of the steps required to configure pricing. But in case it goes away, I'm listing the steps here as well.
First item of note is that not all the steps in the blog are actually required, e.g. if your access sequence does not use product, you don't need to maintain anything at the product level. And some of the steps were missing (at least in my case).
Quick note: if you're trying to find out what's going on with your BPATH statement and you want to debug the traversal thereof, the central entrypoint is method CL_WCF_BPATH_PARSER=>STATUSMACHINE. This splits the string and acts on the segments.
Method CL_WCF_BPATH_PARSER=>PROCESS_ACTION is then called to delegate processing of the different segment types to different methods.