IBM Support

How to configure Maximo IT to create an Incident record from Service Catalog

Release Notes


Abstract

Incident record can be created directly from Offering.

Content

System administrator can enable the user to submit Incidents directly from Service Catalog.
When a Service Catalog request is submitted it always creates a Service Request record for further processing. By applying a few adjustments, a follow up incident record can be created when a catalog request is submitted using Maximo automation script feature.
Requirements:

1.    A new Boolean attribute on PMSCOFFEREXT object to document if a follow up incident record needs to be created.
2.    An automation script needs to be defined for appropriate launch point to create a related incident record.
3.    New system message group needs to be defined to show the related incident ID to the user.
4.    SSC_INCLIST domain query needs to be adjusted to show Incidents that are created from Service Catalog in Self Service Center.
Steps to create a new attribute on PMSCOFFEREXT object:

1.    Log in to Maximo IT as an administrator and go to Database Configuration.
2.    Select the PMSCOFFERINGEXT object and click on the Attributes tab.
3.    Click on the Add New row button and add a YORN type attribute with below configuration:
Attribute Name – FOLLOWUPINCIDENT
Title - Create a related incident record?
Description - If true creates a related incident record for the catalog request.
Type – YORN
Alias – FOLLOWUPINCIDENT
4.   Click Save.
1
 
5.    Go to Database Configuration.
6.    Click on Select Action > Manage Admin Mode and turn the Admin Mode ON.
7.    Click on the Refresh Status button until a message appears indicating that the Admin Mode is turned ON.
8.    Click on Select Action > Apply Configuration Changes.
9.    Once the Configuration changes are applied, turn the Admin Mode OFF by clicking on Select Action > Manage Admin mode.
10.  Go to the Application Designer application and select the PMSCOFFER application (Offerings).
11.  Click on the Offering tab.
12.  Click on the Control Palette icon in the top navigation bar and drag a checkbox control onto your Offering screen at your desired position.
13.  Right click on your new control and select properties,
14.  Select the attribute added in step 1.
15.  Save your changes.
 
2
3
Steps to Create the Automation Script: 

1.    Log in to Maximo IT as an administrator.
2.    Go to Automation Script application from Action > Create and Select Create with Object Launch point.
3.    Configure the launch point with below details:

Launch point – FOLLOWUPINCFROMSC
Description - Launch point for creating followup incident.
Object – SR
Object Event Condition - pmscitemnum is not null
Event – Save 
Under Save Options – Choose Update and After Save
4
4.    Click Next
5.    Enter the Script name and description.
6.    Select Jython as the script language and click Next.
 
5
7.    Copy the below script source code to the script (Script can be customized according to business logic or need) and Save.

##################################################################

# Script Name: CATALOGINCIDENT

# Author     : Soumya

# Version    : 1.0

#

# This is a helper script to create a related incident from the

# service catalog

#

##################################################################

from psdi.mbo import Mbo

from psdi.server import MXServer

from psdi.mbo import MboConstants

from psdi.server import MXServer

from psdi.util.logging import MXLoggerFactory

logger = MXLoggerFactory.getLogger("maximo.script")

def info(msg):

    logger.info("<CATALOGINCIDENT> <info> -"+msg)

def debug(msg):

    logger.debug("<CATALOGINCIDENT> <debug> -"+msg)

#get the current session, current app and current event

session = service.webclientsession();

if session != None:

    currentEvent = session.getCurrentEvent()

    currentApp = session.getCurrentApp()

    #translate the sr status value to domain internal value

    srStatusInternal = MXServer.getMXServer().getMaximoDD().getTranslator().toInternalString("SRSTATUS", mbo.getString("status"), mbo)

    #check if current app is selfservice center and the catalog request is submitted

    if currentApp.getApp() =="srmssctr" and srStatusInternal == "NEW":

        #fetch the offering id from sr mbo

        offeringid = mbo.getString("PMSCITEMNUM")

        debug("Offering ID - "+offeringid)

        if offeringid != None :

            #fetch offering mbo from SR

            catalogService = mbo.getMboSet("PMSCOFFERING").getMbo(0)

            if catalogService != None:

                #fetch FOLLOWUPINCIDENT

                createFollowupIncident = catalogService.getBoolean("FOLLOWUPINCIDENT")

                debug("Do we need to create a follow up incident record? - "+str(createFollowupIncident))

                if(createFollowupIncident):

                    #create a related incidentrecord

                    relIncMbo = mbo.createIncident()

                    incidentMboSet = mbo.getMboSet("$INCIDENT","INCIDENT","ticketid='"+relIncMbo.getString("ticketid")+"'")

                    incidentMbo = incidentMboSet.getMbo(0)

                    if incidentMbo != None :

                        externalsystem = MXServer.getMXServer().getMaximoDD().getTranslator().toInternalString("TSDTKTSOURCE","SERVICECATALOG")

                        incidentMbo.setValue("externalsystem",externalsystem, MboConstants.NOACCESSCHECK)

                        incidentMboSet.save()

                    debug("Follow up incident record created with id -"+ relIncMbo.getString("ticketid") +". ORIGINATOR ticketid - "+mbo.getString("ticketid"))

                    session.showMessageBox(session.getCurrentEvent(), "SD", "relatedincident",[incidentMbo.getString("ticketid")]);

Steps to create a new message group:

1.    Log in to Maximo IT as an administrator.
2.    Go to Database Configuration application.
3.    Go to Actions and select Messages.
4.    Add a new message record with below details:

Message Group: SD
Message Key: relatedincident
Display Method: MSGBOX
Message Prefix ID – BMXZZ
Message Id Suffix – 1
Value – Incident submitted with ID: {0}
6
      
4.    Click OK.
Steps to configure SSC_INCLIST to include incidents created from SERVICECATALOG and make them accessible from Self Service Center:

1.    Log in to Maximo IT as an administrator.
2.    Go to Domains application and apply filter for SSC_INCLIST domain.
3.    Click on the Configure domain icon. 
4.    In table domain, change the list where clause against INCIDET object to below query: 
(affectedperson = :&personid& or reportedby = :&personid&) and ( externalsystem in (:&synonymlist&_tsdtktsource[SERVICECATALOG]) or not exists (select 1 from relatedrecord where class in (:&synonymlist&_tkclass[SR]) and relatedrecclass in (:&synonymlist&_tkclass[INCIDENT]) and relatedreckey=ticketid and relatetype='FOLLOWUP'))
Setting are complete for creating a related incident from catalog request. Service designer can now enable create related incident record option while designing the offering.
For example:
1.    Log in as a service designer/administrator.
2.    Go to Offering application.
3.    Create a new Offering and fill all the details.
4.    When entering value for Classification, make sure that the selected classification can be used with INCIDENT.
5.    Enable the create related incident record as created earlier.
7
6.    Add specifications and other details.
7.    Change the offering status to ACTIVE and add the offering to any of end user catalog.
8.    Log in as end user and browse the offering via Request a Service. 
9.    Fill the required details and click on Order Now!
 
8
User will receive a system message depicting that the related incident is created with incident ID.
9
Now user can access this incident under My Incident Pod in Self Service Center.
10
Service Desk Agents can access the incident record pre filled with offering attributes;
11

[{"Type":"MASTER","Line of Business":{"code":"LOB59","label":"Sustainability Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSQ914","label":"IBM Maximo IT"},"ARM Category":[{"code":"a8m3p000000F82dAAC","label":"Maximo Application Suite-\u003EMAS Applications-\u003EManage-\u003EAdd-ons"}],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
25 April 2024

UID

ibm17149447