ServiceGrid Article - Syntax

From DocWiki

Jump to: navigation, search

Overview

 The following table provides field descriptions for CallOpen functionality:

SDTag
SD
Description
Type
Length
Example
Calls.CustCallID
M
Customer call identification code or number
varchar
30
4321
Contracts.ShortName
O
Short name of the contract between service customer and service provider
varchar
12
Service
ContractElements.ShortName
O
Short name of the ContractElement between service customer and service provider
varchar
12
SL1
Calls.Description
O
Incident description as free text
Text

Description text...
CallStates.ShortName
O
Service Providers call status code
varchar
20
Work External








The following XML code uses the ServiceGrid namespace:

 <call>
   <calls.custcallid>TT4711</calls.custcallid>
   <contractelements.shortname>SL1</contractelements.shortname>
   <contracts.shortname>Hardware</contracts.shortname>
   <calls.remarks>Screen jitters</calls.remarks>
 </call>


An example of XML code for CallOpen is as follows:

<call>
 <calls.custcallid>TT4711</calls.custcallid>
 <contractelements.shortname>SL1</contractelements.shortname>
 <contracts.shortname>Hardware</contracts.shortname>
 <calls.callopentime>2007-09-02 17:57</calls.callopentime>
 <calls.maincompmanufacturer>HAL</calls.maincompmanufacturer>
 <calls.maincomptype>001</calls.maincomptype>
 <calls.maincompsernr>66X6907</calls.maincompsernr>
 <calls.maincomponent>POS</calls.maincomponent>
 <calls.maincomplocationzip>1040</calls.maincomplocationzip>
 <calls.maincomplocationstreet>Maragaretenstrasse 28</calls.maincomplocationstreet>
 <calls.maincomplocationcity>Wien</calls.maincomplocationcity>
 <calls.maincomplocation>Filiale 4711</calls.maincomplocation>
 <calls.callerlastname>Miller</calls.callerlastname>
 <calls.callerfirstname>Henry</calls.callerfirstname>
 <calls.callertel>01 585 35 55</calls.callertel>
 <calls.ccplastname>Berger</calls.ccplastname>
 <calls.ccpfirstname>Gerhard</calls.ccpfirstname>
 <calls.ccptel>01 587 38 11</calls.ccptel>
 <customerpriorities.shortname>01</customerpriorities.shortname>
 <callstates.shortname>01</callstates.shortname>
 <severities.shortname>01</severities.shortname>
 <calls.remarks>Screen jitters</calls.remarks>
</call>

The following table provides field descriptions for CallUpdate functionality:

SDTag
SD
Description
Type
Length
Example
Calls.ID
M
Indicates ServiceDirect identification number
varchar
30
4321
Calls.Remarks
O
Indicates worklog text
Text
-





The following XML code uses the ServiceGrid namespace:

<call>
 <calls.id>81235367</calls.id>
 <callstates.shortname>in Progress</callstates.shortname>
</call>


This is a typical example for CallUpdate.


SDTag SD Description Type Length Example
Contracts.ShortName M Short name of the contract between service customer and service provider varchar 12 Service
ContractElements.ShortName O Short name of the ContractElement between service customer and service provider varchar 12 SL1
Contracts.CustIDProv O Customer ID in the provider view varchar 50 CUST12345
Contracts.ProvIDCust O Provider ID in the customer view varchar 50 PROV12345
Contracts.ContractIDProv O Contract ID in the provider view varchar 50 CON12345
Contracts.ContractIDCust O Contract ID in the customer view varchar 50 CON54321
Calls.CustCallID M Customers call identification code or number varchar 30 4321
Calls.SPCallID
Provider call identification code or number varchar 30 4321
CallStates.ShortName O Call status code varchar 20 Work External
Calls.CallRecoveryTime O Time when the call was recovered String - 10.04.2014 10:00
Calls.CallCloseTime O Time when the call was closed String - 10.04.2014 11:00
Calls.Solutions O Incident solution as free text Text - Solution text ...
Calls.Diagnosis O Incident diagnosis as free text Text - Diagnosis text ...
Calls.Remarks O Additional remarks as free text Text - Remarks text ...
Calls.Notes O Additional notes in a call Text - Notes text ...

















The following XML code uses the ServiceGrid namespace:

<call>
<calls.custcallid>TT4711</calls.custcallid>
<contractelements.shortname>SL1</contractelements.shortname>
<contracts.shortname>Hardware</contracts.shortname>
<calls.remarks>Technician arrives tomorrow at 11:00 AM</calls.remarks>
<callstates.shortname>in Progress</callstates.shortname>
</call> 

There are two namespaces that should be used when XML content is transferred from or to the ServiceGrid platform. The following two different namespaces are used as the inbound namespace has a flat structure:

  • Inbound namespace: InboundFieldName
  • Outbound namespace: InternalFieldName

Every available inbound field is implemented in Java and is used to fill the structures in the database. The outbound namespace is automatically created by the database structure.

The list of inbound and outbound fields can be found in the Cisco ServiceGrid application in the location CommonContent > Dictionary > Fields.

There are two flags in the fields list which indicates whether a field is inbound and/or outbound. Set the filter UBIT or UBOT to y (yes) to receive a list with all available inbound and/or outbound fields.

  • UBIT (UsedByInboundTemplate) stands for inbound fields.
  • UBOT (UsedByOutboundTemplate) stands for outbound fields.

An example for the usage of the outbound namespace is as follows:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="SD.call">
<sd.call>
<xsl:call-template name="CALL"></xsl:call-template>
</sd.call>
</xsl:template>
<xsl:template name="CALL">
SDCallID=<xsl:value-of select="/SD.call/ID">
CallOpenTime=<xsl:value-of select=" /SD.call/CallOpenTimeStr">
Component=<xsl:value-of select="/SD.call/MainComponent">
CompSerNr=<xsl:value-of select="/SD.call/MainCompSerNr">
CallerFirstName=<xsl:value-of select="/SD.call/CallerFirstName">
CallerLastName=<xsl:value-of select="/SD.call/CallerLastName">
CallerEMail=<xsl:value-of select="/SD.call/CallerEMail">
CallerMobileTel=<xsl:value-of select="/SD.call/CallerMobileTel">
CallerTel=<xsl:value-of select="/SD.call/CallerTel">
Description=<xsl:value-of select="/SD.call/Description">
</xsl:value-of></xsl:value-of></xsl:value-of></xsl:value-of></xsl:value-of></xsl:value-of></xsl:value-of></xsl:value-of></xsl:value-of>
</xsl:value-of>
</xsl:template>
</xsl:stylesheet>

The above example converts from ServiceGrid structure to Name-ValuePair format.

An example for transferring from an external namespace to the ServiceGrid namespace in inbound transactions is as follows:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">

