ServiceGrid Article - Creating one or several Child(ren) via CallAction using XSLT

From DocWiki

Jump to: navigation, search

Contents

Overview

With Release 5.2, an additional option for creating child calls from CallAction based on templates, ContractElement lists or Device lists is available.

Use case

Opening mass Incidents as child calls to existing calls is complex using the online interface SD², even if defined relations of those calls are given as master data or equivalent information. For more usability of help desk agents, this functionality is now available using templates or multiple choice lists of ContractElements or devices (and optional root or sub-entries).

Usage

Create Child from CallAction based on XML-templates including Delivery of Contracts and ContractElements

The setting is made in CallActions using the checkbox CreateChildren. It is possible to include a template to create the Child Tickets in CallActions. It is important to ensure that the SLAs must be passed through the template.

Create Child from CallActions based on templates and Child Setups List

The setting is made in CallActions using the check box CreateChildren. It is possible to include an XML template to create Child Calls in CallActions. Moreover, a CreateChildrenSetup (for ContractElements or Devices) can be used for multiple choice selection. If there is no setup defined, only the previous function (Create Child from CallAction based on XML templates including the delivery of Contracts and ContractElements) will be used.

Enhancements:

The SelectionOff method for lists can be used:

`empty-select-box' ­ `All'-entries are used
"SubEntries" (all sub contract elements or sub devices are displayed)
"RootEntries" (all root contract elements or root devices are displayed)

Behavior

The user simply uses CallActions having the appropriate setup.

Setup

To create a new template, the following details must be verified:

  • ContentType must be XML
  • Type must be Detail


XML Template Example

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="SD.call">
<sd.call-xml>
 <xsl:call-template name="CALL"></xsl:call-template>
</sd.call-xml>
</xsl:template>
<!-- ====================== CALL - Template ============= -->
<xsl:template name="CALL">
<call>
  <!-- ====================== Create Child Call ============= -->
  <parentcall.id><xsl:value-of select="ID"></xsl:value-of></parentcall.id>
  <calls.custcallid><xsl:value-of select="ID"></xsl:value-of></calls.custcallid>
  <!-- ====================== CHD ============= -->
  <calls.chdshortname><xsl:value-of select="CHDShortName"></xsl:value-of></calls.chdshortname>
  <calls.chdfirstname><xsl:value-of select="CHDFirstName"></xsl:value-of></calls.chdfirstname>
  <calls.chdlastname><xsl:value-of select="CHDLastName"></xsl:value-of></calls.chdlastname>
  <!-- ====================== Caller ============= -->
  <calls.callershortname><xsl:value-of select="CallerShortName"></xsl:value-of></calls.callershortname>
  <calls.callerfirstname><xsl:value-of select="CallerFirstName"></xsl:value-of></calls.callerfirstname>
  <calls.callerlastname><xsl:value-of select="CallerLastName"></xsl:value-of></calls.callerlastname>
  <calls.calleremail><xsl:value-of select="CallerEMail"></xsl:value-of></calls.calleremail>
  <calls.callertel><xsl:value-of select="CallerTel"></xsl:value-of></calls.callertel>
  <!-- ====================== Location ============= -->
  <calls.maincomplocation><xsl:value-of select="MainCompLocation"></xsl:value-of></calls.maincomplocation>
  <calls.maincomplocationname><xsl:value-of select="MainCompLocationName"></xsl:value-of></calls.maincomplocationname>
  <!-- ====================== Discription ============= -->
  <calls.description></calls.description>
  <!-- ====================== Remarks ============= -->
  <calls.remarks><xsl:value-of select="Description"></xsl:value-of></calls.remarks>
  <!-- ====================== Componente ============= -->
  <calls.maincomponent><xsl:value-of select="/SD.call/MainComponent"></xsl:value-of></calls.maincomponent>
  <calls.compsernr><xsl:value-of select="/SD.call/MainCompSerNr"></xsl:value-of></calls.compsernr>
  <calls.maincomptype><xsl:value-of select="/SD.call/MainCompType"></xsl:value-of></calls.maincomptype>
  <calls.maincompmodel><xsl:value-of select="/SD.call/MainCompModel"></xsl:value-of></calls.maincompmodel>
  <calls.maincompname><xsl:value-of select="/SD.call/MainCompName"></xsl:value-of></calls.maincompname>
  <calls.maincompmanufacturer><xsl:value-of select="/SD.call/MainCompManfacturer"></xsl:value-of></calls.maincompmanufacturer>
</call>
<!-- ========================== ENDE ================= -->
</xsl:template>
</xsl:stylesheet>

If you use a multiple choice list, then for each selected record, the ID is added automatically in the inbound XML. As many outbound messages are created as records are selected. For example:

<call>
<contractelements.id>4711</contractelements.id>
...
</call>
or
<call>
<devices.id>4711</devices.id>
...
</call>

If the CustCallID or SPCallID is used in the XML template, these values are made unique by adding a counter within all messages. For example:

<calls.custcallid>166788134</calls.custcallid>
becomes
<calls.custcallid>166788134/1</calls.custcallid>

The setting is made in CallActions using the checkbox CreateChildren. It is possible to include a template to create Child Calls in CallActions. Selection of different Create Child Setups for a multiple choice list is possible. Mass Incidents are always referred as Child Calls.

Enhancements: The SelectionOf method for lists can be used:

`empty-select-box' ­ `All'-entries are used
"SubEntries" (all sub contract elements or sub devices are displayed)
"RootEntries" (all root contract elements or root devices are displayed)

An inbound message trigger must be created. The trigger type is wait for inbound. The Converter must be SD.xml. We have a new communication type called INT-Internal-Message. After the trigger is created, a communication and the sender must be set.

Type: ID from sending communication - Internal Message.

It is important to set the correct address. If you are using New Child by Template, the Object ID must be in the Address field from the CallAction.  If you are using the multiple choice lists, the Object ID of the CallSystem must be set as address. Understand that the Object ID is based on the roles where the Inbound Message is created. If you select objects from different CallSystems in all these CallSystems,a wait for inbound - MessageTrigger (having correct address) is necessary .


Example (see above for the settings):

As a result, a simple Parent-Child-Call relation is visible.


For a complete list of Cisco ServiceGrid Articles, go to the List of Articles page.

Rating: 0.0/5 (0 votes cast)

Personal tools