Release Notes
Abstract
Incident record can be created directly from Offering.
Content
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.
1. Log in to Maximo IT as an administrator and go to Database 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

5. Go to Database Configuration.
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).


1. Log in to Maximo IT as an administrator.
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

5. Enter the Script name and description.

##################################################################
# 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")]);
1. Log in to Maximo IT as an administrator.
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}

1. Log in to Maximo IT as an administrator.
3. Click on the Configure domain icon.
(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'))
2. Go to Offering application.
3. Create a new Offering and fill all the details.

8. Log in as end user and browse the offering via Request a Service.
9. Fill the required details and click on Order Now!




Was this topic helpful?
Document Information
Modified date:
25 April 2024
UID
ibm17149447