<!-- XSL Template Content =============================== -->
<call>
<!-- Call Identification ================================ -->
<calls.id><xsl:value-of select="CALL/SD.CallID"></xsl:value-of></calls.id>
<calls.custcallid><xsl:value-of select="CALL/SR.CallID"></xsl:value-of></calls.custcallid>
<!-- Status ============================================= -->
<callstates.shortname><xsl:value-of select="CALL/SR.Status"> </xsl:value-of></callstates.shortname>
<!-- Caller ============================================= -->
<calls.callerpin><xsl:value-of select="CALL/Caller.ID"></xsl:value-of></calls.callerpin>
<calls.callerfirstname><xsl:value-of select="CALL/Caller.FirstName"></xsl:value-of></calls.callerfirstname>
<calls.callerlastname><xsl:value-of select="CALL/Caller.LastName"></xsl:value-of></calls.callerlastname>
<calls.callershortname><xsl:value-of select="CALL/Caller.ShortName"></xsl:value-of></calls.callershortname>
<calls.callerlocation><xsl:value-of select="CALL/Caller.Location"></xsl:value-of></calls.callerlocation>
<calls.callertitle><xsl:value-of select="CALL/Caller.Title"></xsl:value-of></calls.callertitle>
<calls.callertel><xsl:value-of select="CALL/Caller.Tel"></xsl:value-of></calls.callertel>
<calls.callertel2><xsl:value-of select="CALL/Caller.Tel2"></xsl:value-of></calls.callertel2>
<calls.callermobiletel><xsl:value-of select="CALL/Caller.MobileTel"></xsl:value-of></calls.callermobiletel>
<calls.callerfax><xsl:value-of select="CALL/Caller.Fax"></xsl:value-of></calls.callerfax>
<calls.calleremail><xsl:value-of select="CALL/Caller.EMail"></xsl:value-of></calls.calleremail>
<!-- Component ============================================= -->
<calls.maincomponent><xsl:value-of select="CALL/Comp.ID"></xsl:value-of></calls.maincomponent>
<calls.maincompmanfacturer><xsl:value-of select="CALL/Comp.Manufacturer"></xsl:value-of></calls.maincompmanfacturer>
<calls.maincomptype><xsl:value-of select="CALL/Comp.Type"></xsl:value-of></calls.maincomptype>
<calls.maincompsernr><xsl:value-of select="CALL/Comp.SerNr"></xsl:value-of></calls.maincompsernr>
<calls.maincompdescription><xsl:value-of select="CALL/Comp.Description"></xsl:value-of></calls.maincompdescription>
<!-- Location ============================================= -->
<calls.maincomplocation><xsl:value-of select="CALL/CompLocation.Name"></xsl:value-of></calls.maincomplocation>
<calls.maincomplocationstreet><xsl:value-of select="CALL/CompLocation.Street"></xsl:value-of></calls.maincomplocationstreet>
<calls.maincomplocationzip><xsl:value-of select="CALL/CompLocation.Zip"></xsl:value-of></calls.maincomplocationzip>
<calls.maincomplocationcity><xsl:value-of select="CALL/CompLocation.City"></xsl:value-of></calls.maincomplocationcity>
<calls.maincomplocationprovince><xsl:value-of select="CALL/CompLocation.County"></xsl:value-of></calls.maincomplocationprovince>
<calls.maincomplocationcountry><xsl:value-of select="CALL/CompLocation.Country"></xsl:value-of></calls.maincomplocationcountry>
<calls.maincomplocationdescription><xsl:value-of select='"CALL/CompLocation.Description/'>
</xsl:value-of></calls.maincomplocationdescription>
<calls.maincomplocationtel><xsl:value-of select="CALL/CompLocation.Tel"></xsl:value-of></calls.maincomplocationtel>
<!-- Problem ============================================= -->
<calls.description><xsl:value-of select="CALL/SR.Description"></xsl:value-of></calls.description>
<calls.remarks><xsl:value-of select="CALL/SR.Remarks"></xsl:value-of></calls.remarks>
<calls.solution><xsl:value-of select="CALL/SR.Solution"></xsl:value-of></calls.solution>
<severities.shortname><xsl:value-of select="CALL/SR.CustomerSeverity"></xsl:value-of></severities.shortname>
<!-- TimeStamps ============================================= -->
<calls.problemstarttime><xsl:value-of select="CALL/SR.CallOpenTime"></xsl:value-of></calls.problemstarttime>
<calls.callopentime><xsl:value-of select="CALL/SR.StartSLATime"></xsl:value-of></calls.callopentime>
<calls.callclosetime><xsl:value-of select="CALL/SR.CloseTime"></xsl:value-of></calls.callclosetime>
</call>
<!-- End of XSL Template Content =============================== -->
</xsl:template>
</xsl:stylesheet>

The recommended syntax of an inbound-tag is:

<{TableName}.{FieldName}>Value 

An example of an inbound tag is as follows:

<callstates.shortname>Open
</callstates.shortname>

The three options for using the inbound namespace are as follows:

  • Class Type
  • Attribute Type
  • Structured Type

Option 1 (classic Type)

Usage

<{TableName}.{FieldName}> (preferred Usage)

Benefits

Inbound structure or used template is very simple.


Disadvantanges

<u</u> Only flat structures can be imported.

An example of the record of the last section being imported is as follows:

XSLT

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transformhttp://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<!-- XSL Template Content =============================== -->
<call>
<!-- Call Identification ================================ -->
<calls.id><xsl:value-of select="CALL/SD.CallID"></xsl:value-of></calls.id>
<calls.custcallid><xsl:value-of select="CALL/SR.CallID"></xsl:value-of></calls.custcallid>
<!-- Status ============================================= -->
<callstates.shortname><xsl:value-of select="CALL/SR.Status">
</xsl:value-of></callstates.shortname>
<callparts.partno>
<xsl:value-of select="CALL/Parts[position()=last()]/PartNumber">
</xsl:value-of></callparts.partno>
<callparts.quantity>
<xsl:value-of select="CALL/Parts[position()=last()]/Quantity">
</xsl:value-of></callparts.quantity>
</call>
<!-- End of XSL Template Content =============================== -->
</xsl:template>
</xsl:stylesheet>

XML Result

<call>
<calls.id>556789036</calls.id>
<calls.custcallid>INC-12356</calls.custcallid>
<callstates.shortname>inArbeit</callstates.shortname>
<callparts.partno>ART471234</callparts.partno>
<callparts.quantity>2</callparts.quantity>
</call> 

Option 2 (Attribute Type)

Usage

<{TableName} {FieldName1}=”Value1” {FieldName2}=”Value2”/>

Benefits

Multiple records can be imported. The XML result is well arranged.

Disadvantages

XSLT scripts are more complex and only one iteration-depth can be displayed.

An example of an XSLT script is as follows:

XSLT

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transformhttp://www.w3.org/1999/XSL/Transform" pre="">
<p>version="1.0"></p>
<pre class="brush: xml"><xsl:template match="/">
<!-- XSL Template Content =============================== -->
<call>
<!-- Call Identification ================================ -->
<calls>
<xsl:attribute name="ID">
<xsl:value-of select="CALL/SD.CallID">
</xsl:value-of></xsl:attribute>
<xsl:attribute name="CustCallID">
<xsl:value-of select="CALL/SR.CallID">
</xsl:value-of></xsl:attribute>
</calls>
<!-- Status ============================================= -->
<callstates>
<xsl:attribute name="ShortName">
<xsl:value-of select="CALL/SR.Status">
</xsl:value-of></xsl:attribute>
</callstates>
<xsl:for-each select="CALL/Parts">
<callparts>
<xsl:attribute name="PartNo">
<xsl:value-of select="PartNumber"></xsl:value-of>
</xsl:attribute>
<xsl:attribute name="Quantity">
<xsl:value-of select="Quantity"></xsl:value-of>
</xsl:attribute>
</callparts>
</xsl:for-each>
</call>
<!-- End of XSL Template Content =============================== -->
</xsl:template>
</pre>
</xsl:stylesheet>

