Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE
Established Member.. Vikky
Established Member..
1562 views

required Custom Interaction status in HPSM

Jump to solution

Hi All,

 

We need to create custom interaction status for Service desk in HPSM 9.32 and we are using process designer with SM.

 

 

I have created status but it is not coming under dropdown in interaction.

 

Thanks

Vikky

0 Likes
1 Solution

Accepted Solutions
Highlighted
Absent Member.. John Stagaman Absent Member..
Absent Member..

Re: required Custom Interaction status in HPSM

Jump to solution

The list of statuses in each phase is generated by the sd.initial.status.list ruleSet called on display in each workflow phase. 

 

It calls the JavaScript function lib.custom.SD_setStateList( record.current_phase, record.category);

which sets the available statuses based on the current workflow phase.

 

   //Initialize Service Desk status dropdown list for workflow transition
   //It is called by related Rule Sets

function SD_setStateList(WorkflowState, Category)
{
    var allowStatus=lib.security.getRights("Service Desk", "allowedStatus");
	if(WorkflowState=="Categorization"){
                if(Category=="incident"||Category=="request for change"||Category =="service catalog" )
                        vars.$Interaction_statusValueList=["Categorize","Assign","Dispatched","Resolved","Suspended"];
                else
                        vars.$Interaction_statusValueList=["Categorize","Assign","In Progress","Resolved","Suspended"];
	}		
	else if(WorkflowState=="Work In Progress"){
                if(Category=="incident"||Category=="request for change"||Category =="service catalog" )
                        vars.$Interaction_statusValueList=["Categorize","Assign","Dispatched","Resolved","Suspended"];
               else
                        vars.$Interaction_statusValueList=["Categorize","Assign","In Progress","Resolved","Suspended"];
	}
	else if(WorkflowState=="Review"){
                if(Category=="incident"||Category=="request for change"||Category =="service catalog" )
                        vars.$Interaction_statusValueList=["Dispatched","Resolved"];
               else
                        vars.$Interaction_statusValueList=["In Progress","Resolved"];
	}
	else if(WorkflowState=="Withdrawal"){
                if(Category=="incident"||Category=="request for change"||Category =="service catalog")
                        vars.$Interaction_statusValueList=["Dispatched","Withdrawal Requested"];
               else
                        vars.$Interaction_statusValueList=["In Progress","Withdrawal Requested"];
	}
 
  	else if (WorkflowState == "Logging") {
  		vars.$Interaction_statusValueList = ["Open"];
  	}
  	intersect(vars.$Interaction_statusValueList, allowStatus);
  	vars.$Interaction_statusValueList = vars.$L_tmp;
  	vars.$Interaction_statusDisplayList =getDisplayList("incidents",vars.$L_tmp);
  }

 There is a similar function for each module.

 

Note that this only creates the value list for the status values in the phase. There is also a global list for each module that allows localization of the status values and you need to add a new scmessage for each new value so that the display list can be properly genereated. Here is an example of one of the Service Desk status scmessage records:

The value is included in the Message Number expression. 

The display value is based on the Text value (you would enter the translated value for other languages here, but you need to add the initial one for English.

The related Global List is "Interaction Local Statuses". After adding your status and the related scmessages, access the list record and select More Actions > Rebuild Global List. Log out and back in to test to see if your changes were successful.

----------------------------------------------------
Kudos - what, where, how, and why
Want Good Answers? Ask Good Questions...
2 Replies
Highlighted
Absent Member.. John Stagaman Absent Member..
Absent Member..

Re: required Custom Interaction status in HPSM

Jump to solution

The list of statuses in each phase is generated by the sd.initial.status.list ruleSet called on display in each workflow phase. 

 

It calls the JavaScript function lib.custom.SD_setStateList( record.current_phase, record.category);

which sets the available statuses based on the current workflow phase.

 

   //Initialize Service Desk status dropdown list for workflow transition
   //It is called by related Rule Sets

function SD_setStateList(WorkflowState, Category)
{
    var allowStatus=lib.security.getRights("Service Desk", "allowedStatus");
	if(WorkflowState=="Categorization"){
                if(Category=="incident"||Category=="request for change"||Category =="service catalog" )
                        vars.$Interaction_statusValueList=["Categorize","Assign","Dispatched","Resolved","Suspended"];
                else
                        vars.$Interaction_statusValueList=["Categorize","Assign","In Progress","Resolved","Suspended"];
	}		
	else if(WorkflowState=="Work In Progress"){
                if(Category=="incident"||Category=="request for change"||Category =="service catalog" )
                        vars.$Interaction_statusValueList=["Categorize","Assign","Dispatched","Resolved","Suspended"];
               else
                        vars.$Interaction_statusValueList=["Categorize","Assign","In Progress","Resolved","Suspended"];
	}
	else if(WorkflowState=="Review"){
                if(Category=="incident"||Category=="request for change"||Category =="service catalog" )
                        vars.$Interaction_statusValueList=["Dispatched","Resolved"];
               else
                        vars.$Interaction_statusValueList=["In Progress","Resolved"];
	}
	else if(WorkflowState=="Withdrawal"){
                if(Category=="incident"||Category=="request for change"||Category =="service catalog")
                        vars.$Interaction_statusValueList=["Dispatched","Withdrawal Requested"];
               else
                        vars.$Interaction_statusValueList=["In Progress","Withdrawal Requested"];
	}
 
  	else if (WorkflowState == "Logging") {
  		vars.$Interaction_statusValueList = ["Open"];
  	}
  	intersect(vars.$Interaction_statusValueList, allowStatus);
  	vars.$Interaction_statusValueList = vars.$L_tmp;
  	vars.$Interaction_statusDisplayList =getDisplayList("incidents",vars.$L_tmp);
  }

 There is a similar function for each module.

 

Note that this only creates the value list for the status values in the phase. There is also a global list for each module that allows localization of the status values and you need to add a new scmessage for each new value so that the display list can be properly genereated. Here is an example of one of the Service Desk status scmessage records:

The value is included in the Message Number expression. 

The display value is based on the Text value (you would enter the translated value for other languages here, but you need to add the initial one for English.

The related Global List is "Interaction Local Statuses". After adding your status and the related scmessages, access the list record and select More Actions > Rebuild Global List. Log out and back in to test to see if your changes were successful.

----------------------------------------------------
Kudos - what, where, how, and why
Want Good Answers? Ask Good Questions...
Established Member.. Vikky
Established Member..

Re: required Custom Interaction status in HPSM

Jump to solution

Thanks a lot John.....Solution steps worked .

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.