Modify the Request Status List

This article contains the following topics:
casm173
This article contains the following topics:
Each service and service option in a request has a status. In addition, the request has an overall status. CA Service Catalog supplies an extensive list of status values by default. Modify status values for the approval and fulfillment phases of the request life cycle, by editing the requestshared.xml file. You can also change the spelling of existing status values.
You maintain the request status values in the requestshared.xml file. This file can be different based on the language that is chosen for the system. The file is located in a different folder for each language. For example, for English (icusen), the requestshared.xml file is located in the USM_HOME\view\webapps\usm\locale\icusen\request folder.
The request status of the
entire
request is visible on the Pending Actions page. The request statuses of individual items in the request are visible in the Item Status drop-down list on the request-related user interface pages: Request Details, Approve Request, Fulfill Request, and Push Through Request. Updates that you make to the request status values in the requestshared.xml file are reflected in the options that users see on those pages.
Follow these steps:
  1. Back up the original requestshared.xml file and save it for reference.
  2. (Optional) Modify existing status values or add additional request statuses.
  3. (Optional) Restrict the status changes available for a request item based on its status.
    By default, all options (all statuses) are available for an item always, until the entire request is completed. In other words, you can change the status of request items to any value at any time. However, your organization can optionally restrict the menu options available for a request item that is based on its status.
  4. Test your changes by verifying that they are correctly reflected on the request-related user interface screens.
    In the Item Status drop-down list on the request-related user interface pages, the status is designated with an asterisk (*).
After you have added and used status numeric values to the default list, do
not
remove them.
Review requestshared.xml
Become familiar with the requestshared.xml file, as follows:
  • Understand the purpose of the major sections of the file: request_header, request_item, request_item_approval_action, and request_item_fulfillment_action.
  • Understand that the status values in these sections must remain synchronized.
  • Understand that the order of the statuses in the status drop-down lists on the GUI matches the order of the statuses in the requestshared.xml file. For example, suppose that the status 800 (Reject) is defined above the status 600 (Approved) in this file. In this case, the Reject status appears above the Approved status in the status drop-down lists on the GUI.
  • Review the inline comments and note the
    reserved
    status values.
  • Review the ranges for custom status values to see which ranges are reserved for specific types of status values.
Do
not
modify or delete the opening and closing lines that define the default statuses in the requestshared.xml file . Even when you modify statuses, these lines must remain as shown. This requirement applies to both the <request_item_approval> and <request_item_fulfillment> sections. These lines help ensure proper status behavior when the customizations are not used or are defined incorrectly.
- <custom_menu current_status_value="default"> status lines </custom_menu>
Major Sections
The major sections of the requestshared.xml file are as follows:
  • request_header
    Maintains all possible status values for the entire request.
  • request_item
    Maintains all possible status values for a specific item (such as a service option element or service option group) in a request.
  • request_item_approval_action
    Maintains all possible status values for a specific item in a request, when the request has been submitted but has not been approved or rejected.
  • request_item_fulfillment_action
    Maintains all possible status values for a specific item in a request, when the request has been approved but has not yet been fulfilled.
The list of possible status values must be synchronized in the request_header and request_item sections: They must have the same values with same meaning.
Every value in the request_item_approval_action and request_item_fulfillment_action sections must have a matching value in both the request_header and request_item sections. The value in the request_item_approval_action and request_item_fulfillment_action sections must be a complete set or a subset of the values in the request_header and request_item sections.
Ranges for Custom Status Values
When adding a new request status in the requestshared.xml file, define it within the range that is specified for the custom statuses:
  • 300 to 399 - custom
    submit
    status
  • 500 to 599 - custom
    pending approval
    status
  • 900 to 990 - custom
    approved
    status
Add an Additional Request Status
You can modify the request status list by adding request statuses. One common purpose is for approval or rejection of a request by a specific department. For example, the Finance department.
Follow these steps:
  1. Edit the requestshared.xml file for the language of your system in a text editor. For example, for English, edit the file in the USM_HOME\view\webapps\usm\locale\icusen\request folder.
  2. Add a line, including the number and text for the new status to the following sections: <request_header> and <request_item>.
  3. Select an unused numeric status value in the appropriate range for custom status values for the status you are adding.
    If possible, limit the text of the status value to 40 characters. Text longer than 40 characters can be truncated in the drop-down status menu lists and request status fields. In such cases, the entire text string is displayed to catalog users
    only
    in the tooltip text.
  4. Copy that line to the custom section or sections where you want them to appear. Examples include <request_item_approval>, <request_item_fulfillment>,
    <request_item_stuck_approval_action>, and <request_item_stuck_fulfillment_action>.
  5. Delete the text from the line you copied and modify the line to include the statval="
    value
    " expression.
  6. Save the requestshared.xml file.
  7. Verify that the changes are correctly reflected on the request-related user interface screens (the Request Details, Approve Request, and Fulfill Request screens).
