We want to choose an assignee within a process from a resource browse lookup attribute.
We want to be able to have an Action Item Assignee to be the name of the selected Resource on a Custom Attribute.
How do we get this attribute to show up for selection when configuring the Action Item Assignees?
Which stock lookups can be used for this purpose? If we were to create our own lookup, what is the proper configuration for this use?
CA PPM Process Action Item Assignees functionality is expecting to use the internal record ID for a Resource record, stored on the SRM_RESOURCES table, not a user record ID.
You can create a custom attribute that uses a stock 'Resource Browse' type of lookup, or you can create your own dynamic query lookup definition. Not to be confused with similar 'resource' or 'user' types of lookups.
System Resource Browse Lookups:
The CA PPM application has the following stock lookups that can be used in an attribute for use with Action Item Assignees functionality. When you view the definition of these lookups, you will see that the General properties, Object = Resource and the Parent Window, Hidden Key = ID value from SRM_RESOURCES table.
- Resource browse (SCH_BROWSE_RESOURCE)
- All Resources Browse (LOOKUP_RESOURCES_ALL)
- Workflow Resource browse (BROWSE_WORKFLOW_RESOURCES)
- PMO Resource Browse (CSK_RESOURCE_BROWSE)
An example of a system-supplied lookup most commonly used and meets this criteria is the Lookup ID = "SCH_BROWSE_RESOURCE". If you use this lookup as an example, you can create your own Dynamic Lookup that returns the SRM_RESOURCE.ID value as the Hidden Key value in the lookup.
EXAMPLE: System Lookup 'Resource Browse'
The next step is to create the attribute and make it a Lookup field that references your lookup query as its source. Note that these are Enter Once fields and you cannot change them later; however, if your underlying lookup query is custom and needs adjusting you can do that. System-restricted lookups cannot be altered.
Finally, with this attribute in place you should find that in your process, Step Action, Assignees browse dialog, you will be able to click on the Resource Fields tab which will look for and list any attributes that have been defined to meet the above criteria.
If you have a custom attribute on an object (e.g. Project) that is a 'resource browse' field, it is possible to include this as an assignee field for your process.
To get this to work you first need to use or define a Lookup for resources. Your lookup query can be as varied as you wish (if you wish to create your own), implementing any type of filter (either implicitly in the query or as filter options on your lookup), but it will be expecting to resolve the resulting ID (as defined in the Parent Window as the Hidden Key of the lookup) as a valid resource record -- i.e. an SRM_RESOURCES.ID value. Your lookup also needs to be defined on the first/general page as Source: Dynamic Query, and Object: Resource. If you do not configure your user-defined lookup in this manner, it may show up for selection on the step 'Assignees' browse, but may not work or generate unexpected results when the process is initiated.
Steps to implement:
- Create/select a Dynamic Query lookup on the Resource Object, set the Hidden Key of the Parent Window to a valid SRM_RESOURCES.ID result.
The Hidden Key is the First column field defined in the Lookup Dynamic Query definition as shown in the example above.
Be sure the first field in the Lookup Query is the SRM_RESOURCES.ID value.
Be sure the Dynamic Query properties uses the 'Resource' Object.
- Add attribute to your desired object of type Lookup and link it to the above dynamic query lookup.
- Edit your object's Process definition, Step, Action Item, Manual Action, Assignees field and select your custom attribute from the 'Resource Fields' tab in the browse dialog.
Please note that no validation takes place by the Process Engine to ensure that your Dynamic Query lookup is genuinely providing SRM_RESOURCE.ID record values from the Resource Object.
If it is providing anything else, the Process Engine is going to just assume this was meant to be a SRM_RESOURCE.ID record and try to send the action item to a (possibly) matching resource with that ID value or the action item may not be sent at all and no Assignees will appear on the Action Item.