XML Result and inbound-structure


<call>
<calls id="556789036" custcallid="INC-12356"></calls>
<callstates shortname="inArbeit"></callstates>
<callparts quantity="2" partno="ART471234"></callparts>
<callparts quantity="1" partno="ART471235"></callparts>
<callparts quantity="7" partno="ART471239"></callparts>
</call> 


Option 3 (Structured Type)

Usage

<{TableName}>

<{FieldName}>Value1

Benefits

Deep-structured inbound multi-records can be imported.

Disadvantages

Complex XSL script.

XSL Template

<u</u>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transformhttp://www.w3.org/1999/XSL/Transform"><xsl:template match="/">
<!-- XSL Template Content =============================== -->
<call>
<!-- Call Identification ================================ -->
<calls>
<id>
<xsl:value-of select="CALL/SD.CallID">
</xsl:value-of></id>
<custcallid>
<xsl:value-of select="CALL/SR.CallID">
</xsl:value-of></custcallid>
</calls>
<!-- Status ============================================= -->
<callstates>
<shortname>
<xsl:value-of select="CALL/SR.Status">
</xsl:value-of></shortname>
</callstates>
<xsl:for-each select="CALL/Parts">
<callparts>
<partno>
<xsl:value-of select="PartNumber"></xsl:value-of>
</partno>
<quantity>
<xsl:value-of select="Quantity"></xsl:value-of>
</quantity>
</callparts>
</xsl:for-each>
</call>
<!-- End of XSL Template Content =============================== -->
</xsl:template>
</xsl:stylesheet>

XML Result

<call>
<calls>
<id>556789036</id>
<custcallid>INC-12356</custcallid>
</calls>
<callstates>
<shortname>inArbeit</shortname>
</callstates>
<callparts>
<partno>ART471234</partno>
<quantity>2</quantity>
</callparts>
<callparts>
<partno>ART471235</partno>
<quantity>1</quantity>
</callparts>
<callparts>
<partno>ART471239</partno>
<quantity>7</quantity>
</callparts>
</call>

A mixture of all namespace options is valid.


XML individual namespace
If the partner uses an own/different namespace, the namespace must be converted at inbound transactions into the InboundFieldName namespace and at the outbound transactions from the internalFieldName namespace to the individual namespace of the partner.
A context example for CallOpen is as follows:

<outcall>
<BB_TO_SYS_MESSAGE NR="1">
<SP_TICKET_ID>200709010656378
<IC_SHORT_SYMPTOM_DESCRIPTION>very urgent!! There is a problem with outgoing smtp emails.
<IC_SYMPTOM_DESCRIPTION>very urgent!!
<IC_STATUS>Open
<IC_PRIORITY>1
<IC_OPEN_DATE_TIME>2007-09-01 06:57:58
<CUST_FIRSTNAME>Peter
<CUST_LASTNAME>Ullrich
</outcall>

XSLT


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<!-- XSL Template Content =============================== -->
<call>
<xsl:for-each select="IMBBCALL">
<xsl:for-each select="BB_TO_SYS_MESSAGE">
<callstates.shortname><xsl:value-of select="IC_STATUS"></xsl:value-of></callstates.shortname>
<calls.spcallid><xsl:value-of select="SP_TICKET_ID"></xsl:value-of>
<customerpriorities.shortname><xsl:value-of select="IC_PRIORITY"></xsl:value-of>
</customerpriorities.shortname>
<severities.shortname><xsl:value-of select="IC_URGENCY"></xsl:value-of></severities.shortname>
<calls>
<callopentime><xsl:value-of select="IC_OPEN_DATE_TIME"></xsl:value-of></callopentime>
<problemstarttime><xsl:value-of select="IC_START_DATE_TIME"></xsl:value-of></problemstarttime>
<callrecoverytime><xsl:value-of select="IC_RESOLVE_DATE_TIME"></xsl:value-of></callrecoverytime>
<callclosetime><xsl:value-of select="IC_END_DATE_TIME"></xsl:value-of></callclosetime>
<callresponsetime><xsl:value-of select="IC_WORK_DATE_TIME"></xsl:value-of></callresponsetime>
<description><xsl:value-of select="IC_SYMPTOM_DESCRIPTION"></xsl:value-of></description>
<xsl:value-of select="IC_WORK_LOG_LAST_ENTRY"></xsl:value-of>
<shortdescription><xsl:value-of select="IC_SHORT_SYMPTOM_DESCRIPTION"></xsl:value-of></shortdescription>
<calls>
</calls></calls></calls.spcallid></xsl:for-each></xsl:for-each></call>
</xsl:template>
</xsl:stylesheet>


A typical XML Content example for CallOpen is as follows:


