3 replies Latest Post - ‏2013-07-01T11:03:16Z by Mykhailo
2 Posts

Pinned topic Create Problem based on Incident Trend

‏2013-04-23T12:44:07Z |


I am trying to create a monthly rule to automatically generate Problems based on Incident and SR trends.

For example I would run a query selecting the top 10 incidents that took longest to resolve, then from these 10 results I would create 10 Problems with 'NEW' status.

Another example would be to query a list of the top 5 most recurring incidents per Service, then create 5 corresponding problems.

The problem is (no pun intended), how do I do that in TSRM 7.2.1 without writing a custom class? 

- Escalations won't work because they run against a single record.

- Cron tasks require a java class.

- Don't know much about Automation Scripting or it's capabilities, could be an option.

Is something like this feasible in TSRM without Java customization?

    268 Posts

    Re: Create Problem based on Incident Trend

    ‏2013-04-23T14:34:32Z  in response to Gabster21

    I agree that cron task doesn't make sense, and in the version you mentioned I'm not sure about Automation scripts (it exists but it was primarily used for Service Catalog and offerings and I know it didn't have a concept of Launch points).

    Escalations though should be a viable option provided that you can get a where clause that gives you those records. You're right that an escalation works one record at a time (but can contain a set of records that it goes through, in this case 10 records) but that's really what you're doing. From one Incident, you are creating a Problem record (no different than a user manually creating a Problem from the Incident Application). The hardest part will be coming up with the queries for your conditions and because it's DB platform specific (what I would write for a SQL Server instance won't work on a DB2 instance for example) and we don't know what DB Platform you are on I'm not going to spend anytime on that component.

    Provided that you had an escalation created with the proper condition though, you should simply add an action to create the problem record. In a Maximo 7.1 there is an action out of box called INCIDENT CREATEPROBLEM that does exactly what you're looking for (I don't have a TSRM 7.2 application or I'd check that out). Assuming it didn't exist, you would simply need to create an Action that is on the INCIDENT object and has a type of Application Action and a value of CREATEPROBLEM.

    An escalation is how I would approach it no matter which version of TSRM/SmartCloud you're on because even if you used an Automation Script you would have to filter out the data and define a launch point (which most likely would be an ACTION launch point tied to an Escalation anyways). If you let us know the DB platform maybe someone can help write the query.

  • Gabster21
    2 Posts

    Re: Create Problem based on Incident Trend

    ‏2013-04-23T15:37:34Z  in response to Gabster21

    Hi Sashull,

    Thanks for your input. I'm still not sure escalations would be enough to resolve this kind of automation, I initially thought about if because of the ease of creating a problem from an incident with the actions you mentioned, but some of the queries are more complex than my first example.. would a single escalation be able to create n problems from n results and populating the summary+description based on the data collected? In my case I would need to generate 30 problems a month based on this criteria:

    1. Top 10 Incidents that were Longest to Resolve
    2. Top 5 Tickets by Service (incidents + SRs) //
    3. Top 10 Recurring Incidents
    4. Top 5 Tickets by Resolution Type (incidents + SRs)

    I'm using DB2 as a platform if that helps, writing the queries to get the records is the easy part.. it's the mechanism for generating the problems from this data that I'm worried about.


    • Mykhailo
      1 Post

      Re: Create Problem based on Incident Trend

      ‏2013-07-01T11:03:16Z  in response to Gabster21


       I suppose that you can populate problem fields with crossover domain. If it does not work you can try more complex solution:

      1)Create a YORN attribute on Problem(Ticket) which has default value of 1.

      2) Create relationship from SR to PROBLEM, which points to PROBLEM record with that attribute valued 1

      3) Create an action group, which will be fired by your escalation: ]

           3.1) CREATEPROBLEM

           3.2) Set value to newly created problem using your new relationship

           3.3) Using same relationship change YORN attribute value from 1 to 0. so you will not fetch it occasionally next time.

      Hope this helps