Example: Add New Approval Statuses
To add approval statuses 500, 700, and 900, all related to financial approval, add the new lines for these statuses to the request_header, request_item, and request_item_approval_action sections of the requestshared.xml file. Examples follow, in
bold
.
Specify the numeric value and text in the request_header and request_item sections. Specify only the numeric value (without the text) in the request_item_approval_action section.
<?xml version="1.0" encoding="UTF-8" ?> ... - <request_header> <!-- status values must be synchronized with the status list in request_item, request_item_approval_action and/or request_item_fulfillment_action --> <st_1>Pending</st_1> <st_2>Completed</st_2> ... <!-- 400 to 499 are reserved --> <st_400>Pending Approval</st_400> <!-- 500 to 599 can be used for custom pending approval status --> <st_500>Pending Financial Approval</st_500> <!-- 600 to 699 are reserved --> <st_600>Rejected</st_600> <!-- 700 to 799 can be used for custom rejected status --> <st_700>Rejected by Financial Approver</st_700> <!-- 800 to 899 are reserved --> <st_800>Approved</st_800> <st_801>Approval Not Needed</st_801> <!-- 900 to 990 can be used for custom approved status --> <st_900>Approved by Financial Approver</st_900> !-- 991 to 999 are reserved --> <st_999>Approval Done</st_999> ... </request_header> - <request_item> <!-- status values must be synchronized with the status list in request_header, request_item_approval_action and/or request_item_fulfillment_action --> <st_1>Pending</st_1> <st_2>Completed</st_2> ... <!-- 400 to 499 are reserved --> <st_400>Pending Approval</st_400> <!-- 500 to 599 can be used for custom pending approval status --> <st_500>Pending Financial Approval</st_500> <!-- 600 to 699 are reserved --> <st_600>Rejected</st_600> <!-- 700 to 799 can be used for custom rejected status --> <st_700>Rejected by Financial Approver</st_700> <!-- 800 to 899 are reserved --> <st_800>Approved</st_800> <st_801>Approval Not Needed</st_801> <!-- 900 to 990 can be used for custom approved status --> <st_900>Approved by Financial Approver</st_900> <!-- 991 to 999 are reserved --> <st_999>Approval Done</st_999> ... </request_item> - <request_item_approval_action> <!-- status values must be synchronized with the status list in request_header and request_item --> <!-- A "default" value for the attribute "current_status_value" indicates these statuses will be listed by default in the "item status" menu if no other custom statuses are defined --> <custom_menu current_status_value="default"> <!-- 400 to 499 are reserved --> <!-- 500 to 599 can be used for custom pending approval status --> <st_500 statval="500"/> <!-- 600 to 699 are reserved --> <!-- 700 to 799 can be used for custom rejected status --> <st_700 statval="700"/> <!-- 800 to 899 are reserved --> <st_800 statval="800">Approve</st_800> <!-- 900 to 999 can be used for custom approved status --> <st_900 statval="900"/> ...
Hide Request Statuses
The default list of request statuses can include more options than you need for certain categories. You can hide some of the values in that category. So, users do not see these options on the GUI when they handle requests pending action.
Follow these steps:
  1. Edit the requestshared.xml file for the language of your system using a text editor. For example, for English, edit the file in the USM_HOME\view\webapps\usm\locale\icusen\request folder.
  2. Edit the line in the <request_header> and <request_item> sections for each status that you want to hide. Enter the comment characters before and after the original expression.
  3. Hide the corresponding lines in all other sections that use it, such as the <request_item_approval> or <request_item_fulfillment> section.
    Hide the exact same lines in all relevant sections of the file. Doing so is required for the status to appear correctly in the user interface.
  4. Save the requestshared.xml file.
  5. Test your changes by verifying that they are correctly reflected on the following request-related pages: Request Details, Approve Request, and Fulfill Request.
