Argomenti della Giornata Progetto Getra Graphic Argomenti della Giornata Nuova architettura di Webgate400 Implementazioni “semplici” Interfaccia Nuova “Configurazione Runtime” Implementazioni “avanzate” Interfaccia Alcune “facility” di Webgate400 “Più avanti” nella Modernizzazione
Nuova architettura di Webgate400 Progetto Getra Graphic Nuova architettura di Webgate400 A tempo di esecuzione, i DSPF convertiti diventano vere e proprie tabelle (PF) collocate in apposite librerie di appoggio: default = WGTDBL400 Ogni tabella conterrà la definizione di un “formato record”. WG4SYSFD/WGTDBIDX è l’indice di queste tabelle. Ad ogni chiusura di programma vengono “svuotate” le relative tabelle. Operazioni in IPL di ottimizzazione delle tabelle tramite l’utility WGUIMGR -r (anche controllo congruità)
Nuova architettura di Webgate400 Progetto Getra Graphic Nuova architettura di Webgate400 Vantaggi: Il peso nell’effettuare operazioni complesse viene spostato dal Client al Server Possibilità di “estendere” le tabelle da interfaccia Il Client non deve “vedere” tutti i record di Subfile per Esportarli, Ordinarli, Gerarchizzarli, Filtrarli, ecc. Parziale abbandono degli *USRIDX nel rapporto Client/Server Non è richiesta nessuna ri-conversione dei programmi attuali
Nuova architettura di Webgate400 Progetto Getra Graphic Nuova architettura di Webgate400 Svantaggi: Questa pagina è stata intenzionalmente lasciata vuota
Nuova architettura di Webgate400 Progetto Getra Graphic Nuova architettura di Webgate400 Attivazione: Agendo sul file WG4SYSFD/ODAZI (record EDM/999999) Da Gestione Ambienti On Demand
Implementazioni “semplici” Interfaccia Progetto Getra Graphic Implementazioni “semplici” Interfaccia Combinazione tasti ALT+R per simulare tasto destro del mouse su incrocio subfile Combinazione tasti ALT+O per ordinare colonne subfile Modalità esposizione Tasti Funzione Modalità esposizione Opzioni Subfile Modalità visualizzazione Posizione Cursore Modalità Rotella del Mouse (wheel mouse):
Implementazioni “semplici” Interfaccia Progetto Getra Graphic Implementazioni “semplici” Interfaccia Marcatura Campi Input Subfile. Espansione Subfile in Windows : *fmtatr2193=R(1) SFLRCDNBR: (CURSOR *TOP) Svuotamento Buffer Tastiera: non tipo CTRL 5250 (Ripristino) ma attivo/disattivo Blocco colonne Subfile (impedire lo scorrimento delle colonne oltre l'area di visualizzazione)
Nuova “Configurazione Runtime” Progetto Getra Graphic Nuova “Configurazione Runtime” Nuovo look interfaccia principale Ripartite logicamente le “Gestioni” Più chiare (e immediate) le selezioni Personalizzabili chiamate funzioni Sistema
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Filtri Subfile Solo per Designer/Abilitati a Filtri Si attivano premendo ALT+F (cursore nel subfile) Semplici o Composti (1 o più righe di filtro) Vengono applicati in AND se applicati sulla stessa riga, in OR tra più righe) Click su pulsante elenco per aprire il filtro guidato
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Filtri Subfile Sintassi SQL (where). Esempio 1: Filtrare i clienti che hanno avuto movimenti nell’anno xxxx IN( SELECT jcdcan FROM jfcmv03l WHERE jcdsoc='001' AND jcdtan='C' AND jdtreg BETWEEN 20070101 AND 20071231 )
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Filtri Subfile …continua Sintassi SQL (where). Esempio 2: Filtrare i clienti che hanno prodotto (in totale) più di yyyyyy IN( SELECT fmtccl FROM prd5000f GROUP BY fmtccl HAVING SUM(fmsnmt01)<3000 )
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Filtri Subfile …continua Sintassi SQL (where). Esempio 3: Filtrare solo i clienti di una provincia (campo non presente nel subfile) IN( SELECT jancan FROM jfana00f WHERE jansoc='001' and jantan='C' and janprv='BS‘ )
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Filtri Subfile …continua Sintassi SQL (where). Esempio 4: Filtrare solo i clienti che si chiamano “ROSSI” LIKE ‘%ROSSI’ Oppure LIKE ROSSI
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Filtri Subfile …continua Sintassi SQL (where). Per i campi alfabetici gli apici (') non sono obbligatori Se non specificato nessun operatore si assume = (uguale) Per l’istruzione LIKE se non indicato viene assunto automaticamente in testa e in coda il simbolo % (percentuale)
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Filtri Subfile Salvataggio Filtri con Estremi Personalizzazione
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Filtri Subfile Richiamo filtri salvati L’applicazione di un filtro è percepibile perché l’intestazione di colonna diventa Rossa
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Accesso non Vedenti E’ possibile attivare la “voce” a Webgate400, utile soprattutto per gli utenti non vedenti. Si attiva dal menù “?” attraverso la voce “Abilita Lettura” Vengono lette automaticamente le informazioni di Login e ogni titolo Finestra (ALT+T per rileggerlo). Attraverso poi gli “Attributi Oggetti” è possibile impostare quali “etichette+valore campo” verranno letti.
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile Tramite un apposita interfaccia (richiamabile dal menù Strumenti- Personalizzazioni-Aggiunta Colonne) sarà possibile aggiungere colonne ai subfile. In generale, i campi/colonne recuperati nei formati record presenti verranno descritti tramite la forma &nomeformato.nomecampo (oppure solo &nomecampo se il formato è lo stesso su cui viene fatta la personalizzazione).
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile I campi che possono essere aggiunti possono essere valorizzati in quattro modalità diverse: DECODIFICHE EXIT PROGRAM FORMULE MATEMATICHE ISTRUZIONI SQL
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: Parte comune Tutti i 4 tipi di aggiunta hanno in comune il primo pannello di dati:
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: Decodifiche Nel dizionario di Webgate400 viene codificato per ogni campo che programma usare per decodificarlo (tecnica usata anche in DBLink, FastQuery, ecc.) Il programma chiamato ha una struttura di parametri fissa, ma potrebbe essere usato un pgm standard per le decodifiche utilizzata attraverso il files DECOD
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: Decodifiche I parametri di questo programma di decodifica saranno: Per le decodifiche composte, è previsto il “campo associato”
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: Exit Program Verrà richiamato il programma dichiarato passando due particolari strutture di parametri: La prima è unica e identificherà quante strutture del secondo tipo verranno passate, che dimensione avranno e in quale struttura c’è il campo che si deve valorizzare La seconda struttura verrà ripetuta “n” volte e contiene l’intero elenco dei campi del formato record con le sue caratteristiche, compreso dove nel buffer si trova il dato
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: Exit Program Queste sono le strutture: vedere esempio CWG009
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: Formula Valgono le () e sono ammessi i classici operatori algebrici. Dovendo far riferimento ad un dato presente su un altro formato (esposto): &nomeformato.nomecampo
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: SQL Rispettando la sintassi dell’SQL, è possibile fare delle “SELECT” utilizzando come WHERE I campi presenti a video (non necessariamente lo stesso formato). Per sfruttare il fatto che da una Select potremmo recuperare più campi, è stato introdotto il concetto di campo “Master” e campo “Slave”. Quindi può essere eseguita una sola Select che popola più colonne aggiunte.
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: SQL Nel caso riportato sopra, la Select riguarda più campi: JANIN1, JANIN2, JANLOC, JANPRV Se non diversamente specificato, il primo campo in Select viene utilizzato per popolare questa colonna aggiunta. Il nome della nuova colonna sarà utilizzato come “Master” in modo da ripartire gli altri campi (JANIN2, JANLOC, JANPRV) su altrettanti nuove colonne aggiunte.
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: SQL Nel caso riportato sopra, la Select riguarda più campi: JANIN1, JANIN2, JANLOC, JANPRV Se non diversamente specificato, il primo campo in Select viene utilizzato per popolare questa colonna aggiunta. Il nome della nuova colonna sarà utilizzato come “Master” in modo da ripartire gli altri campi (JANIN2, JANLOC, JANPRV) su altrettanti nuove colonne aggiunte.
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia Aggiunta colonne subfile: SQL Questo sarà quello che metteremo nel secondo campo aggiunto (il “Campo Riferimento” è utile se il nome del campo aggiunto è diverso da quello utilizzato nel comporre lo statement Sql sul campo Master) E così via…..
Implementazioni “avanzate” interfaccia Progetto Getra Graphic Implementazioni “avanzate” interfaccia I Colori La gestione dei colori avviene tramite il menù Strumenti + Gestione Colori. Un utente Designer può memorizzare i colori scelti. Le impostazioni Company/Utente vengono salvate su IFS nella cartella /webgate400/styles (crearla se assente). Le impostazioni di default devono essere create da un Client e poi copiate dalla cartella di cache /IndirizzoIP/Styles alla cartella /webgate400/styles, chiamando l’XML: default.xml
Alcune “facility” di Webgate400 Progetto Getra Graphic Alcune “facility” di Webgate400 Le Tabs e gli attributi di formato: Sono SQL con cui possiamo “arricchire” un video direttamente da interfaccia. Possono essere: Statiche (la “where” è fissa) Dinamiche (la “where” è legata a qualche altro campo presente a video (sia parte fissa che subfile) Non dobbiamo dimenticare che all’interno delle Tabs, possiamo utilizzare i “Format Attribute” di Webgate400 per creare Gerarchizzazioni (con Riepiloghi) e possiamo anche introdurre le chiavi per poter generare un grafico.
Alcune “facility” di Webgate400 Progetto Getra Graphic Alcune “facility” di Webgate400 Le Tabs e gli attributi di formato: Il programma CWG002 altro non è che un video vuoto (lato codice, solo EXFMT), e attraverso questa Tabs diventa qualcosa di fruibile
Alcune “facility” di Webgate400 Progetto Getra Graphic Alcune “facility” di Webgate400 Le Tabs e gli attributi di formato: Addirittura in grado, premendo l’apposito pulstante di produrre immediatamente un grafico.
Alcune “facility” di Webgate400 Progetto Getra Graphic Alcune “facility” di Webgate400 Immagini e Button Image: Facilmente vengono messe nei form Immagini, Text Icons e Extended Icons (per I Button Image). E’ utile ricordare che è possibile utilizzare proprie immagini (soprattutto .ico), magari mettendole in una sottocartella della /WGPublic. Sia per le Text Icons che per le Extended Icons è utile ricordare che per “standardizzare” le descrizioni associate è possibile codificale nel file XFIMG della propria libreria oggetti (anche quando hanno associato un comando)
Alcune “facility” di Webgate400 Progetto Getra Graphic Alcune “facility” di Webgate400 Keyword “poco” conosciute: <w>*hide</w>: utilizzata sui campi Hidden, impedisce che un informazione non utile in grafica venga passata dal Server al Client. <w>*cpyright</w>: abbinata a un campo del formato video, ne sposta il contenuto al posto della dicitura ‘Powered by IBM ISeries’ (se questa dicitura è disabilitata a livello di configurazione runtime)… <w>*fit</w>: adatta le immagini alla dimensione reale del campo.
Alcune “facility” di Webgate400 Progetto Getra Graphic Alcune “facility” di Webgate400 Keyword “poco” conosciute: <w><h>intestazione_colonna</h></w>: Semplice: una sola descrizione Condivise: si raggruppano diverse intestazioni tramite una parte comune: se contigue l’effetto è: Variabile: <h>nomeFormato.nomevariabile</h> File Messaggi: <h>&filemessaggi.mic</h> In tutti I casi, se presente anche costante/variabile a video, è necessario attribuirle la keyword (<w>*ignore</w>)
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione %Bif: E’ possibile utilizzare le %Bif (Build in Function) anche quando riguardano le operazioni di I/O con il DSPF: Chain Subfile If %Found(Subfile); ReadC Subfile If %Eof(Subfile) L’unico prerequisito è che dopo la %Bif sia sempre dichiarato il nome del formato record utilizzato. Rpg/free: E’ possibile utilizzare l’RPG/Free anche per le parti di gestione del DSPF.
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione Drag & Drop: L’effetto del Drag & Drop avviene tramite un particolare tipo di Service Command. Viene invocato il Service Command quando uno o più elementi a video specifici vengono “draggati”. Il Comando può già autonomamente chiamare dei componenti di “Gestione dell’oggetto” (Interrogazione, Modifica, Cancellazione, Stampa), oppure compiere un azione che un altro programma, attraverso un artificio (non esistono eventi in RPG!), può intercettare.
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione Drag & Drop: Gli esempi CWG004 e CWG005 sono stati predisposti proprio per dimostrarne l’effetto. Dal pgm Origine (CWG004) sarà possibile “draggare” uno o più Codici Cliente nel pgm Destinazione (CWG005)
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione Drag & Drop: Il Service Command è stato realizzato in questo modo: da notare il 1° parametro ‘*DS’ e 6° che è ‘&5’ e non ‘%5’
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione LOBS: Gestione di oggetti complessi all'interno di applicazioni 5250 convertite Webgate400. Obiettivo: poter gestire oggetti esterni come fossero dati nativi delle applicazioni, utilizzando una tecnica simile a quella utilizzata per la gestione dei CLOB/BLOB dal DB/2, ma semplificata dal punto di vista della programmazione. L’utilizzo richiede conoscenza delle tecniche di realizzazione e gestione degli oggetti CLOB (Character Large Object) o BLOB (Binary Large Object): No!!
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione LOBS: Alla data sono gestiti due tipi di oggetti LOB: Txt e Mht L’esempio CWG003 dimostra l’utilizzo di entrambe i controlli. I campi lob devono avere il nome con il prefisso WLOB_ e devono necessariamente essere lunghi 18Char. Devono avere la TEXT <lob> … </lob>, qualificante come negli esempi seguenti: <w><lob>txt h:10 w:80 s:F1 d:F4 l:F5 </lob></w> <w><lob>mht h:10 w:80 s:F1 d:F4 l:F5</lob></w> Le key s: (tasto save), d: (tasto delete), l: (tasto lose change)
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione LOBS: Il programmatore deve fondamentalmente occuparsi di salvare sui suoi normali archivi il campo lungo 18Char! Vengono archiviati su IFS in un particolare percorso: /WGPublic/Lobs/lobstore_subdir/annomese/UNIDE.xxx I Lobs possono essere trasportati da un sistema all’altro semplicemente salvando e ripristinando la directory IFS che li contiene (non va mai salvato il loro indice). Hanno una serie di Api per automatizzare alcune funzioni: Copia, Rebuild index, Delete, ecc.
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione LOBS: Il Lobs “Txt” è un oggetto che permette di gestire a video un editor avanzato (anche se solo testuale) e permette di creare/modificare/stampare testi direttamente dai pgm.
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione LOBS: Il Lobs “Mht” è un oggetto che permette di gestire a video un editor avanzato (quello di Outlook Express) e permette di creare/modificare documenti direttamente dai pgm.
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione Script e WGEXEIOUT: Alcuni applicativi creano/gestiscono documenti (tipo .pdf, .doc, .xls, .html, .xml) e hanno la necessità di aprirli da un programma. L’utilizzo dell’STRPCCMD (anche emulato da Webgate400) funziona se il documento è già sul PC (o in un percorso di rete). Se invece l’oggetto è su IFS (non condiviso) è possibile usare il componente WGEXEIOUT per aprire il documento da programma.
Più avanti nella Modernizzazione Progetto Getra Graphic Più avanti nella Modernizzazione Script e WGEXEIOUT: L’esempio CWG008 dimostra come sia possibile creare un semplice files HTML su IFS per poi aprirlo direttamente. La stessa cosa può essere utilizzata tramite Link (exei://) richiamando un programma RPG: Il Print Box di Webgate400, fondamentalmente fa questo.
Grazie a tutti dell’attenzione! Progetto Getra Graphic ….fine…. Grazie a tutti dell’attenzione!