JREF
VERSIONE 2
ESPLOSIONE PROGRAMMI
Viste le lungaggini del lavoro che sto svolgendo e non potendo quindi metter mano a breve agli abbellimenti dell'utility, ho deciso di pubblicare la versione 2 dell'esplosione programmi cosi' come si trova adesso.
NUOVO
DATABASE
Il pgm rpg di esplosione e' riscritto sopra un nuovo database.
La prima versione usava i file di output dei comandi DSPPGMREF e DSPOBJD come sono, con la sola aggiunta di chiavi.
NUOVO
COMANDO DI IMPLOSIONE
Nella seconda versione, per aggiungere l'implosione (che il mio istinto di ex edp manager di aziende di produzione esigeva) ho preelaborato il database per renderlo simmetrico (informazioni sull'oggetto figlio uguali a quelle sull'oggetto padre).
In tal modo l'implosione e' venuta quasi gratis, semplicemente cambiando vista logica e rovesciando i nomi dei campi padre/figlio.
In piu' la struttura ha potuto recepire altre informazioni (DSPDBR) senza quasi piu' toccare i programmi.
Ed altre potra' recepire scansionando sorgenti e query con adeguati altri programmetti da scrivere.
Il comando di esplosione JREFEXP e quello di implosione JREFIMP si sono complicati un po' per parzializzare le spaventose liste dell'ambiente in cui sguazzo oggi, in cui tutto chiama tutto.
Sui comandi manca ancora la genericizzazione (un asterisco in fondo al valore) di alcuni parametri, ad esempio gli attributi programmi e mi sono contentato di parametruzzi a due byte (RP=RPG, RPGLE, RPG38, ...). Cambiero'.
STRINGA DI
GENERAZIONE SORGENTI
Per la prima volta non pubblico una monostringa di compilazione omnicomprensiva che genera anche gli oggetti eseguibili perche' questo mi costringeva, finita l'utility, a costruire e collaudare la stringa.
La stringa si limita oggi a ricostruire sulla macchina ricevente lo stesso file sorgente con tutti i membri sui quali ho lavorato in sviluppo, stringhe di compilazione incluse.
CREARE GLI
ESEGUIBILI
Per creare gli eseguibili sulla macchina ricevente si usano percio' le stesse stringhe CL (contenute nel file sorgente) che sono servite a farlo sulla macchina datrice.
Quindi la stringa pubblicata, una volta lanciata con un SBMDBJOB, si limita ad eseguire un lavoro di ricostruzione del file sorgente originale.
A far questo mi ha spinto la necessità di eseguire non solo la creazione degli eseguibili ma anche il riempimento periodico dei file di lavoro.
Una stringa specifica si occupa della funzione e puo' essere adattata alla propria necessita' scegliendo tutte le librerie da documentare.
Il metodo della stringa perde le date di aggiornamento sulle righe sorgente ma nessuno mette impedimenti sulle reti aziendali alla visualizzazione e allo scarico di file ".txt".
Per comporre la stringa ho scritto un'altra utility JWEB1 (che pubblichero') per ridurre al minimo le operazioni sul materiale in vista della pubblicazione.
Qualche stranezza nelle stringhe CL da sottomettere per ottenere gli eseguibili e' dovuta alla necessita' di individuare facilmente lungo le righe il nome della libreria di creazione per poterla sostituire.