<call>
<sd.callid>8901234567</sd.callid>
<sr.centralcallid>XXX-35782</sr.centralcallid>
<sr.localcallid></sr.localcallid>
<customer.callid></customer.callid>
<sr.requestingorganisation>CustOrg</sr.requestingorganisation>
<sr.status>NEW</sr.status>
<sr.actingorganisation>Netherlands</sr.actingorganisation>
<sr.actingprocess>AAX</sr.actingprocess>
<contract.id>V235146</contract.id>
<contract.servicepackcode>Total Service</contract.servicepackcode>
<contract.coveragecode>OTHER</contract.coveragecode>
<contract.start>2007-01-01 00:00:00</contract.start>
<contract.end>2007-12-31 00:00:00</contract.end>
<contract.thirdpartyprovider></contract.thirdpartyprovider>
<contract.description></contract.description>
<customer.id>CCX123567</customer.id>
<customer.name>Rast & Ruh GmbH</customer.name>
<customer.solvencycode></customer.solvencycode>
<customer.language>German</customer.language>
<caller.id></caller.id>
<caller.firstname>Franz</caller.firstname>
<caller.lastname>De Muster</caller.lastname>
<caller.shortname></caller.shortname>
<caller.location></caller.location>
<caller.title>Herr</caller.title>
<caller.tel>+ (89) 12345687</caller.tel>
<caller.tel2></caller.tel2>
<caller.mobiletel></caller.mobiletel>
<caller.fax></caller.fax>
<caller.email></caller.email>
<contact.pin></contact.pin>
<contact.firstname></contact.firstname>
<contact.lastname>Muster</contact.lastname>
<contact.shortname></contact.shortname>
<contact.title>Frau</contact.title>
<contact.location></contact.location>
<contact.tel>+ 32 (xx) 12345678</contact.tel>
<contact.tel2></contact.tel2>
<contact.mobiletel></contact.mobiletel>
<contact.fax></contact.fax>
<contact.email></contact.email>
<contact.language></contact.language>
<helpdesk.firstname>Hams</helpdesk.firstname>
<helpdesk.lastname>imGlück</helpdesk.lastname>
<helpdesk.shortname></helpdesk.shortname>
<helpdesk.title>Herr</helpdesk.title>
<helpdesk.tel>+49 (30) 1112345</helpdesk.tel>
<helpdesk.tel2></helpdesk.tel2>
<helpdesk.mobiletel></helpdesk.mobiletel>
<helpdesk.fax></helpdesk.fax>
<helpdesk.email>irgendwer@irgendwo.com</helpdesk.email>
<owner.firstname></owner.firstname>
<owner.lastname></owner.lastname>
<owner.shortname></owner.shortname>
<owner.title></owner.title>
<owner.tel></owner.tel>
<owner.tel2></owner.tel2>
<owner.mobiletel></owner.mobiletel>
<owner.fax></owner.fax>
<owner.email></owner.email>
<comp.id>XDE43</comp.id>
<comp.manufacturer>000000000000000E</comp.manufacturer>
<comp.type>Commercial</comp.type>
<comp.sernr></comp.sernr>
<comp.description></comp.description>
<comp.opsys></comp.opsys>
<comp.networkidentificationnr></comp.networkidentificationnr>
<comp.hostname></comp.hostname>
<comp.swversion>.</comp.swversion>
<comp.modemnumber></comp.modemnumber>
<comp.modemspeed></comp.modemspeed>
<comp.password></comp.password>
<comp.typeofremoteaccess></comp.typeofremoteaccess>
<comp.ipaddress></comp.ipaddress>
<comp.connectingipaddress></comp.connectingipaddress>
<complocation.name>Office 325</complocation.name>
<complocation.id>N12234</complocation.id>
<complocation.street>RUE DE Margarete</complocation.street>
<complocation.zip>1040</complocation.zip>
<complocation.city>Vienna</complocation.city>
<complocation.county></complocation.county>
<complocation.country>AT</complocation.country>
<complocation.description></complocation.description>
<complocation.tel>+ () 123456567</complocation.tel>
<deliverylocation.name></deliverylocation.name>
<deliverylocation.street></deliverylocation.street>
<deliverylocation.zip></deliverylocation.zip>
<deliverylocation.city></deliverylocation.city>
<deliverylocation.county></deliverylocation.county>
<deliverylocation.country></deliverylocation.country>
<deliverylocation.description></deliverylocation.description>
<deliverylocation.tel></deliverylocation.tel>
<sr.description>Harddisk crashes</sr.description>
<sr.remarks> Harddisk crashes </sr.remarks>
<sr.solution></sr.solution>
<sr.source>PHONE</sr.source>
<sr.type>SUPPORT</sr.type>
<sr.slapriority>2</sr.slapriority>
<sr.customerseverity>3</sr.customerseverity>
<sr.callopentime>2007-08-16 10:11:12</sr.callopentime>
<sr.startslatime>2007-08-16 10:11:12</sr.startslatime>
<sr.expectedresponsetime>2007-08-16 11:18:00</sr.expectedresponsetime>
<sr.expectedarrivaltime>2007-08-24 14:18:00</sr.expectedarrivaltime>
<sr.expectedrecoverytime></sr.expectedrecoverytime>
<activities>
<activity>
<activity.number>201</activity.number>
<activity.type>ABC</activity.type>
<activity.status>InProgress</activity.status>
<activity.description>Technicion on side.</activity.description>
<activity.creationtime>2007-08-11 12:13:14</activity.creationtime>
<activity.plannedstarttime>2007-08-11 12:13:14</activity.plannedstarttime>
<activity.plannedclosetime>2007-08-11 12:13:14</activity.plannedclosetime>
</activity>
</activities>
</call>

