Dizionario Database – Manuale Programmatore Dizionario Database Manuale Programmatore Pagina 1 Dizionario Database – Manuale Programmatore SOMMARIO 1 A chi è destinato .................................................................................................................. 3 2 3 Introduzione concettuale..................................................................................................... 3 Contenuti ............................................................................................................................. 3 3.1 Manutenzione Record Configurazione Applicazione ........................................................................................ 3 3.2 Manutenzione Dizionario ........................................................................................................................... 4 3.2.1 3.3 Manutenzione Campi ........................................................................................................................... 4 Routines per controllo formale, ricerca e decodifica campi .............................................................................. 5 3.3.1 API definite dall‟utente per il trattamento dei campi in Dizionario. .............................................................. 5 3.3.2 UDF WUF_DEC ................................................................................................................................... 6 3.3.3 Sintassi ............................................................................................................................................. 6 3.3.4 Descrizione dei parametri..................................................................................................................... 6 3.3.5 3.4 Pagina 2 Esempio ............................................................................................................................................ 6 FILE DECOD ............................................................................................................................................ 7 Dizionario Database – Manuale Programmatore 1 A CHI È DESTINATO Ai programmatori che desiderano implementare funzioni automatiche di documentazione, controllo, ricerca e decodifica di campi di database. 2 INTRODUZIONE CONCETTUALE Webgate400 gestisce un dizionario campi progettato per potenziare le funzionalità dell‟interfaccia in generale e dei vari applicativi configurabili dal cliente. (query e database links). Il dizionario permette : La definizione dei singoli campi La definizione dei programmi atti a decodificare e ricercare il contenuto degli stessi La definizione dei nomi “alias” utilizzati dalla applicazione in alternativa al nome principale del campo. 3 CONTENUTI 3.1 Manutenzione Record Configurazione Applicazione È necessario codificare le applicazioni dell‟utente per associare i singoli campi del dizionario alla applicazione correlata. I campi necessari sono quelli indicati nell‟esempio. Codice : inserire un codice alfanumerico inferiore a 001 o superiore a 030 (quelli compresi tra questi due numeri sono riservati). Nome File Dizionario Campi : Indicare un nome file entro il quale verranno inseriti tutti i campi definiti per una specifica applicazione utilizzando la apposita funzione di compilazione presente nel programma per la manutenzione del “Dizionario Campi”. Nome Libreria Files Originali : Inserire il nome della libreria entro la quale sarà posto il suddetto “File Dizionario Campi. Lunghezza Nomi Campi : Inserire la lunghezza dei campi (usare 10 salvo l‟utilizzo di prefissi). Confermando questo formato video, viene chiesta automaticamente la associazione della nuova applicazione ad uno o piu progetti webgate400. Pagina 3 Dizionario Database – Manuale Programmatore 3.2 Manutenzione Dizionario Il dizionario campi è utile per unificare le nomenclature e le caratteristiche dei campi di database e/o utilizzati nei formati video nonché per associare ai campi stessi alcune funzioni standard atte alla loro gestione. Il presente elaborato consente, utilizzando il pulsante “Compila dizionario”, di ottenere un solo file contenente tutti i campi utilizzati dalla applicazione. Durante la creazione della dds per un file di database, è possibile : - accedere a queste definizioni utilizzando la keyword dds a livello di file REF per identificare il suddetto file di dizionario. - nelle specifiche di campo, specificare il solo nome senza citare le altre caratteristiche che verranno importate dal dizionario. 3.2.1 Manutenzione Campi Per inserire un nuovo campo, è sufficiente porre il suo nome nel frame “Creazione Nuovo Campo” e premere ENTER. Per ogni campo è possibile definire i campi visibili nell‟esempio di seguito. - Codice Applicazione - Nome Campo - Funzione (per la definizione principale, utilizzare il valore “D” (Definizione)). - Descrizione (Tradotta dal programma Compila Dizionario nella keyword dds TEXT) - Intestazione (Tradotta dal programma Compila Dizionario nella keyword dds COLHDG) - Tipo, Lunghezza, Posizioni Decimali - Nome Libreria e Programma Decodifica/Controllo (vedi il paragrafo relativo alle routines per il “Controllo formale, ricerca e decodifica campi”). - Alias Inserire i nomi riferibili in termini di funzioni e contenuto al campo oggetto della definizione. Pagina 4 Dizionario Database – Manuale Programmatore 3.3 Routines per controllo formale, ricerca e decodifica campi 3.3.1 API definite dall’utente per il trattamento dei campi in Dizionario. Quando è necessario controllare, decodificare, ricercare un campo, WEBGATE400 richiama il programma indicato nel record dizionario dello specifico campo (nell„esempio sopra RTXT01 nella libreria CLX). Questo accade per esempio nelle funzioni di ricerca documenti via categorizzazione presente nella applicazione DATABASE LINKS oppure, utilizzando la funzione UDF WUF_DEC utilizzabile nelle istruzioni SQL per decodificare i campi senza utilizzare Join. Prossimamente le operazioni di controllo, decodifica e ricerca dei campi, saranno estese all‟uso dei filtri e oggetto di specifiche funzioni che consentiranno di delegare al client webgate400 funzioni che ora sono sviluppate all‟interno del programma RPG. Di seguito si descrivono i parametri e le regole di funzionamento che i programmi definiti dall‟utente (come RTXT01) devono seguire “esattamente” per garantire il comportamento previsto dalla applicazione webgate400. 3.3.1.1 Parametri Nome Lunghezza Descrizione P0XCODIN 20 Codice (Allineato a SX) P0XDECOD 50 Decodifica (Allineato a SX) P0XESITX 1 Esito controllo E=Errore Decodifica O P0XSBJID 10 Identificatore Soggetto (facoltativo) Si utilizza quando una singola routine dell‟utente tratta diversi campi. E‟ utilizzata quindi per diversificare i vari campi. I 3.3.1.2 Valori Parametro Input/Output I/O I/O! Regole di funzionamento La funzione di ricerca si attivata dalle seguenti condizioni : 1. Se il campo P0XCODIN è in bianco ed il campo P0XDECOD non è in bianco oppure … 2. Se il campo P0XCODIN contiene un ? (punto di domanda) alla prima posizione. La funzione di decodifica e controllo è attivata dalla seguente condizione : 1. Se il campo P0XCODIN non è in bianco. Se P0XCODIN e P0XDECOD sono entrambi compilati, il campo P0XDECOD viene abblencato presumendo così la richiesta di decodifica. Se è richiesta la funzione di ricerca e questa ha avuto esito positivo, viene anche attivata la funzione di decodifica ed il campo P0XDECOD viene quindi reso compilato. Pagina 5 Dizionario Database – Manuale Programmatore 3.3.2 UDF WUF_DEC Webgate400, dispone di alcune UDF (funzioni definite dall‟utente) che permettono di semplificare la sintassi delle istruzioni SQL. Queste sono disponibili sia in ambiente webgate400 che in ambiente 5250 per qualunque istruzione sql eseguita. NB L‟tilizzo delle UDF, qualora queste utilizzino archivi applicativi, prevede la corretta predisposizione della lista delle librerie. Per la decodifica dei campi descritti nel dizionari per i quali è definita la routine di controllo e decodifica è disponibile la UDF descritta di seguito. Essa, rende un campo (colonna) contenente la decodifica del codice indicato. 3.3.3 Sintassi WUF_DEC(CodiceApplicazione, Nome del campo nel dizionario, Campo Contenente il codice da decodificare). 3.3.4 Descrizione dei parametri Codice Applicazione Specificare il codice della applicazione (vedere codici applicazione nelle funzioni gestionali di webgate) Nome del campo nel dizionario Specificar e il nome del campo da decodificare come descritto nel dizionario campi. Campo Contenente il codice da decodificare Specificare il nome del campo che contiene il valore da decodificare. 3.3.5 Esempio WUF_DEC(‘001’, ‘CODAR’, XCODAR) Quindi la istruzione SQL descritta di seguito, renderebbe due colonne: Codice articolo e Decodifica articolo. SELECT XCODAR, WUF_DEC(‘001’, ‘CODAR’, XCODAR) FROM CLBAS Webgate400 a seguito di questa istruzione esegue i seguenti passi: 1. aggancia il record di dizionario per il campo “CODAR” 2. esegue il programma indicato (nel nostro caso RTXT01 passando nel parametro P0XCODIN il valore del campo XCODAR 3. riceve il valore ricavato dal parametro di output P0XDECOD descritto in precedenza. Pagina 6 Dizionario Database – Manuale Programmatore 3.4 FILE DECOD Il file DECOD contiene per ogni applicazione e per ogni campo che preveda una decodifica (per esempio un codice cliente, un codice articolo, ecc.). tutti i valori possibili dello stesso e la relativa decodifica. Questo file, la cui popolazione può essere effettuata a cura dell‟utente, è utilizzato dalla applicazione “Fast Query” e “Database Links”. Dalla applicazione Fast Query per esempio, è utilizzato sia per la decodifica automatica dei campi (senza gestire complicati join con tabelle e database eterogenei) e per effettuare ricerche alfabetiche durante la valorizzazione dei campi utili per la “Scelta Records”. Formato Record Nome Campo Descrizione Tipo Lunghezza XNRR Codice Applicazione (vedi paragrafo “Manutenzione Record Configurazione Applicazione“) A 3 XDECAM Nome Campo (vedi “Manutenzione Dizionario Campi / Pannelli”) A 10 XDECOD Codice A 20 XDEDES Decodifica A 50 XDEHMO Data-Ora Imm/Agg Record Decodifica Generale (formato HHMMSSGGMMAAAA) P 14 Esempio contenuti file DECOD contenente codice e decodifica di vari campi. XNRR XDECAM XDECOD XDEDES 001 CAME1 07 PRODUTTORE ITALIA 1182006012006 001 CAME1 09 STAMPI C/TERZI ITALIA 1182006012006 001 CAME1 49 CLIENTI OCCASIONALI 1082006012006 001 CAUST AA CAUSALE DI PROVA AA 2142006022006 001 CAUST RS RIPARAZIONE STAMPO 2142006022006 001 CAUST 05 MENSA 2142006022006 001 CCL01 AAA CLIENTE TOSTO 2 1102006012006 001 CCL01 002 CLASS. LIBERA CLIENTE 2 1082006012006 001 CCL02 001 CLASS. LIBERA 2 N.001 1082006012006 001 CCL02 002 CLASS. LIBERA 2 N.002 1082006012006 001 CCL03 002 CLAS .LIBERA 3 N. 002 1082006012006 001 CCL05 005 CLASS. LIBERA 5 N.005 1182006012006 001 CLASS AD MATERIE PER IMBALLAGGIO 1082006012006 001 CLASS AF DESCRIZIONE CLASSE AF 1082006012006 001 CLASS AR ARTICOLO FINITO 1082006012006 001 CODAN C A00001 CLIENTE DI PROVA MD 1082006012006 001 CODAN C 000001 AVAGLIANO ANTONIO SRL. 2272008022008 001 CODAN C 000002 TERMOSOL &SNC DI BOTTA 4172008042008 001 CODAR A5 PRODOTTO MATERIA PRIMA A5 8022006082006 001 CODAR A6 PRODOTTO MATERIA PRIMA A6 1132006012006 001 CODAR A9 PRODOTTO MATERIA PRIMA 8222006082006 Pagina 7 XDEHMO