• Passa al contenuto principale
  • Passa alla barra laterale primaria
  • INIZIA QUI
  • HOME
  • CHI SONO

APPin5Minuti

Creare APP Gestionali con Oracle APEX e Low-Code

Crea Applicazioni Gestionali con Oracle APEX e gli strumenti Low-Code.

Oracle APEX: Interactive Report + Form Tutorial

Febbraio 2, 2021

L’Interactive Report è uno dei principali componenti di Oracle APEX. In questo tutorial vedremo come utilizzarlo insieme ad una form per aggiornare i record del database.

Prima di iniziare, se non l’hai già fatto, dai un’occhiata a questo articolo dove ti spiego in modo molto dettagliato come creare e configurare correttamente un Interactive Report.

Ehi, se vuoi puoi vedere il risultato dai un occhio a questa applicazione di demo che ho creato appositamente per questo tutorial.

Sperimenta pure e fammi sapere se ti piace nei commenti!

IN QUESTO ARTICOLO

  • Cosa ti serve per implementare un Interactive Report + Form
  • Come creare un’applicazione con Interactive Report + Form
    • Crea una nuova applicazione
    • Crea una nuova pagina di tipo Report with Form
    • Creazione delle Liste Valori
    • Configurazione Interactive Report
    • Configurazione Form
    • Configurazione Primary Key
    • Configurazione Form Layout
  • In conclusione

Cosa ti serve per implementare un Interactive Report + Form

Per completare questo tutorial hai bisogno di:

  • La tabella che deve essere aggiornata.
  • Un ambiente Oracle APEX su cui lavorare.

Se in questo momento non hai a disposizione un ambiente di sviluppo in APEX leggi la guida su come ottenere un ambiente Oracle APEX di prova.

Come creare un’applicazione con Interactive Report + Form

Per fare questo tutorial creerò una applicazione che permetterà di leggere e modificare l’anagrafica dei dipendenti di una generica azienda.

Puoi creare una nuova applicazione da zero, oppure puoi aggiungere una pagina ad una tua applicazione di prova che hai creato.

Da questo link puoi scaricare lo script per installare gli oggetti del database (tabelle, sequence, ecc.) che userò in questo tutorial.

La nostra applicazione sarà strutturata in questo modo:

  • la pagina di ricerca principale, basata su Interactive Report, che permetterà di interrogare i dati dal database.
  • dalla pagina di ricerca, creeremo a livello di riga un bottone che aprirà una form attraverso la quale potremo modificare i dati del singolo record.

Crea una nuova applicazione

Se hai già una applicazione APEX e vuoi aggiungere una nuova pagina con un report interattivo, puoi tranquillamente saltare al paragrafo successivo.

Per creare una nuova applicazione, esegui i seguenti passaggi.

  • Collegati ad Oracle APEX e seleziona App Builder
  • Clicca sul bottone Create
  • Seleziona New Application
  • Dai un nome alla tua applicazione
  • Premi Create Application

Crea una nuova pagina di tipo Report with Form

  • Dall’App Builder di Oracle APEX, clicca sull’applicazione
  • Clicca sul bottone Create Page
  • Seleziona il tipo pagina Form e clicca Next
  • Seleziona il tipo pagina Report with Form e clicca Next.
  • Nella pagina seguente inserisci le informazioni richieste:
    • Report Type: Interactive Report
    • Report Page Name
    • Form Page Name
  • Clicca Next.
  • Seleziona l’opzione per la creazione della voce di menù
  • Clicca Next.
  • Nella sezione Data Source specifica le seguenti informazioni:
    • Source Type: Table
    • Table: la tabella che deve essere aggiornata. Se stai seguendo questo tutorial inserisci S_EMP
    • Select Columns: tutte le colonne che vuoi includere nel report
  • Clicca Next.
  • Specifica la PRIMARY-KEY della tabella da aggiornare.
  • Clicca Create.
  • Il sistema dovrebbe creare 2 pagine:
    • Interactive Report with Form
    • Form

Creazione delle Liste Valori

Alcuni campi della nostra applicazione di demo devono essere validati. Pertanto andremo a creare delle liste valori.

Dobbiamo creare 3 LOV:

  • TITLE_LOV: Dynamic LOV, basata sui valori della tabella S_TITLE
  • MANAGER_LOV: Dynamic LOV, basata sui valori della tabella S_EMP
  • DEPARTMENT_LOV: Dynamic LOV, basata sui valori della tabella S_DEPT