XSLT

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<call>
<!-- Special Message-Identification for Belgium -->
<calls.sysspecfield4><xsl:value-of select="CALL/MessageID"></xsl:value-of></calls.sysspecfield4>
<!-- Call Identification ================================ -->
<calls.id><xsl:value-of select="CALL/SD.CallID"></xsl:value-of></calls.id>
<calls.custcallid><xsl:value-of select="CALL/SR.LocalCallID"></xsl:value-of></calls.custcallid>
<calls.spcallid><xsl:value-of select="CALL/SR.CentralCallID"></xsl:value-of></calls.spcallid>
<calls.sysspecfield1><xsl:value-of select="CALL/Customer.CallID"></xsl:value-of></calls.sysspecfield1>
<!-- Status ============================================= -->
<contracts.shortname><xsl:value-of select="CALL/SR.ActingOrganisation"></xsl:value-of></contracts.shortname>
<callstates.shortname><xsl:value-of select="CALL/SR.Status"> </xsl:value-of></callstates.shortname>
<calls.sysspecfield2><xsl:value-of select="CALL/SR.RequestingProcess"></xsl:value-of></calls.sysspecfield2>
<calls.sysspecfield3><xsl:value-of select="CALL/SR.ActingProcess"></xsl:value-of></calls.sysspecfield3>
<!-- Caller ============================================= -->
<calls.callerpin><xsl:value-of select="CALL/Caller.ID"></xsl:value-of></calls.callerpin>
<calls.callerfirstname><xsl:value-of select="CALL/Caller.FirstName"></xsl:value-of></calls.callerfirstname>
<calls.callerlastname><xsl:value-of select="CALL/Caller.LastName"></xsl:value-of></calls.callerlastname>
<calls.callershortname><xsl:value-of select="CALL/Caller.ShortName"></xsl:value-of></calls.callershortname>
<calls.callerlocation><xsl:value-of select="CALL/Caller.Location"></xsl:value-of></calls.callerlocation>
<calls.callertitle><xsl:value-of select="CALL/Caller.Title"></xsl:value-of></calls.callertitle>
<calls.callertel><xsl:value-of select="CALL/Caller.Tel"></xsl:value-of></calls.callertel>
<calls.callertel2><xsl:value-of select="CALL/Caller.Tel2"></xsl:value-of></calls.callertel2>
<calls.callermobiletel><xsl:value-of select="CALL/Caller.MobileTel"></xsl:value-of></calls.callermobiletel>
<calls.callerfax><xsl:value-of select="CALL/Caller.Fax"></xsl:value-of></calls.callerfax>
<calls.calleremail><xsl:value-of select="CALL/Caller.EMail"></xsl:value-of></calls.calleremail>
<!-- Contact ============================================= -->
<calls.ccppin><xsl:value-of select="CALL/Contact.PIN"></xsl:value-of></calls.ccppin>
<calls.ccpfirstname><xsl:value-of select="CALL/Contact.FirstName"></xsl:value-of></calls.ccpfirstname>
<calls.ccplastname><xsl:value-of select="CALL/Contact.LastName"></xsl:value-of></calls.ccplastname>
<calls.ccpshortname><xsl:value-of select="CALL/Contact.ShortName"></xsl:value-of></calls.ccpshortname>
<calls.ccptitle><xsl:value-of select="CALL/Contact.Title"></xsl:value-of></calls.ccptitle>
<calls.ccplocation><xsl:value-of select="CALL/Contact.Location"></xsl:value-of></calls.ccplocation>
<calls.ccptel><xsl:value-of select="CALL/Contact.Tel"></xsl:value-of></calls.ccptel>
<calls.ccptel2><xsl:value-of select="CALL/Contact.Tel2"></xsl:value-of></calls.ccptel2>
<calls.ccpmobiletel><xsl:value-of select="CALL/Contact.MobileTel"></xsl:value-of></calls.ccpmobiletel>
<calls.ccpfax><xsl:value-of select="CALL/Contact.Fax"></xsl:value-of></calls.ccpfax>
<calls.ccpemail><xsl:value-of select="CALL/Contact.EMail"></xsl:value-of></calls.ccpemail>
<!-- Helpdesk ============================================= -->
<calls.chdfirstname><xsl:value-of select="CALL/Helpdesk.FirstName"></xsl:value-of></calls.chdfirstname>
<calls.chdlastname><xsl:value-of select="CALL/Helpdesk.LastName"></xsl:value-of></calls.chdlastname>
<calls.chdshortname><xsl:value-of select="CALL/Helpdesk.ShortName"></xsl:value-of></calls.chdshortname>
<calls.chdtitle><xsl:value-of select="CALL/Helpdesk.Title"></xsl:value-of></calls.chdtitle>
<calls.chdtel><xsl:value-of select="CALL/Helpdesk.Tel"></xsl:value-of></calls.chdtel>
<calls.chdtel2><xsl:value-of select="CALL/Helpdesk.Tel2"></xsl:value-of></calls.chdtel2>
<calls.chdmobiletel><xsl:value-of select="CALL/Helpdesk.MobileTel"></xsl:value-of></calls.chdmobiletel>
<calls.chdfax><xsl:value-of select="CALL/Helpdesk.Fax"></xsl:value-of></calls.chdfax>
<calls.chdemail><xsl:value-of select="CALL/Helpdesk.EMail"></xsl:value-of></calls.chdemail>
<!-- Component ============================================= -->
<calls.maincomponent><xsl:value-of select="CALL/Comp.ID"></xsl:value-of></calls.maincomponent>
<calls.maincompmanfacturer><xsl:value-of select="CALL/Comp.Manufacturer"></xsl:value-of></calls.maincompmanfacturer>
<calls.maincomptype><xsl:value-of select="CALL/Comp.Type"></xsl:value-of></calls.maincomptype>
<calls.maincompsernr><xsl:value-of select="CALL/Comp.SerNr"></xsl:value-of></calls.maincompsernr>
<calls.maincompdescription><xsl:value-of select="CALL/Comp.Description"></xsl:value-of></calls.maincompdescription>
<calls.maincompopsys><xsl:value-of select="CALL/Comp.OpSys"></xsl:value-of></calls.maincompopsys>
<calls.maincompinvnr><xsl:value-of select="CALL/Comp.NetworkIdentificationNr"> </xsl:value-of></calls.maincompinvnr>
<calls.subcomponent><xsl:value-of select="CALL/Comp.HostName"></xsl:value-of></calls.subcomponent>
<calls.subcomptype><xsl:value-of select="CALL/Comp.SWVersion"></xsl:value-of></calls.subcomptype>
<calls.subcompsernr><xsl:value-of select="CALL/Comp.Modemnumber"></xsl:value-of></calls.subcompsernr>
<calls.subcompopsys><xsl:value-of select="CALL/Comp.ModemSpeed"></xsl:value-of></calls.subcompopsys>
<calls.subcompname><xsl:value-of select="CALL/Comp.Password"></xsl:value-of></calls.subcompname>
<calls.subcompdescription><xsl:value-of select="CALL/Comp.TypeOfRemoteAccess"></xsl:value-of></calls.subcompdescription>
<calls.subcompsernrprov><xsl:value-of select="CALL/Comp.IPAddress"></xsl:value-of></calls.subcompsernrprov>
<calls.subcompinvnr><xsl:value-of select="CALL/Comp.ConnectingIPAddress"></xsl:value-of></calls.subcompinvnr>
</call></xsl:template></xsl:stylesheet>
<!-- Location ============================================= -->

<calls.maincomplocation><xsl:value-of select="CALL/CompLocation.Name"></xsl:value-of></calls.maincomplocation> <calls.maincomplocationstreet><xsl:value-of select="CALL/CompLocation.Street"></xsl:value-of></calls.maincomplocationstreet> <calls.maincomplocationzip><xsl:value-of select="CALL/CompLocation.Zip"></xsl:value-of></calls.maincomplocationzip> <calls.maincomplocationcity><xsl:value-of select="CALL/CompLocation.City"></xsl:value-of></calls.maincomplocationcity> <calls.maincomplocationprovince><xsl:value-of select="CALL/CompLocation.County"></xsl:value-of></calls.maincomplocationprovince> <calls.maincomplocationcountry><xsl:value-of select="CALL/CompLocation.Country"></xsl:value-of></calls.maincomplocationcountry> <calls.maincomplocationdescription><xsl:value-of select="CALL/CompLocation.Description"></xsl:value-of></calls.maincomplocationdescription> <calls.maincomplocationtel><xsl:value-of select="CALL/CompLocation.Tel"></xsl:value-of></calls.maincomplocationtel>


<!-- Delivery Address ====================================== -->

<calls.subcomplocation><xsl:value-of select="CALL/DeliveryLocation.Name"></xsl:value-of></calls.subcomplocation> <calls.subcomplocationstreet><xsl:value-of select="CALL/DeliveryLocation.Street"></xsl:value-of></calls.subcomplocationstreet> <calls.subcomplocationzip><xsl:value-of select="CALL/DeliveryLocation.Zip"></xsl:value-of></calls.subcomplocationzip> <calls.subcomplocationcity><xsl:value-of select="CALL/DeliveryLocation.City"></xsl:value-of></calls.subcomplocationcity> <calls.subcomplocationprovince><xsl:value-of select="CALL/DeliveryLocation.County"></xsl:value-of></calls.subcomplocationprovince> <calls.subcomplocationcountry><xsl:value-of select="CALL/DeliveryLocation.Country"></xsl:value-of></calls.subcomplocationcountry> <calls.subcomplocationdescription><xsl:value-of select="CALL/DeliveryLocation.Description"></xsl:value-of></calls.subcomplocationdescription> <calls.subcomplocationtel><xsl:value-of select="CALL/DeliveryLocation.Tel"></xsl:value-of></calls.subcomplocationtel>


<!-- Problem ============================================= -->

<calls.description><xsl:value-of select="CALL/SR.Description"></xsl:value-of></calls.description> <calls.remarks><xsl:value-of select="CALL/SR.Remarks"></xsl:value-of></calls.remarks> <calls.solution><xsl:value-of select="CALL/SR.Solution"></xsl:value-of></calls.solution> <customerpriorities.shortname><xsl:value-of select="CALL/SR.SLAPriority"></xsl:value-of></customerpriorities.shortname> <severities.shortname><xsl:value-of select="CALL/SR.CustomerSeverity"></xsl:value-of></severities.shortname>


