CA Service Catalog Report an Issue with additional mandatory ServiceDesk field

Document ID : KB000095030
Last Modified Date : 17/05/2018
Show Technical Document Details
Issue:
The ootb CA Service Catalog(SC) offering "Report an Issue" has problems to create an incident in CA Service Desk Manager(SDM).
Due to having an additional mandatory field => call_back_date in SDM.
Is there any possibility to add this to the Catalog offering?
Environment:
Windows running EEM, CA Service Catalog and CA Service Desk Manager.
Cause:
The root cause is due to having an additional mandatory field => call_back_date in SDM.
Resolution:
Solution, in short:
We added our mandatory fields from SDM into the SC form and it works.
Additional Information:
Further explaining this:
The following error is recognized in SC's view.log file: 'CreateIncidentAction AHD03123'.

As to the 'CreateIncidentAction AHD03123' the following goes. 
Two explanation are available for this. 

The first one reads: 
====================
The error is occurring from the SOAP call to create the service desk ticket, because of these required fields which are not taken into account in the default SC-request. 

When you create the SC-request, the service then (through event rule actions) calls a java plugin that picks up the fields from the forms in that service and makes the call to open the SDM-ticket. 
In this case, to take into account these additional fields, you would need to copy the default SC-service and modify the forms in it to include these additional fields. 
You would then modify the SC-service(option) to point to this new form. 

More importantly, you would need to write a new custom java plugin (and setup the event-rule-action for it). 
Which takes these additional fields into account and uses them in the SOAP call to open the ticket. 

If the plugin code is in the content pack then you could copy that one and modify it to deal with these new fields. 
If it's not, then it would probably be easier to call a PAM job instead of writing a new plugin. 
A custom PAM job instead is the other option. 

The second explanation reads: 
=============================
According to the definition of this functionality, when you raise a request to "report an issue", the event rule "When Category is Service Management Content and Status is Pending Fulfillment" should be triggered on catalog side. 
It will invoke action in it and it is basically to use the Java Plugin "com.ca.usm.ruleEngine.action.sdm.CreateIncidentAction". 
Which performs the web service call to create the service desk ticket accordingly. 
API Plug-ins can help you to fill certain information on customized Forms or Policies for specific tasks on your service approval lifecycle. 
There are some embedded function (can't be modified) that perform different actions. 
For example, there is a Java plug in called "com.ca.usm.ruleEngine.action.sdm.CreateIncidentAction", 
which is charge of create a SDM ticket associated to certain request. 
This plug in is triggered by the OOTB policy "When Category is Service Management Content and Status is Pending Fulfillment". 
On the other hand, the plug ins you can create let you read information from the outside (local or remote data sources) 
in order to use what it reads as a value for some variables. 
In our official documentation is explained in detail how to use this kind of plugins: 
- Use API Plug-ins to Load Data into Policies and Forms 
https://docops.ca.com/ca-service-management/14-1/en/building/building-ca-service-catalog/use-api-plug-ins-to-load-data-into-policies-and-forms 
- Additionally, the plug ins can be used for certain type of form elements (like Dual List or Dynamic Tables), which can be configured to use the OOTB plug ins or one created by you. Here you can read how use them specifically on those form elements: 
https://docops.ca.com/ca-service-management/14-1/en/using/service-catalog-management/manage-forms/elements-of-a-form 
NOTE: Under 'Dual List' or 'Dynamic Tables'. 
- Also, on the following document you can read specifically an example of how a plug in can be used to read external data sources: 
https://docops.ca.com/ca-service-management/14-1/en/using/reporting/reporting-using-ca-service-catalog/manage-data-objects 
- Here is a techdoc that explains how to work with a plugin directly in Catalog's UI: 
https://support.ca.com/us/knowledge-base-articles.tec1267716.html