Improve database performance when filtering tasks or process instance data.
Process variables are stored in a serialized form that is not suitable for queries. Although you can retrieve instance data for every item in the work list, to do so requires that all objects in the work list be materialized. Such operations place unnecessary demands on system resources.
You can, instead, query process data as follows:
You can map this parameter to a custom property of the business process or human task. The process or task can have any number of custom properties. You can include custom properties when you run a work item query. However, each custom property makes the query more complex and requires more time to complete. Therefore, to avoid degrading system performance unnecessarily, limit the number of custom properties in any query.
If you have multiple custom properties and the database performance is degraded, try to encode the parameters in a single custom property. A custom property can be up to 254 characters long. You can encode the query in name–value syntax.
Example
setCustomProperty( piid, "MyCustomPropertyName", "priority=1 duedate=1099066021605 locale=en_us")
PROCESS_ATTRIBUTE.VALUE like 'priority=1%'or
PROCESS_ATTRIBUTE.VALUE like '%duedate=1099066021605%'
You can query these parameters by mapping them to the business process description or human task description.
Example
%inputMessage.language%The variable %inputMessage.language% is resolved when the business process instance or human task instance is created at run-time. You can then query the corresponding data by means of the process or task description.
PROCESS_INSTANCE.DESCRIPTION='%locale=en_us%'
TASK_DESC.DESCRIPTION='%locale=en_us%'
Last updated: Mon Mar 27 18:40:58 2006
(c) Copyright IBM Corporation 2005.
This information center is powered by Eclipse technology (http://www.eclipse.org)