Example: Hide Request Statuses
To hide certain default fulfillment-related statuses, enter the comment characters before and after the original expression. Example in
bold
. Enter the comment characters in the request_header, request_item, and request_item_fulfillment_action sections of the requestshared.xml file.
In this example,
before
the comment markers are added, the following statuses are visible on the following request-related pages: Ordered, Shipped, Received, Order Cancelled, Staged, and Configured.
After
the comment markers are added, the following statuses are visible on those pages: Ordered, Shipped, and Configured.
- <request_header> ... <st_1004>Ordered</st_1004> <st_1006>Shipped</st_1006> <!--<st_1007>Received</st_1007>--> <!--<st_1008>Order Cancelled</st_1008>--> <!--<st_1017>Staged</st_1017>--> <st_1019>Configured</st_1019> ... </request_header> - <request_item> ... <st_1004>Ordered</st_1004> <st_1006>Shipped</st_1006> <!--<st_1007>Received</st_1007>--> <!--<st_1008>Order Cancelled</st_1008>--> <!--<st_1017>Staged</st_1017>--> <st_1019>Configured</st_1019> ... </request_item> - <request_item_fulfillment_action> ... <custom_menu current_status_value="default"> ... <st_1004 statval="1004"/> <st_1006 statval="1006"/> <!--<st_1007 statval="1007"/>--> <!--<st_1008 statval="1008"/>--> <!--<st_1017 statval="1017"/>--> <st_1019 statval="1019"/> ... </shared>
Restrict the Status Changes Available for a Request Item
You can restrict the status changes available for a request item that is based on its current status. For example, suppose that when an item is approved (Approved status), you no longer want users to be able to change the status
except
to a fulfillment-related status. You can configure the Item Status drop-down list to display
only
fulfillment-related options for items whose status is approved.
Follow these steps:
  1. Edit the requestshared.xml file for the language of your system using a text editor. For example, for English, edit the file in the USM_HOME\view\webapps\usm\locale\icusen\request\requestshared.xml folder.
  2. Locate the section of the file in which you want to restrict the available changes for one or more status values.
    You can restrict status changes in any section
    except
    the <request_item> and <request_header> sections.
  3. Decide which status you want to restrict and the statuses to which you permit it to be changed.
    The list of all existing status values appears under the following line:
    - <custom_menu current_status_value="default">
  4. Add a  request status to permit in your list, if necessary. The statuses that you want to permit must exist already.
  5. Locate the custom menu section. By default, this section is indented and commented out. Delete the opening and closing comment lines of this section.
    - <!-- <custom_menu current_status_value="400"> <st_400 statval="400"/> <st_600 statval="600"/> </custom_menu> --> <custom_menu current_status_value="400"> <st_400 statval="400">/> <st_600 statval="600"/> </custom_menu> <custom_menu current_status_value="400"> <st_400 statval="400"/> <st_600 statval="600"/> <st_801 statval="801"/> </custom_menu>
  6. Verify that the value in the current_status_value="
    nnn
    " expression in the first line of this section matches the status value that you want to restrict.
    For example, in the previous step, 400 corresponds to the Pending Approval status. Therefore, the status values shown appear on request-related pages when the status value is Pending Approval. If you want to restrict a different status, replace the current value with your new value.
  7. Verify that the value in the current_status_value="
    nnn
    " expression is defined in one of the "<st_
    nnn
    statval=..." lines, as shown for Pending Approval in the previous example.
  8. Copy and paste the additional status or statuses to which you want to allow the status to be changed. You can copy and paste it from the list of status values earlier in the section.
    For example, in the <request_item_approval> section, copy and paste the new "<st_801..." line to the custom_menu section for Pending Approval:
  9. Now Approval Not Needed status is added to the statuses to which items in Pending Approval status can be changed.
  10. Restrict status changes for another status in the same section of requestshared.xml file, if necessary. Use these guidelines:
    1. Copy the entire custom_menu element and its children.
    2. Paste it after the element that you updated.
    3. Modify the newly copied element.
    4. Modify existing custom_menu element and children, if necessary. For example, in the <request_item_fulfillment> section, suppose you want to restrict items in Pending Fulfillment status to be changed to either Fulfillment Cancelled or Fulfilled. In that case, modify the existing custom_menu element as follows:
    <custom_menu current_status_value="1000"> <st_1000 statval="1000"/> <st_1999 statval="1999"/> <st_2000 statval="2000"/> </custom_menu>
  11. Save the requestshared.xml file.
  12. Verify that the changes are correctly reflected on the request-related user interface pages (the Request Details, Approve Request, and Fulfill Request pages).
You have restricted the status changes available for a request item that is based on its current status.