List Of Values TITLE_LOV

  • Clicca su Shared Components
  • Clicca su List Of Values
  • Clicca su Create
  • Seleziona l’opzione From Scratch e clicca su Next
  • Dai un nome alla LOV e seleziona il tipo
    • Name: S_TITLE_LOV
    • Type: Dynamic
  • Specifica la tabella dalla quale prendere i valori
    • Source Type: Table
    • Table Owner: lo schema APEX del tuo workspace
    • Table: S_TITLE
  • Nella schermata successiva seleziona il campo che la lista valori deve visualizzare e restituire: TITLE

List Of Values DEPT_LOV

  • Per creare questo tipo di lista valori, segui la procedura vista poco fa
  • Specifica la tabella dalla quale prendere i valori
    • Source Type: Table
    • Table Owner: lo schema APEX del tuo workspace
    • Table: S_DEPT
  • Specifica il valore che deve essere visualizzato dall’utente e quello che deve essere salvato nel database
    • Return Column: ID
    • Display Column: NAME

List Of Values EMP_LOV

Questa lista valori è sempre dinamica e basata su una query SQL.

  • Per creare questo tipo di lista valori, segui la procedura vista poco selezionando il tipo LOV Dynamic
  • Nella sezione in cui devi specificare la sorgente, indica SQL Query ed inserisce la seguente query:
select ID as RETURN_VALUE, 
       LAST_NAME||', '||FIRST_NAME AS DISPLAY_VALUE
  from s_emp

Configurazione Interactive Report

Per completare il setup della pagina di ricerca è necessario impostare delle List Of Values sui relativi campi dell’Interactive Report

Colonna TITLE

  • Seleziona la colonna TITLE
  • Cambia il tipo a Plain Text (based on List of Values)
  • Imposta la lista valori S_TITLE_LOV

Colonna MANAGER_ID

  • Seleziona la colonna MANAGER_ID
  • Cambia il tipo a Plain Text (based on List of Values)
  • Imposta la lista valori S_EMP_LOV

Colonna DEPT_ID

  • Seleziona la colonna DEPT_ID
  • Cambia il tipo a Plain Text (based on List of Values)
  • Imposta la lista valori DEPT_LOV

Configurazione Form

Anche per completare il setup della form di aggiornamento è necessario implementare le alcune regole di validazione.

In generale puoi definire diverse tipi di validazione sui campi di una form Oracle APEX tramite la Validation Rules.

In questo esempio ci limiteremo a creare le seguenti validazioni:

  • setup delle liste valori
  • setup dei campi obbligatori

Campi validati da List Of Values

Prima di tutto configuriamo i campi che devono essere validati da LOV

Campo TITLE
  • Seleziona il campo PX_TITLE (X è il numero della pagina che Oracle APEX ha assegnato alla form. Nel mio caso è 5)
  • Cambia il tipo campo a Select List
  • Imposta la lista valori S_TITLE_LOV creata precedentemente

Campo MANAGER
  • Seleziona il campo PX_MANAGER_ID (X è il numero della pagina che Oracle APEX ha assegnato alla form. Nel mio caso è 5)
  • Cambia il tipo campo a Popup LOV
  • Imposta la lista valori S_TITLE_LOV creata precedentemente

Campo DEPT_ID
  • Seleziona il campo PX_DEPT_ID (X è il numero della pagina che Oracle APEX ha assegnato alla form. Nel mio caso è 5)
  • Cambia il tipo campo a Select List
  • Imposta la lista valori DEPT_LOV creata precedentemente

Campi Obbligatori

Impostiamo come obbligatori i seguenti campi della form:

  • PX_FIRST_NAME
  • PX_LAST_NAME
  • PX_USERID

Per configurare un campo come obbligatorio è sufficiente attivare l’opzione Value Required nel tab delle proprietà

Configurazione Primary Key

La form che Oracle APEX ha creato tramite il wizard permette di aggiornare un record del database sfruttando un meccanismo standard di APEX chiamato Automatic Row Processing (DML).

Questo non è l’unico metodo per salvare i dati nel database. Ad esempio, potresti creare un PLSQL custom per gestire le varie operazioni come INSERT, UPDATE e DELETE.

Per maggiori dettagli leggi questo tutorial su come processare in dati usando una procedura PLSQL.

Un’ applicazione pratica la puoi trovare in questo tutorial dove spiego come migrare di una applicazione da Oracle Forms & Report in Oracle APEX.