<!-- TimeStamps ============================================= -->

<calls.problemstarttime><xsl:value-of select="CALL/SR.CallOpenTime"></xsl:value-of></calls.problemstarttime> <calls.callopentime><xsl:value-of select="CALL/SR.StartSLATime"></xsl:value-of></calls.callopentime> <calls.providerscheduledstarttime><xsl:value-of select="CALL/SR.ExpectedResponseTime"></xsl:value-of></calls.providerscheduledstarttime> <calls.customerrequestedstarttime><xsl:value-of select="CALL/SR.ExpectedArrivalTime"></xsl:value-of></calls.customerrequestedstarttime> <calls.customerrequestedendtime><xsl:value-of select="CALL/SR.ExpectedRecoveryTime"></xsl:value-of></calls.customerrequestedendtime> <calls.callclosetime><xsl:value-of select="CALL/SR.CloseTime"></xsl:value-of></calls.callclosetime> <!-- SEVERAL DATA STORED AND ROUTED OVER XMLINFO ============ --> <calls.xmlinfo> <!-- Status ============================================= --> <sr.actingorganisation><xsl:value-of select="CALL/SR.ActingOrganisation"></xsl:value-of></sr.actingorganisation> <!-- Location ============================================= --> <calls.maincomplocationid><xsl:value-of select="CALL/CompLocation.ID"></xsl:value-of></calls.maincomplocationid> <!-- Contract =========================================== --> <contract.id><xsl:value-of select="CALL/Contract.ID"></xsl:value-of></contract.id> <contractheader.id><xsl:value-of select="CALL/ContractHeader.ID"></xsl:value-of></contractheader.id> <contract.oneshotflag><xsl:value-of select="CALL/Contract.OneshotFlag"></xsl:value-of></contract.oneshotflag> <contract.servicepackcode><xsl:value-of select="CALL/Contract.ServicepackCode"></xsl:value-of></contract.servicepackcode> <contract.coveragecode><xsl:value-of select="CALL/Contract.CoverageCode"></xsl:value-of></contract.coveragecode> <contract.start><xsl:value-of select="CALL/Contract.Start"></xsl:value-of></contract.start> <contract.end><xsl:value-of select="CALL/Contract.End"></xsl:value-of></contract.end> <contract.thirdpartyprovider><xsl:value-of select="CALL/Contract.ThirdPartyProvider"></xsl:value-of></contract.thirdpartyprovider> <contract.description><xsl:value-of select="CALL/Contract.Description"></xsl:value-of></contract.description> </calls.xmlinfo>


<!-- Customer =========================================== -->

<customer.shortname><xsl:value-of select="CALL/Customer.ID"></xsl:value-of></customer.shortname> <customer.lastname><xsl:value-of select="CALL/Customer.Name"></xsl:value-of></customer.lastname> <customer.sign><xsl:value-of select="CALL/Customer.SolvencyCode"></xsl:value-of></customer.sign> <customer.language><xsl:value-of select="CALL/Customer.Language"></xsl:value-of></customer.language> <customer.country><xsl:value-of select="CALL/BillingAddress.Country"> </xsl:value-of></customer.country> <customer.city><xsl:value-of select="CALL/BillingAddress.City"></xsl:value-of></customer.city> <customer.province><xsl:value-of select="CALL/BillingAddress.County"></xsl:value-of></customer.province> <customer.zip><xsl:value-of select="CALL/BillingAddress.ZIP"></xsl:value-of></customer.zip> <customer.street><xsl:value-of select="CALL/BillingAddress.Street"></xsl:value-of></customer.street> <customer.location><xsl:value-of select="CALL/BillingAddress.Location"></xsl:value-of></customer.location> <customer.tel><xsl:value-of select="CALL/BillingAddress.Tel"></xsl:value-of></customer.tel> <customer.fax><xsl:value-of select="CALL/BillingAddress.Fax"></xsl:value-of></customer.fax>


<contact.language><xsl:value-of select="CALL/Contact.Language"></xsl:value-of></contact.language>


<keyaccounter.firstname><xsl:value-of select="CALL/KeyAccounter.FirstName"></xsl:value-of></keyaccounter.firstname>
<keyaccounter.lastname><xsl:value-of select="CALL/KeyAccounter.LastName"></xsl:value-of></keyaccounter.lastname>
<keyaccounter.title><xsl:value-of select="CALL/KeyAccounter.Title"></xsl:value-of></keyaccounter.title>
<keyaccounter.shortname><xsl:value-of select="CALL/KeyAccounter.ShortName"></xsl:value-of></keyaccounter.shortname>
<keyaccounter.location><xsl:value-of select="CALL/KeyAccounter.Location"></xsl:value-of></keyaccounter.location>
<keyaccounter.tel><xsl:value-of select="CALL/KeyAccounter.Tel"></xsl:value-of></keyaccounter.tel>
<keyaccounter.tel2><xsl:value-of select="CALL/KeyAccounter.Tel2"></xsl:value-of></keyaccounter.tel2>
<keyaccounter.mobiletel><xsl:value-of select="CALL/KeyAccounter.MobileTel"></xsl:value-of></keyaccounter.mobiletel>
<keyaccounter.fax><xsl:value-of select="CALL/KeyAccounter.Fax"></xsl:value-of></keyaccounter.fax>
<keyaccounter.email><xsl:value-of select="CALL/KeyAccounter.Email"></xsl:value-of></keyaccounter.email>
<!-- Owner ============================================= -->

<owner.firstname><xsl:value-of select="CALL/Owner.FirstName"></xsl:value-of></owner.firstname> <owner.lastname><xsl:value-of select="CALL/Owner.LastName"></xsl:value-of></owner.lastname> <owner.shortname><xsl:value-of select="CALL/Owner.ShortName"></xsl:value-of></owner.shortname> <owner.title><xsl:value-of select="CALL/Owner.Title"></xsl:value-of></owner.title> <owner.tel><xsl:value-of select="CALL/Owner.Tel"></xsl:value-of></owner.tel> <owner.tel2><xsl:value-of select="CALL/Owner.Tel2"></xsl:value-of></owner.tel2> <owner.mobiletel><xsl:value-of select="CALL/Owner.MobileTel"></xsl:value-of></owner.mobiletel> <owner.fax><xsl:value-of select="CALL/Owner.Fax"></xsl:value-of></owner.fax> <owner.email><xsl:value-of select="CALL/Owner.EMail"></xsl:value-of></owner.email>


<!-- Problem ============================================= -->

<failuretypes.shortname><xsl:value-of select="CALL/SR.Source"></xsl:value-of></failuretypes.shortname> <problemtypes.shortname><xsl:value-of select="CALL/SR.Type"></xsl:value-of></problemtypes.shortname> <!-- Activities ============================================= -->



<xsl:for-each select="CALL">

