Highlighted
Contributor.
Contributor.
437 views

Fatal error - CXmlApiException was raised in native code : error 38 : scxmlapi(38)

I have a requirement to allow an interaction to be escalated to an incident by passing in an activity update of the correct type 'Escalate'.

I have written a trigger to call a javascript and perform various actions based on the activity type passed in.

I've tried to do this in various ways. 1. calling the add.escalate.incident action of the interaction 2. explicitly doing an add of the incident record and an screlation record in the script.

In both cases if I call my javascript from a test harness it works - I get my new incident and my relationships. But when I pass in an activity record via RESFful webservices I get the error 38 below.

 "A CXmlApiException was raised in native code : error 38 : scxmlapi(38) - The data in the 'resolution' field of record AMSINC0000400 - {\"DW testing - do not touch!\"} of file probsummary contains data that does not conform to the dbdict"

I'm not populating the resolution array of the probsummary record in my code (though I have tried to do so for testing - it still breaks). The value it reports it is trying to put into the resolution field {\"DW testing - do not touch!\"}  is the contents of the description from the interaction record - I am populating this into the actions array on the probsummary table in my code.

I don't understand why the behaviour is different when I pass in the activity v direct call of the javascript, what else is happening that I don't see?

I don't understand this error - resolution on probsummary and description on incidents are both arrays, and set as such in my dbdict. If it would create the record with the wring values in there I might be able to work around it...

Any suggestions appreciated. I found another thread where someone had a similar issue, but this aspect wasn't resolved. 

/t5/Service-Manager-Service-Center/information-is-not-getting-captured-in-activity-tab-when-an/m-p/4722742/highlight/false#M49319

 

0 Likes
2 Replies
Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Re: Fatal error - CXmlApiException was raised in native code : error 38 : scxmlapi(38)

Did you try tracing to figure out when the error is thrown?
0 Likes
Highlighted
Absent Member.
Absent Member.

Re: Fatal error - CXmlApiException was raised in native code : error 38 : scxmlapi(38)

Hi,

just to make sure, that I understand you correctly:

  1. You have an interaction (for example: SD-0001)
  2. Via a RESTful Call, you're adding a new activity record to this interaction (SD-0001)
    with a activity description and as activity type "Escalate"

Now you're trying to escalate the Interaction via a trigger record in the activity table.

I checked it (but didn't tested it yet) in SM9.41.

What you can try is the following:

In you're trigger, you're calling a ScriptLibrary which contains the following:

var $ = system.library.c.$;

escalateInteractionViaActivity();
function escalateInteractionViaActivity(fActivity) {
	
	//var objInteraction = $('incidents').select('incident.id="'+fActivity['thenumber']+'"');
	var objInteraction = $('incidents').select('incident.id="SD10432"');

	if( objInteraction.success ) {

		var fInteraction = objInteraction['scfile'];
		
		try {
			var rcAction = fInteraction.doAction("Escalate");
			print("Return: "+rcAction);
		} catch( e ) {
			print(e);
		}

	} else {
		//Oops, something went wrong
		return false;
	}
}

I have tested it on a SM 9.41 OOB system.
My Interaction had as category "incident". After filling all required fields in foreground,
i was able to Escalate the Interaction to an Incident via this code (run in foreground).

 

Btw:

1. calling the add.escalate.incident action

This action is only available in the open state ($L.mode="add")

 

Maybe this helps.

If I unterstood something wrong, please feel free to correct me.
If possible, maybe you can share some screenshots from the triggers and maybe you can paste your code 🙂

 

Greets,
Marcus

The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.