Quando utilizzi il metodo Automatic Row Processing (DML) devi assicurarti che la PRIMARY-KEY della tabella sia correttamente gestita nella tua applicazione APEX.

  • Clicca sulla colonna PX_ID
  • Verifica che il tipo campo sia Hidden e che sia attivata l’opzione Value Protected
  • Nella sezione Default imposta le seguenti proprietà
    • Type: Sequence
    • Sequence: devi indicare la sequence del database che avrai già creato. Se hai installato gli oggetti che ho messo a tua disposizione all’inizio di questo tutorial puoi scrivere S_EMP_SEQ

Configurazione Form Layout

Quando crei una pagina con il wizard di Oracle APEX, il layout di default è abbastanza semplice. Tutti i campi vengono disposti in colonna.

Tuttavia è possibile aggiustarlo tramite il designer per ottenere un Look & Feel più appetibile.

Inoltre sarebbe opportuno cambiare le labels dei vari campi affinché siano più comprensibili per l’utente finale.

In conclusione

Bene, se sei arrivato a questo punto del tutorial, forse hai già creato la tua applicazione basata su Interactive Report + Form.

Anche io ho creato un’applicazione di demo: prova a darci un occhiata e fammi sapere cosa ne pensi.

Se questo tutorial ti è piaciuto fammelo sapere nei commenti e condividilo!

Un abbraccio

Daniele

TI POTREBBE INTERESSARE:

  • CPQ in Oracle APEX
  • Come gestire i files su Object Storage da Oracle APEX
  • Come migrare le applicazioni da Oracle Forms ad Oracle APEX
  • Oracle APEX: Interactive Grid Tutorial
  • Oracle APEX: Interactive Report Tutorial
  • Dashboard Interattiva in Oracle APEX

oracle apex

Interazioni del lettore

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Barra laterale primaria

BENVENUTO!

Il mio nome è Daniele Trasarti, autore di APPin5Minuti, il blog italiano che parla di piattaforme di Oracle APEX e applicazioni low-code.

Qui troverai tantissimi tutorial e risorse per imparare a sviluppare in pochissimo tempo bellissime applicazioni per gestire i dati ed i processi della tua azienda.

Se vuoi saperne di più inizia da qui.

Seguimi sui social!

  • LinkedIn
  • Twitter

NEWSLETTER

Iscriviti anche tu per far parte della più grande community italiana di persone che amano sviluppare low-code!

api rest appsheet appsheet data sources appsheet views appsheet workflow automation autonomous database build apps cpq crm css cyber security database dynamic layout facebook flowform flows4apex google google cloud interactive grid interactive report javascript list microsoft microsoft access mobile oracle oracle apex oracle cloud oracle rest data service ords pl-sq PL-SQL power apps product configurator sales configurator security social login software gestionale sql theme roller ux woocommerce wordpress workflows

COMMENTI RECENTI

  1. Daniele Trasarti su Oracle APEX: come creare un’applicazione web in 5 minuti

    Ciao Sabatino, grazie per l'apprezzamento. Riguardo alla tua domanda ti consiglio di usare Oracle Cloud. Puoi creare un account gratis…

  2. Sabatino Iannazzo su Oracle APEX: come creare un’applicazione web in 5 minuti

    Ciao Daniele, complimenti per la guida, mi hai aperto un mondo! volevo chiederti se con Apex e Oracle Database Express…

  3. Laura su Autenticazione a 2 Fattori basata su TOTP (Time-based One-time Password) con Oracle APEX

    Ciao, trovo molto interessante il tuo articolo. Hai qualche suggerimento per l'autenticazione con spid? pensi di fare qualche guida al…

  4. Mario Volpetti su Oracle APEX: come creare un’applicazione web in 5 minuti

    Ottima spiegazione e complimenti per la semplicità che ai usato. Sono riuscito a farlo anche io con un foglio excel…

  5. Riccardo Liviabella su Google AppSheet: come creare una APP Mobile da un foglio Excel in 5 minuti

    Ciao Daniele e grazie per le tue interessanti spiegazioni. E' da un pò di anni che lavoro su Appsheet e…

  6. Daniele Trasarti su Come costruire Workflows Approvativi in Oracle APEX

    Ciao Bhavin, I think you badly copied PL-SQL because the one you provided is not correct. Fix the script and…

  7. Daniele Trasarti su Applicazione di Prenotazione Appuntamenti in Oracle APEX

    Grazie mille Franca!

Copyright © 2023 · APPin5Minuti.it · Privacy Policy · Cookie Policy