<xsl:for-each select="Activities">
<activities>
<xsl:for-each select="Activity">
<activity>
<xsl:for-each select="*">
<xsl:choose>
<xsl:when test="name()='Activity.CreationTime'">
<activity.creationtime>
<xsl:attribute name="SDType">Date</xsl:attribute>
<xsl:variable name="SepChars">-: .\n\t</xsl:variable>
<xsl:variable name="CreationTime">
<xsl:value-of select="translate(.,$SepChars,'')"></xsl:value-of>
<xsl:text>0</xsl:text>
</xsl:variable>
<xsl:variable name="StartTime">
<xsl:value-of select="translate(../Activity.StartTime,$SepChars,'')">
<xsl:text>0</xsl:text>
</xsl:value-of></xsl:variable>
<xsl:variable name="PlannedStartTime">
<xsl:value-of select="translate(../Activity.PlannedStartTime,$SepChars,'')">
<xsl:text>0</xsl:text>
</xsl:value-of></xsl:variable>
<xsl:choose>
<xsl:when test="($StartTime < $CreationTime and $StartTime > 0) or ($PlannedStartTime < $CreationTime and $PlannedStartTime > 0) or ($CreationTime = 0)">
<xsl:choose>
<xsl:when test="$StartTime < $PlannedStartTime or $PlannedStartTime = 0">
<xsl:value-of select="../Activity.StartTime">
</xsl:value-of></xsl:when>
<xsl:otherwise>
<xsl:value-of select="../Activity.PlannedStartTime">
</xsl:value-of></xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."></xsl:value-of>
</xsl:otherwise>
</xsl:choose>
</activity.creationtime>
</xsl:when>
<xsl:when test="name()='Activity.PlannedStartTime'">
<activity.plannedstarttime>
<xsl:attribute name="SDType">Date</xsl:attribute>
<xsl:value-of select="."></xsl:value-of>
</activity.plannedstarttime>
</xsl:when>
<xsl:when test="name()='Activity.PlannedCloseTime'">
<activity.plannedclosetime>
<xsl:attribute name="SDType">Date</xsl:attribute>
<xsl:value-of select="."></xsl:value-of>
</activity.plannedclosetime>
</xsl:when>
<xsl:when test="name()='Activity.StartTime'">
<activity.starttime>
<xsl:attribute name="SDType">Date</xsl:attribute>
<xsl:value-of select="."></xsl:value-of>
</activity.starttime>
</xsl:when>
<xsl:when test="name()='Activity.CloseTime'">
<activity.closetime>
<xsl:attribute name="SDType">Date</xsl:attribute>
<xsl:value-of select="."></xsl:value-of>
</activity.closetime>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:value-of select="."></xsl:value-of>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</activity>
</xsl:for-each>
</activities>
</xsl:for-each>
</xsl:for-each>''

A content example for a CallUpdate transaction is as follows:

<outcall>

<BB_TO_SYS_MESSAGE NR="1">
<SP_TICKET_ID>73525992
<MESSAGE_NAME>TECHNICAL_MESSAGE
<SYSTEM_REFERENCE>SD
<SYSTEM_REFERENCE_ID>12345
<MESSAGE_STATUS>CONFIRM
<MANDATOR_REFERENCE>1248.0000.0000
</outcall>

XSLT

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<!-- XSL Template Content =============================== -->
<call>
<xsl:for-each select="IMBBCALL">
<xsl:for-each select="BB_TO_SYS_MESSAGE">
</xsl:for-each></xsl:for-each></call></xsl:template></xsl:stylesheet>
<callstates.shortname><xsl:value-of select="IC_STATUS"></xsl:value-of></callstates.shortname>

<calls.spcallid><xsl:value-of select="SP_TICKET_ID"></xsl:value-of> <customerpriorities.shortname><xsl:value-of select="IC_PRIORITY"></xsl:value-of> </customerpriorities.shortname> <severities.shortname><xsl:value-of select="IC_URGENCY"></xsl:value-of></severities.shortname> <calls> <callopentime><xsl:value-of select="IC_OPEN_DATE_TIME"></xsl:value-of></callopentime> <problemstarttime><xsl:value-of select="IC_START_DATE_TIME"></xsl:value-of></problemstarttime> <callrecoverytime><xsl:value-of select="IC_RESOLVE_DATE_TIME"></xsl:value-of></callrecoverytime> <callclosetime><xsl:value-of select="IC_END_DATE_TIME"></xsl:value-of></callclosetime> <callresponsetime><xsl:value-of select="IC_WORK_DATE_TIME"></xsl:value-of></callresponsetime> <description><xsl:value-of select="IC_SYMPTOM_DESCRIPTION"></xsl:value-of></description> <xsl:value-of select="IC_WORK_LOG_LAST_ENTRY"></xsl:value-of> <shortdescription><xsl:value-of select="IC_SHORT_SYMPTOM_DESCRIPTION"></xsl:value-of></shortdescription> <calls> </calls></calls></calls.spcallid>


A typical example for a CallUpdate transaction is as follows:

<callstatus version="1.2"><ticketnumber>601/1739205</ticketnumber>
<tickettime>30/08/2007 16:05:16</tickettime>
<status>Created successful</status>
<statusno>4</statusno>
<statusnotext>In Process</statusnotext>
<masterid>1234567</masterid>
<statustime>30/08/2007 16:08:30</statustime>
<mailcounter>2</mailcounter>
<transfersystem>81234567</transfersystem>
<operation>
<operationno></operationno> <operationstatusno></operationstatusno> <operationstatusnotext></operationstatusnotext> <departuretime></departuretime> <beginofoperation></beginofoperation> <endofrepair></endofrepair> <endofoperation></endofoperation> <customersignature></customersignature> <operationtext></operationtext> <newserialno></newserialno> <newinventoryno></newinventoryno>
</operation>
</callstatus>

XSLT

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="CallStatus">
<call>
<calls.spcallid>
<xsl:value-of select="TicketNumber"></xsl:value-of>
</calls.spcallid>
<calls.callopentime>
<xsl:value-of select="TicketTime"></xsl:value-of>
</calls.callopentime>
<calls.subcompsernr>
<xsl:value-of select="Operation/NewSerialNo">
</xsl:value-of></calls.subcompsernr>
<calls.subcompinvnr>
<xsl:value-of select="Operation/NewInventoryNo">
</xsl:value-of></calls.subcompinvnr>
<xsl:choose>
<xsl:when test="StatusNo = '1'">
<calls.remarks><xsl:value-of select="Status"></xsl:value-of></calls.remarks>
<calls.internalstate>01</calls.internalstate>
</xsl:when>
<xsl:when test="StatusNo = '2'">
<calls.remarks><xsl:value-of select="Status"></xsl:value-of></calls.remarks>
<callstates.shortname><xsl:value-of select="StatusNo"></xsl:value-of></callstates.shortname>
</xsl:when>
<xsl:when test="StatusNo = '3'">
<calls.remarks>
<xsl:value-of select="Status"></xsl:value-of><xsl:text> </xsl:text>
<xsl:value-of select="Operation/OperationText">
</xsl:value-of></calls.remarks>
<callstates.shortname><xsl:value-of select="StatusNo"></xsl:value-of></callstates.shortname>
</xsl:when>
</xsl:choose></call></xsl:template></xsl:stylesheet>


