C4C: When PDI Finalize logic is re-triggered
Some background information recently obtained via an SAP incident regarding the finalize logic (finalize means that BeforeSave is triggered):
Some background information recently obtained via an SAP incident regarding the finalize logic (finalize means that BeforeSave is triggered):
In case you're facing a C4C dump (500 Internal Server Error), create an incident from it and find that the the Incident Context => /SAP/ABAP/RuntimeError file shows the error "Object instance creation of action rejection implementation class "<PDI solution namespace>_CL_ACTION_VALIDATION" of action "<PDI solution namespace>_<ID>" on node "ROOT" in BO "<BO>" failed" - you have to do a full solution activation to resolve the issue.
If you want to add an extension field to the standard c4codatapi service via Cloud Application Studio, you will find that "c4codataapi" is not listed in the ODATA dropdown when you create the ODATA Extension (.xodata) object.
Quick note to self: The SAP blog that mentioned that an exported solution is deployable in up to 2 future releases is here.
As C4C development systems (that are in development) use a different namespace than non-dev systems, simply copying or transporting an iflow from DEV to TEST (or PROD) will lose all extension field mappings.
You can either adjust your iflows manually. This involves uploading the test system WSDL to the iflow and re-mapping all extension fields from the DEV namespace to the test/production namespace, which is not recommended as it is very error-prone.
However, you can also do this automatically with a one-line change as follows:
The C4C object identifier webservice (CommunicationServicesManagementQueryObjectIdentifierMappingIn/Query Object Identifier Mappings) only works if you supply the correct Remote and Local ID type code. Thankfully, the documentation (linked above) provides a list of type codes for commonly used objects, however, the employee business object is missing.
To make it short, the type codes for employee are:
I came across this interesting article by Paul Hardy yesterday and in one of his screenshots he's using a pretty cool header/signature for his methods.
Surveys in C4C are a bit complicated. Here's a quick overview of the data structure (based on Ticket/ServiceRequest).
In case you're operating multiple tenants and find it tedious to monitor incidents created in each tenant separately, please check out SAP note 2611988, which explains the two available options Central Helpdesk Scenario - CHD and Customer Competence Center Scenario - CCC.
One of the things that's a bit annoying in C4C coding is that you can't check if a business document is locked. Or so I thought. I just googled this issue again and came across this blog post.