Filtraggio dei dati utilizzando le variabili nelle query

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à

  1. 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(); 
       ...
    } 
                 
  2. 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.
Riferimenti correlati
Vista QUERY_PROPERTY

(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)