SELECTS: Decodificazione di un valore da uno stack

Come:

La funzione SELECTS decodifica un valore da uno stack.


Inizio pagina

x
Sintassi: Come decodificare un valore da uno stack
target SELECTS (code, result, code, result, ... [ELSE default])

dove:

destinazione

Una espressione valida. È in grado di essere o un nome campo o una variabile che risulta in una cella stack singola.

codice

Il valore per cui SELECTS esegue la ricerca. Dopo aver trovato il valore, si assegna l'espressione input al risultato corrispondente. La virgola tra il codice ed il risultato è opzionale.

risultato

Il valore assegnato quando l'espressione inpunt ha il codice corrispondente.

valore predefinito

Il valore da assegnare se non si trova il codice tra l'elenco dei codici. Se si omette il valore predefinito, si assegna uno spazio o lo zero ai codici non corrispondenti.



Esempio: Decodificazione valori con SELECTS

Il seguente calcola un campo definito dall'utente a seconda dei valori in uno stack:

COMPUTE Square = Stk(Cnt).Number SELECTS (1 1, 2 4, 3 9);

Poiché SELECTS è un operatore binario, è possibile usarlo solo in una espressione:

COMPUTE Square_Plus = Stk(Cnt).Number SELECTS (1 1, 2 4, 3 9) +1;


Esempio: Decodificazione di un valore da uno stack

Il seguente esempio usa MASK per estrarre il primo carattere del campo CURR_JOBCODE nel file EMPLOYEE. Quindi SELECTS crea un valore per il campo JOB_CATEGORY:

MAINTAIN FILE Employee
Case Top
  FOR ALL NEXT EMPINFO.EMP_ID INTO EmpStack;
  COMPUTE
    DEPX_CODE/A1     = MASK(EmpStack().CURR_JOBCODE,'9$$');
    JOB_CATEGORY/A15 = DEPX_CODE SELECTS (A 'ADMINISTRATIVE'
      B 'DATA PROCESSING') ;
EndCase
END

La seguente tabella mostra valori campione per CURR_JOBCODE e i valori corrispondenti per JOB_CATEGORY:

CURR_JOBCODE   JOB_CATEGORY
------------   ------------
A01            ADMINISTRATIVE
A07            ADMINISTRATIVE
A15            ADMINISTRATIVE
A17            ADMINISTRATIVE
B02            DATA PROCESSING
B03            DATA PROCESSING
B04            DATA PROCESSING
B14            DATA PROCESSING

WebFOCUS