Configurazione dell'attività Esegui query oggetti

È necessario creare una query SOSL (SForce Object Search Language) per configurare l'attività Ricerca oggetti. Le seguenti sezioni esaminano le procedure che consentono di configurare l'attività Ricerca oggetti, creare una query SOSL e fornire le regole di sintassi SOSL per IBM® WebSphere Cast Iron.

Procedura

  1. Nell'Elenco di controllo, selezionare Configura.

    Viene visualizzata la finestra Specifica query.

  2. Creare una query SOSL nella finestra Specifica query.
  3. (Facoltativo) È possibile specificare parametri dinamici nella clausola di ricerca dell'istruzione SOSL. È possibile quindi associare questi parametri dinamicamente come i parametri di input per l'attività, ciò consente all'attività di controllare dinamicamente la query in base all'input trasmesso all'orchestrazione. Utilizzare un simbolo del dollaro ($) per indicare un parametro e aggiungervi il nome del parametro.
  4. Fare clic sull'icona Convalida , per convalidare la query.
    Se la query non è valida, viene visualizzata l'icona Feedback di convalida nell'angolo in basso a sinistra della finestra Specifica query. Per query non valide:
    1. Fare clic sull'icona Feedback di convalida posta nell'angolo in basso a sinistra della finestra Specifica query per avere un elenco di errori di convalida.
    2. Utilizzare l'icona Aggiorna per aggiornare i metadati e riconvalidare l'istruzione SOSL.
  5. Nell'Elenco di controllo, selezionare Query per configurare opzioni di query specifiche.

    Viene visualizzato il pannello Opzioni query.

  6. Selezionare Includi elementi eliminati nella query (eseguire un'operazione queryAll), per eseguire una query dei record eliminati oltre che di quelli esistenti. Se non si seleziona questa opzione, il dispositivo di integrazione esegue una query soltanto nei record esistenti.
  7. Specificare un valore per la Dimensione batch query compreso tra 200 e 2000 query per ottimizzare le prestazioni del dispositivo di integrazione.

    L'opzione determina la dimensione batch da utilizzare nell'intestazione SOAP QueryOptions per tutte le chiamate query e non influisce sul numero dei risultati restituiti dall'attività. Per impostazione predefinita, questa opzione è impostata su 500 query.

Creazione di query SOSL

Quando si crea una query SOQL, è possibile utilizzare parametri dinamici nella clausola WHERE dell'istruzione SOQL. Studio può quindi associare dinamicamente questi parametri come parametri di input per l'attività. Ciò consente un controllo dinamico della query in base all'input trasmesso all'orchestrazione.

About this task

L'SOQL (SForce Object Query Language) non definisce una sintassi per le query con parametri; tuttavia, Cast Iron applica alcune regole di sintassi SOQL di proprietà. È possibile utilizzare parametri nelle espressioni semplici o nelle espressioni set.

Regole di sintassi SOSL per Cast Iron
  • Utilizzare un simbolo del dollaro ($) per indicare un parametro. Dopo il simbolo del dollaro ($), specificare una stringa di caratteri alfanumerici. Il primo carattere deve essere una lettera [a-zA-Z], facoltativamente seguito da una o più lettere [a-zA-Z], cifre [0-9] o caratteri di sottolineatura ( _ ).
    Note: i nomi dei parametri sono sensibili al maiuscolo/minuscolo, per questo motivo i parametri $a e $A sono considerati parametri diversi.
    La seguente tabella contiene esempi di dichiarazioni di parametri validi e non validi:
    Parametro Valido o non valido
    $AnAccount valido
    $a123_456 valido
    $123a non valido
    $_id non valido
  • È necessario dichiarare i parametri nella parte destra di un'espressione in una clausola WHERE.
  • I parametri possono comparire più di una volta in un'istruzione SOQL fornita. Tuttavia, sebbene il parametro compaia più di una volta nell'istruzione SOQL, compare soltanto una volta nell'associazione del parametro di input. L'attività sostituisce lo stesso valore in tutte le ubicazioni in cui si utilizza il parametro al runtime.
    Note: quando si utilizza lo stesso nome di parametro e vi è una mancata corrispondenza nei tipi, si verifica un errore. Ad esempio, la seguente istruzione SOQL genera un errore poiché $param viene utilizzato come tipo di dati stringa e data:

    SELECT Name from Account where Name like $param and createdDate > $param

  • Il tipo di campo in cui un parametro viene confrontato determina il tipo di parametro e se tale parametro viene utilizzato in un'espressione semplice, in un'espressione set o in una parte di espressione set.
    Tipo di espressione Descrizione
    Espressioni semplici Ad esempio: Select ID from Account where Name = $NameParam

    Il SoapType del campo posto a sinistra dell'espressione determina il tipo di parametro. Se il tipo di campo supporta il valore nil e l'operatore è ( = ) o ( != ), allora il parametro supporta il valore nil.  L'impostazione di xsi:nil=true sul parametro imposta il valore del parametro su null quando questo viene sostituito. Se il tipo di parametro richiede che questo venga racchiuso tra apici (‘), allora il valore del parametro viene racchiuso tra apici durante la sostituzione e al relativo contenuto viene automaticamente aggiunto un carattere di escape.

    Per SOQL, alla barra retroversa (\) e all'apice (‘) verrà aggiunto un carattere di escape.

    Espressioni set Ad esempio: Select ID From Account where ID in $idList Il tipo del parametro è una sequenza ripetuta del SoapType del campo a sinistra dell'espressione. Il parametro non supporta il valore nil e presenta minOccurs=1, maxOccurs=unbounded sull'elemento.

    La sequenza viene espansa al runtime in modo da renderla un valore set corretto, ad esempio:

    Select Id From Account where Id in (‘value1',‘value2')

    Parte di una espressione set I parametri inclusi in un elenco set vengono trattati come tipo di parametro di espressione semplice, ad esempio:

    SELECT Name from Account where BillingState IN (‘California', $state2) In questo esempio, il tipo di parametro $state2 è il SoapType del campo Account BillingState e non è un elemento ripetuto. Il parametro non supporta il valore nil.