Le liste valori dipendenti sono molto utili per aiutare gli utenti ad inserire le informazioni in modo più efficiente.
Ad esempio, gli utenti potrebbero selezionare un paese o un’area geografica per filtrare un elenco di città oppure potrebbero selezionare un tipo articolo e cercare fra un elenco di codici che appartengono a quella specifica categoria.
In questo articolo voglio mostrarti come creare due liste valori dipendenti in Oracle APEX.
Utilizzeremo uno scenario abbastanza comune: l’utente seleziona dal primo elenco valori un dipartimento ed il sistema mostrerà nella seconda lista valori i dipendenti che lavorano presso quel dipartimento.
IN QUESTO ARTICOLO
Prima di Iniziare
Per fare questo semplice esercizio utilizzeremo due tabelle S_DEPT e S_EMP.
- S_DEPT: elenco dei dipartimenti
- ID: chiave primaria
- NAME: nome del dipartimento

- S_EMP: elenco dei dipendenti
- USERID: identificativo del dipendente
- FIRST_NAME: nome
- LAST_NAME: cognome
- TITLE: qualifica
- DEPT_ID: id del dipartimento al quale il dipendente è stato assegnato

A questo link puoi vedere un’applicazione demo.

Crea le lista valori
La prima cosa da fare è creare le liste valori.
In Oracle APEX le liste valori possono essere create come componenti condivisi (Shared Components); in questo modo potrai riutilizzarle all’interno della tua applicazione tutte le volte che vuoi senza doverle ogni volta ricreare da zero.
Lista Valori Dipartimenti
- Accedi al APP Builder di Oracle APEX.
- Naviga in Shared Components > List of Values

- Clicca Create
- Seleziona l’opzione From Scratch

- Dai un nome alla lista valori e specifica il tipo di LOV. In questo esempio ho creato una LOV dinamica basata sui dati della tabella S_DEPT

- Specifica l’Origine Dati (SQL Query) ed inserisci la query della lista valori. Nell’esempio riportato sotto name è il descrittivo del dipartimento mentre id è la chiave primaria della tabella S_DEPT

- Indica quale campo è quello che desideri visualizzare (display value) e quello che invece sarà restituito dalla LOV (return value).
- Premi Create

- La lista valori viene salvata

Lista Valori Dipendenti
Il procedimento è esattamente lo stesso che ti ho spiegato per la lista valori DIPARTIMENTI_LOV.
- Naviga in Shared Components > List of Values
- Clicca Create e seleziona l’opzione From Scratch
- Dai un nome alla lista valori: DIPENDENTI_LOV
- Imposta l’origine dati a SQL Query e inserisci la query

- Specifica quale colonna visualizzare e quale colonna deve essere restituita dalla LOV

- Dopo aver creato la LOV, selezionala

- Vai alla sezione Additional Display Columns e clicca Select Columns

- Seleziona le colonne aggiuntive che vuoi mostrare e clicca Update

Aggiungi i campi LOV alla pagina
- Accedi all’APP Builder a seleziona la pagina che vuoi modificare
- Aggiungi la lista valori Dipartimenti
- Name: PX_DIPARTIMENTI
- Type: Select List
- List of Values > Type: Shared Components
- List of Values > List of Values: DIPARTIMENTI_LOV

- Aggiungi la lista valori Dipendenti
- Name: PX_DIPENDENTI
- Type: Popup LOV
- List of Values > Type: Shared Components
- List of Values > List of Values: DIPENDENTI_LOV

- Alla fine dovresti avere questa situazione

- Questa è la preview dove le liste valori però non sono ancora collegate.

Collega le Liste Valori
Per collegare le due liste valori dobbiamo modificare la query della LOV Dipendenti.
- Naviga in Shared Components > List of Values
- Seleziona la lista valori DIPENDENTI_LOV
- Vai nella sezione Source > SQL Query e modifica la query aggiungendo la condizione evidenziata dove

- P16_DIPARTIMENTI è il nome dell’Item che abbiamo creato nella pagina

- Seleziona l’Item P16_DIPENDENTI

- Vai alla sezione Cascading List of Values e configura la dipendenza
- Parent Item(s): P16_DIPARTIMENTI
- Items to Submit: P16_DIPARTIMENTI
- Parent Required: Selected

- Esegui la preview.
- L’elenco dei dipendenti visualizzati dipenderà dal dipartimento selezionato.

Lascia un commento