Highlighted
Honored Contributor.
Honored Contributor.
570 views

Adding More CIs to Incidents

Jump to solution

We are using 9.33 with PD4. We are unable to use discovery so all of our CIs and relationships have been added manually. We have an ongoing project to identify the relationships between CIs, but that will not help our immediate need. I need to be able to add multiple CIs to an Incident record so that we can report on all the CIs that were down.

I have searched the forums, but found very little information on anyone else completing this. Any suggestions would be greatly appreciated.

0 Likes
1 Solution

Accepted Solutions
Highlighted
Acclaimed Contributor.. Acclaimed Contributor..
Acclaimed Contributor..

Haven't tried this in 9.4x or greater, so I don't know if the link lines work differently in the newer version.  This works through 9.31

First, make sure you're actually dealing with an array field.  In the dbdict for your record, you should have something that makes it look like the field is listed twice... like:

Name                      | Type
affected.cis.array    | array
   affected.cis.array | character

If it's not an array field, and you're trying to index it like an array field, you might get unexpected results.

Assuming your new array field is 'affected.cis.array' your link record would be:

Field (From/Source): affected.cis.array
File (To/Target): device
Format (To/Target): device
Field (To/Target): logical.name
Query: $query

Expressions -
$L.idx = nullsub(cursor.line(1),1)
if (not (null($L.idx in affected.cis.array in $File))) then ($query="logical.name#\""+$L.idx in affected.cis.array in $File+"\"")

Source Field | Target Field
affected.cis.array | logical.name

Or, you can share your link record and any error messages or odd behavior you're getting and maybe we'll be able to figure out what's wrong.

View solution in original post

4 Replies
Highlighted
Acclaimed Contributor.. Acclaimed Contributor..
Acclaimed Contributor..

When we first started our implementation at the company where I'm working, we barely had a Configuration Management process, let alone using Universal Discovery to discover CIs and relationships, but we had a similar need.  The Incident Management process team wanted a way to identify multiple CIs that were affected within a single Incident ticket.  At first, there wasn't even an ask for these additional CIs to have any kind of relationship to the primary CI in the IM ticket, but that request did come later.

So, we started by adding an additional array field within the Incident ticket for the additional affected CIs.  Calling it 'affected.cis.array', we created a new section on the IM ticket to display these CIs, created the appropriate link record for performing the Fill.

Once we started getting relationship data, we simply modified the query in the link record to start at the CI listed in the primary CI field, then query the cirelationship table and display a list of CIs that are upstream or downstream of the CI in the ticket, and allowed for a multi-fill on the field.

So there's no OOB method for doing what you're asking, but it's not a complicated thing to build.

0 Likes
Highlighted
Honored Contributor.
Honored Contributor.

I'm getting a little hung up on the link file. I tried looking at Change since it has an array for the CI's but it doesn't seem to translate well in Probsummary. I can get the first field to fill, but it won't search or allow me to fill any of the other fields in the array. Do you have any suggestions?

0 Likes
Highlighted
Acclaimed Contributor.. Acclaimed Contributor..
Acclaimed Contributor..

Haven't tried this in 9.4x or greater, so I don't know if the link lines work differently in the newer version.  This works through 9.31

First, make sure you're actually dealing with an array field.  In the dbdict for your record, you should have something that makes it look like the field is listed twice... like:

Name                      | Type
affected.cis.array    | array
   affected.cis.array | character

If it's not an array field, and you're trying to index it like an array field, you might get unexpected results.

Assuming your new array field is 'affected.cis.array' your link record would be:

Field (From/Source): affected.cis.array
File (To/Target): device
Format (To/Target): device
Field (To/Target): logical.name
Query: $query

Expressions -
$L.idx = nullsub(cursor.line(1),1)
if (not (null($L.idx in affected.cis.array in $File))) then ($query="logical.name#\""+$L.idx in affected.cis.array in $File+"\"")

Source Field | Target Field
affected.cis.array | logical.name

Or, you can share your link record and any error messages or odd behavior you're getting and maybe we'll be able to figure out what's wrong.

View solution in original post

Highlighted
Honored Contributor.
Honored Contributor.

This worked like a charm. Thank you!

0 Likes
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.