<xsl:when test="StatusNo = '4'">
<calls.remarks><xsl:value-of select="Operation/OperationText"></xsl:value-of></calls.remarks>
<xsl:if test="Operation/OperationStatusNo = '6'">
<callstates.shortname>46</callstates.shortname>
</xsl:if>
<xsl:if test="Operation/OperationStatusNo != '6'">
<callstates.shortname>4</callstates.shortname>
</xsl:if>
</xsl:when>
<xsl:when test="StatusNo = '5'">
<calls.remarks><xsl:value-of select="Operation/OperationText"></xsl:value-of></calls.remarks>
<xsl:if test="Operation/OperationStatusNo = '5'">
<callstates.shortname>55</callstates.shortname>
<firsteor.date><xsl:value-of select="Operation/EndOfRepair"></xsl:value-of></firsteor.date>
</xsl:if>
<xsl:if test="Operation/OperationStatusNo != '5'">
<xsl:if test="Operation/OperationStatusNo = '4'">
<callstates.shortname>54</callstates.shortname>
<firsteor.date><xsl:value-of select="Operation/EndOfRepair"></xsl:value-of></firsteor.date>
</xsl:if>
<xsl:if test="string-length(Operation/OperationStatusNo) = 0">
<callstates.shortname>5</callstates.shortname>
<firsteor.date><xsl:value-of select="StatusTime"></xsl:value-of></firsteor.date>
</xsl:if>
</xsl:if>
</xsl:when>
<xsl:when test="StatusNo = '6'">
<calls.remarks><xsl:value-of select="Operation/OperationText"></xsl:value-of></calls.remarks>
<calls.internalstate>04</calls.internalstate>
</xsl:when>
<xsl:otherwise>
<calls.remarks><xsl:value-of select="Operation/OperationText"></xsl:value-of></calls.remarks>
<callstates.shortname><xsl:value-of select="StatusNo"></xsl:value-of></callstates.shortname>
</xsl:otherwise>

<calls.custcallid>
<xsl:if test="(string-length(TransferSystem) = 0) or (TransferSystem != MasterID)">
<xsl:value-of select="MasterID"></xsl:value-of>
</xsl:if>
</calls.custcallid>


<calls.callsendtime>
<xsl:value-of select="StatusTime"></xsl:value-of>
</calls.callsendtime>
<calls.callclosetime>
<xsl:value-of select="StatusTime"></xsl:value-of>
</calls.callclosetime>
<xsl:for-each select="TransferSystem">
<xsl:if test="string-length(.) != 0">
<calls.id><xsl:value-of select="."></xsl:value-of></calls.id>
</xsl:if>
</xsl:for-each>
<operation.counter>
<xsl:value-of select="Operation/OperationNo">
</xsl:value-of></operation.counter>
<operation.statusno>
<xsl:value-of select="Operation/OperationStatusNo">
</xsl:value-of></operation.statusno>
<operation.statusnotext>
<xsl:value-of select="Operation/OperationStatusNoText">
</xsl:value-of></operation.statusnotext>
<operation.beginofoperation>
<xsl:value-of select="Operation/BeginOfOperation">
</xsl:value-of></operation.beginofoperation>
<operation.endofrepair>
<xsl:value-of select="Operation/EndOfRepair">
</xsl:value-of></operation.endofrepair>
<operation.endofoperation>
<xsl:value-of select="Operation/EndOfOperation">
</xsl:value-of></operation.endofoperation>
<operation.customersignature>
<xsl:value-of select="Operation/CustomerSignature">
</xsl:value-of></operation.customersignature>
<operation.operationtext>
<xsl:value-of select="Operation/OperationText">
</xsl:value-of></operation.operationtext>
<mail.counter>
<xsl:value-of select="MailCounter"></xsl:value-of>
</mail.counter>
<calls.providerscheduledstarttime>
<xsl:value-of select="Operation/DepartureTime">
</xsl:value-of></calls.providerscheduledstarttime>


Name Value Pair

Individual Name Value Pair (NVP) syntax can be created with XSLT in the outbound transaction. However, only ServiceGrid namespace is supported in the inbound transaction

Syntax

{SD-InboundFieldName}=Value

Example

Calls.CustCallID=4711 CallStates.ShortName=Open Calls.Remarks=This is a Text with more than one line. Calls.EndText Calls.CallOpenTime=16.01.1999 13:25

The field separators in the message body are carriage-return and line-feed. The field separator in the message subject is the semicolon (;). Most of the fields will not able to receive multi-line values because the field-separators are carriage-return and line-feed except the following fields:

  • Calls.Description
  • Calls.Remarks
  • Calls.Diagnosis
  • Calls.Solution
  • Calls.Notes

If one of these fields occurs, the whole text until the end of the message or the end marker “Calls.EndText” will be used for this field. The value must start at the same line as the field label.


Other (non-XML) Structures

Non-XML structures can only be handled by special converters in the inbound transaction. In outbound transactions, XSLT template can be used to create the structures. Less effort is required to write a special converter than a complex XSLT transformations due to the complexity of the XSLT templates.

000A#!SPARAUSMQS!#000B#!0002!#0013#!20070831!#0014#!094100!#0023#!20070831!#0024#!094200!#0040#!81234567
!#0069#!GDRUCKER KABEL NACHGESTECKT, AUSFUEHRLICH GETESTE!#0146#! 618123456!#0147#!CCO!# ~SD81234567@5250727@09@@@
Date: 30.08.2007 08:16:50 Anruf doppelt gemeldet siehe 12345657 daher storno@?



AUT78132/1|30/08/2007|13:23|AUT555-01|KUNDENORG||TESTG. 16-18||1040|WIEN|AUSTRIA|01 1234567||AUT12345/1|XXX FILIALE|||UNTER 33|||6700|TESTDORF|AUSTRIA|HARRY 
HELPMEN|+431234567|||1-591234567|30/08/2007|CCCCL|OS|ON SITE REPAIR D+1|31/08/2007|PRJM||5022510|9416VFK|C534N||WS|ON SITE WARRANTY| | |*********FM 241.21 Papierstau 
fach 1. . Etikettenpapier in Fach 1|*********| |||||||||||||x||||||||||||


HEAD#AAA.1234
#MusterFirma
#MusterAbteilung
#Abteilung 2 #
#Test-Platz
#12345 #TestOrt
#Deutschland
#
#Sh201-A-OG-R11
#Muster
#48892
#EK
#452504
#4000
#Z100
#LOOP
(#00001)# AAA.1234#Muster #
#42009601 # #PEACY/Standard XL: HP dc7700cm#1
#GA884EP-BU-2 #08.09.2007
#
PEACY/Standard XL: HP dc7700cmt: Intel Pentium D 945, 3, 4 GHz, 800
MHz FSB, 2MB Cache -- 1GB PC2-5300 DDR2-RAM, 2x512 -- 160GB S-ATA
7200RPM HDD -- Integrated Intel Graphics Media Accelerator 3000 --
16X/48X DVD-ROM Drive -- Integrated Gigabit Ethernet -- case: Tower
#
#400652
#SH-Z1441
#Thomas Muster CR/ARC
#48892
#08.09.2007
#Sh
#clt1sh
#ENDLOOP
# 


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

Rating: 0.0/5 (0 votes cast)

Personal tools