Un risultato della query restituisce gli oggetti che corrispondono ai criteri della query.
È possibile filtrare tali risultati sui valori delle variabili.
Perché e quando effettuare questa attività
È possibile definire le variabili utilizzate da un processo al runtime
nel modello di processo. Per queste variabili, dichiarare per quali parti è possibile
eseguire la query.
Ad esempio, John Smith, chiama il numero di servizio della compagnia di assicurazione
per individuare il progresso della richiesta di assicurazione per la macchina danneggiata.
L'amministratore delle richieste utilizza l'ID cliente per rilevare la richiesta.
Procedura di questa attività
- Opzionale: Elencare le proprietà delle variabili in un
processo per cui è possibile eseguire la query.
Utilizzare l'ID della maschera di processo per
identificare il processo. È possibile saltare questo passo se si conoscono le variabili per cui è possibile
eseguire la query.
List variableProperties = process.getQueryProperties(ptid);
for (int i = 0; i < variableProperties.size(); i++)
{
QueryProperty queryData = (QueryProperty)variableProperties.get(i);
String variableName = queryData.getVariableName();
String name = queryData.getName();
int mappedType = queryData.getMappedType();
...
}
- Elencare le istanze di processo con le variabili che corrispondono ai criteri di
filtro.
Per questo processo, l'ID cliente viene modellato come parte della variabile customerClaim per la quale è possibile eseguire la query. È quindi possibile utilizzare
l'ID cliente per individuare la richiesta.
QueryResultSet result = process.query
("PROCESS_INSTANCE.NAME, QUERY_PROPERTY.STRING_VALUE",
"QUERY_PROPERTY.VARIABLE_NAME = 'customerClaim' AND " +
"QUERY_PROPERTY.NAME = 'customerID' AND " +
"QUERY_PROPERTY.STRING_VALUE like 'Smith%'",
(String)null, (Integer)null,
(Integer)null, (TimeZone)null );
Questa azione restituisce una serie di risultati query che
contengono i nomi delle istanze di processo e i valori degli ID clienti per i
clienti il cui ID comincia con Smith.