//BCHJOB JOB(JREFDBF) JOBD(NERONI2/NERONI2) OUTQ(QPRINT) + ENDSEV(60) LOG(4 00 *SECLVL) MSGQ(*USRPRF) /* Open source scaricabile da www.neroni.it */ /* LA JOB DESCRIPTION "NERONI2/NERONI2" DEVE PREESISTERE. PUO' ESSERE */ /* IDENTICA A QBATCH E PUO' ESSERE SOSTITUITA DA QBATCH O SIMILE. */ /* From System: "S65D69DA" */ /* From Library: "NERONI2" */ /* Unload Time: 2015-06-18 18:15 */ /* To File : "JREFDBF" */ /* To Library : "NERONI2" */ /* To Text : "Reference Database. Src" */ /********* INIZIO ISTRUZIONI *******************************************/ /* LE SUCCESSIVE ISTRUZIONI PERMETTONO DI RICARICARE I SORGENTI. */ /* 1) DA UN VIDEO COMANDI DELL'AS400 RICEVENTE */ /* CREARE UN FILE SORGENTE DI LUNGHEZZA RECORD 112: */ /* CRTSRCPF FILE(NERONI2/STRINGHE) RCDLEN(112) */ /* 2) SPOSTARE IL FILE "JREFDBF.txt" NELL'INDIRIZZARIO */ /* DI UN PC CONNESSO IN RETE CON L'AS400 RICEVENTE */ /* (AD ES.: "c:\"). */ /* 3) DAL VIDEO COMANDI DEL PC CHIAMARE FTP: */ /* ftp nomeas400 */ /* 4) DIGITARE UTENTE E PASSWORD. */ /* 5) ESEGUIRE IL COMANDO DI COPIA DA FILE PC A MEMBRO AS400: */ /* put "c:\JREFDBF.txt" "/qsys.lib/NERONI2.lib/stringhe.file/JREFDBF.mbr" */ /* 6) ABBANDONARE FTP: */ /* quit */ /* 7) DA UN VIDEO COMANDI DELL'AS400 RICEVENTE */ /* ESEGUIRE LA STRINGA COPIATA NEL MEMBRO SORGENTE: */ /* SBMDBJOB FILE(NERONI2/STRINGHE) MBR(JREFDBF) JOBQ(QBATCH) */ /* LE SUCCESSIVE ISTRUZIONI PERMETTONO DI CREARE L'UTILITY. */ /* 8) DA UN VIDEO COMANDI DELL'AS400 RICEVENTE */ /* ESEGUIRE LA STRINGA O LE STRINGHE SORGENTE DI TIPO SEU "CL" */ /* (IL CUI NOME TERMINA SEMPRE CON ".") */ /* PRESENTI NEL FILE RICARICATO "NERONI2/JREFDBF" */ /* FACENDO ATTENZIONE ALL'ORDINE DI ESECUZIONE INDICATO NEL */ /* MEMBRO FACOLTATIVO "A.LEGGIMI", AD ESEMPIO: */ /* SBMDBJOB FILE(NERONI2/JREFDBF) MBR(JREFDBF.) JOBQ(QBATCH) */ /********* FINE ISTRUZIONI *********************************************/ /* Crea la libreria. */ MKDIR DIR('/qsys.lib/NERONI2.lib') CHGLIB LIB(NERONI2) TEXT('Utility di Claudio Neroni') /* Imposta la lista librerie. */ CHGLIBL LIBL(QTEMP NERONI2 QGPL) /* Crea il file sorgente. */ DLTF FILE(NERONI2/JREFDBF) CRTSRCPF FILE(NERONI2/JREFDBF) RCDLEN(112) + TEXT('Reference Database. Src') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(A.LEGGIMI) TOFILE(NERONI2/JREFDBF) + TOMBR(A.LEGGIMI) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(A.LEGGIMI) + SRCTYPE(TXT) + TEXT('Istruzioni di creazione tool') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBF) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBF) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBF) + SRCTYPE(CMD) + TEXT('Reference Database. Crt&FillDbLib. Cmd') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBF.) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBF.) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBF.) + SRCTYPE(CL) + TEXT('Reference Database. CrtJs') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFD) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFD) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFD) + SRCTYPE(PF) + TEXT('Reference Database. Outfile Dspobjd') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFDQ) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFDQ) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFDQ) + SRCTYPE(PF) + TEXT('Reference Database. Outfile Dspobjd QSYS') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFD1) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFD1) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFD1) + SRCTYPE(LF) + TEXT('Reference Database. Outfile Dspobjd') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFF) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFF) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFF) + SRCTYPE(PF) + TEXT('Reference Database. Pgmref') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFF1) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFF1) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFF1) + SRCTYPE(LF) + TEXT('Reference Database. Pgmref') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFF2) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFF2) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFF2) + SRCTYPE(LF) + TEXT('Reference Database. Pgmref') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFO) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFO) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFO) + SRCTYPE(PF) + TEXT('Reference Database. Outfile Dsppgmref') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFP) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFP) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFP) + SRCTYPE(PNLGRP) + TEXT('Reference Database. Help') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFR) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFR) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFR) + SRCTYPE(PF) + TEXT('Reference Database. Outfile Dspdbr') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFW) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFW) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFW) + SRCTYPE(PF) + TEXT('Reference Database. Outfile Row') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFX1) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFX1) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFX1) + SRCTYPE(RPGLE) + TEXT('Reference Database. Translate Dsppgmref') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBFX2) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBFX2) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBFX2) + SRCTYPE(RPGLE) + TEXT('Reference Database. Translate Dspdbr') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JREFDBF1) TOFILE(NERONI2/JREFDBF) + TOMBR(JREFDBF1) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(JREFDBF1) + SRCTYPE(CLLE) + TEXT('Reference Database. Crt&FillDbLib. Cpp') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(REFALL) TOFILE(NERONI2/JREFDBF) + TOMBR(REFALL) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(REFALL) + SRCTYPE(CL) + TEXT('Reference Database. Submit Crt&FillDbLib ALL') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(REFBPMF) TOFILE(NERONI2/JREFDBF) + TOMBR(REFBPMF) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(REFBPMF) + SRCTYPE(CL) + TEXT('Reference Database. Submit Crt&FillDbLib BPMF') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(REFFP_COV) TOFILE(NERONI2/JREFDBF) + TOMBR(REFFP_COV) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(REFFP_COV) + SRCTYPE(CL) + TEXT('Reference Database. Submit Crt&FillDbLib FP_COV') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(REFNETSOT) TOFILE(NERONI2/JREFDBF) + TOMBR(REFNETSOT) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(REFNETSOT) + SRCTYPE(CL) + TEXT('Reference Database. Submit Crt&FillDbLib NETSOT') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(REFNN) TOFILE(NERONI2/JREFDBF) + TOMBR(REFNN) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(REFNN) + SRCTYPE(CL) + TEXT('Reference Database. Submit Crt&FillDbLib NN') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(REFPRIM) TOFILE(NERONI2/JREFDBF) + TOMBR(REFPRIM) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JREFDBF) MBR(REFPRIM) + SRCTYPE(CL) + TEXT('Reference Database. Submit Crt&FillDbLib PRIM') /*---------------------------------------------------------------------*/ //DATA FILE(A.LEGGIMI) FILETYPE(*SRC) ENDCHAR('//ENDSRC') Eseguire prima di tutto la seguente job stream. JREFDBF. Reference Database. CrtJs Per creare i pgm di esplosione, esegui: JREFEXP. Reference Explode. CrtJs Per creare i pgm di implosione, esegui: JREFIMP. Reference Implode. CrtJs Per riempire i dati di lavoro preelaborati, sia per l'esplosione che per l'implosione, esegui: JREFDBF DTALIB(REFALL) LIBL(*ALLUSR) La durata di questa esecuzione e' esagerata, anche piu' di 24 ore. Conviene percio' usare la stringa REFALL per il lancio batch. Conviene anche frammentare usando stringhe "REFamb" che documentano solo l'ambiente "amb". //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBF) FILETYPE(*SRC) ENDCHAR('//ENDSRC') /* Reference Database. Create & Fill Database Library. Cmd */ /* Claudio Neroni 15-04-2008 Creato. */ /* */ CMD PROMPT('Program reference Database') PARM KWD(DTALIB) TYPE(*NAME) SPCVAL((REFALL)) + MIN(1) PROMPT('Data library') PARM KWD(LIBL) TYPE(*CHAR) LEN(10) RSTD(*YES) + DFT(*ALLUSR) VALUES(*LIBL *USRLIBL + *ALLUSR *ALL) PROMPT('Library list') PARM KWD(QSYSOBJD) TYPE(*CHAR) LEN(10) RSTD(*YES) + DFT(*USEOLD) VALUES(*USEOLD *CRTNEW) + PROMPT('Use of QSYS Object Description') //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBF.) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(JREFDBF.) JOBD(NERONI2/NERONI2) OUTQ(QPRINTS) + ENDSEV(60) LOG(4 00 *SECLVL) MSGQ(*USRPRF) /* Claudio Neroni 26/04/2008 Creato. */ /* JREFDBF */ /* Reference Database. */ /* Prerequisiti: nessuno */ /* Fornisce autorita'. */ JCMD /* Imposta la lista librerie. */ CHGLIBL LIBL(QTEMP QGPL) ADDLIBLE LIB(NERONI2) POSITION(*AFTER QTEMP) /* Cancella i logici preesistenti. */ DLTF FILE(NERONI2/JREFDBFD1) DLTF FILE(NERONI2/JREFDBFF1) DLTF FILE(NERONI2/JREFDBFF2) /* Cancella i fisici preesistenti. */ DLTF FILE(NERONI2/JREFDBFD) DLTF FILE(NERONI2/JREFDBFDQ) DLTF FILE(NERONI2/JREFDBFF) DLTF FILE(NERONI2/JREFDBFO) DLTF FILE(NERONI2/JREFDBFR) DLTF FILE(NERONI2/JREFDBFW) /* Cancella gli oggetti preesistenti. */ DLTCMD CMD(NERONI2/JREFDBF) DLTPNLGRP PNLGRP(NERONI2/JREFDBFP) DLTPGM PGM(NERONI2/JREFDBFX1) DLTPGM PGM(NERONI2/JREFDBFX2) DLTPGM PGM(NERONI2/JREFDBF1 ) /* Crea i file fisici. */ CRTPF FILE(NERONI2/JREFDBFD) SRCFILE(JREFDBF) SIZE(*NOMAX) CRTPF FILE(NERONI2/JREFDBFDQ) SRCFILE(JREFDBF) SIZE(*NOMAX) CRTPF FILE(NERONI2/JREFDBFF) SRCFILE(JREFDBF) SIZE(*NOMAX) CRTPF FILE(NERONI2/JREFDBFO) SRCFILE(JREFDBF) SIZE(*NOMAX) CRTPF FILE(NERONI2/JREFDBFR) SRCFILE(JREFDBF) SIZE(*NOMAX) CRTPF FILE(NERONI2/JREFDBFW) SRCFILE(JREFDBF) SIZE(*NOMAX) /* Crea i file logici. */ CRTLF FILE(NERONI2/JREFDBFD1) SRCFILE(JREFDBF) CRTLF FILE(NERONI2/JREFDBFF1) SRCFILE(JREFDBF) CRTLF FILE(NERONI2/JREFDBFF2) SRCFILE(JREFDBF) /* Crea gli oggetti. */ CRTBNDRPG PGM(NERONI2/JREFDBFX1) SRCFILE(JREFDBF) DBGVIEW(*LIST) + TGTRLS(*CURRENT) CRTBNDRPG PGM(NERONI2/JREFDBFX2) SRCFILE(JREFDBF) DBGVIEW(*LIST) + TGTRLS(*CURRENT) CRTBNDCL PGM(NERONI2/JREFDBF1) SRCFILE(JREFDBF) TGTRLS(*CURRENT) + DBGVIEW(*LIST) CRTPNLGRP PNLGRP(NERONI2/JREFDBFP) SRCFILE(JREFDBF) CRTCMD CMD(NERONI2/JREFDBF) PGM(JREFDBF1) SRCFILE(JREFDBF) + HLPPNLGRP(JREFDBFP) HLPID(CMD) PRDLIB(NERONI2) //ENDBCHJOB //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFD) FILETYPE(*SRC) ENDCHAR('//ENDSRC') * Claudio Neroni 14-04-2008 Creato. * File di emissione di DSPOBJD. A R QLIDOBJD FORMAT(QADSPOBJ) //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFDQ) FILETYPE(*SRC) ENDCHAR('//ENDSRC') * Claudio Neroni 18-06-2015 Creato. * Per non ripetere il lunghissimo Display Object Description su QSYS, * se lo conserva qua dentro. * File di emissione di DSPOBJD su QSYS A R QLIDOBJD FORMAT(QADSPOBJ) //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFD1) FILETYPE(*SRC) ENDCHAR('//ENDSRC') * Claudio Neroni 14-04-2008 Creato. * File di emissione di DSPOBJD. * Key oggetto, tipo, libreria. A UNIQUE A R QLIDOBJD A PFILE(JREFDBFD) A K ODOBNM A K ODOBTP A K ODLBNM //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFF) FILETYPE(*SRC) ENDCHAR('//ENDSRC') A R REF A TEXT('Reference. Pgmref') A REFPAN 10 A COLHDG('Nome' 'padre') A REFPAT 8 A COLHDG('Tipo' 'padre') A REFPAA 10 A COLHDG('Attributo' 'padre') A REFPAL 10 A COLHDG('Libreria' 'padre') A REFPAX 50 A COLHDG('Testo' 'padre') A REFFIN 10 A COLHDG('Nome' 'figlio') A REFFIT 8 A COLHDG('Tipo' 'figlio') A REFFIA 10 A COLHDG('Attributo' 'figlio') A REFFIL 10 A COLHDG('Libreria' 'figlio') A REFFIX 50 A COLHDG('Testo' 'figlio') A REFUSO 2 0 A COLHDG('Uso') //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFF1) FILETYPE(*SRC) ENDCHAR('//ENDSRC') * Claudio Neroni 14-04-2008 Creato. * Trascrizione del File di emissione di DSPPGMREF. * Key padre, tipo padre, figlio, tipo figlio. A R REF A PFILE(JREFDBFF) A K REFPAN A K REFPAT A K REFFIN A K REFFIT //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFF2) FILETYPE(*SRC) ENDCHAR('//ENDSRC') * Claudio Neroni 14-04-2008 Creato. * Trascrizione del File di emissione di DSPPGMREF. * Key figlio, tipo figlio, padre, tipo padre. A R REF A PFILE(JREFDBFF) A K REFFIN A K REFFIT A K REFPAN A K REFPAT //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFO) FILETYPE(*SRC) ENDCHAR('//ENDSRC') * Claudio Neroni 14-04-2008 Creato. * File di emissione di DSPPGMREF. A R QWHDRPPR FORMAT(QADSPPGM) //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFP) FILETYPE(*SRC) ENDCHAR('//ENDSRC') :PNLGRP. .*--------------------------------------------------------------------- :HELP NAME=CMD. :H3.Comando JREFDBF :H2.Estrae da un ambiente i dati necessari per esplodere o implodere gli oggetti contenuti. :P.Il comando prepara i dati necessari ai comandi :HP2.JREFEXP:EHP2. e :HP2.JREFIMP:EHP2. . :P.Si definisce :HP2.ambiente:EHP2. l'insieme delle librerie che stanno nella lista librerie del'utente in almeno un passo delle procedure che si vogliono documentare. Sia librerie :HP2.programmi:EHP2. che librerie :HP2.dati:EHP2. . A rigori vanno comprese anche le librerie indirizzate dalle override di qualunque genere. :P.Se la documentazione riguarda non si sa cosa all'interno del sistema, conviene predisporre l'ambiente *ALLUSR. :P.Il comando prende i dati dagli oggetti presenti nell'ambiente tramite i dati presenti in quattro file fisici che vengono riempiti preliminarmente. :PARML. :PT.JREFDBFD :PD.Contiene l'output di un comando DSPOBJD di tutti gli oggetti presenti nelle librerie dell'ambiente. :P.Ad esempio, l'ambiente *ALLUSR si ottiene col seguente comando: :P.:HP2. DSPOBJD OBJ(*ALLUSR/*ALL) OBJTYPE(*ALL) OUTPUT(*OUTFILE) OUTFILE(REFALL/JREFDBFD) :EHP2. :PT.JREFDBFO :PD.Contiene l'output di un comando DSPPGMREF di tutti gli oggetti presenti nelle librerie dell'ambiente. :P.Ad esempio, l'ambiente *ALLUSR si ottiene col seguente comando: :P.:HP2. DSPPGMREF PGM(*ALLUSR/*ALL) OUTPUT(*OUTFILE) OBJTYPE(*ALL) OUTFILE(REFALL/JREFDBFO) :EHP2. :P.Il file JREFDBFO non viene usato direttamente ma viene trascritto nel file JREFDBFF tramite il pgm JREFDBFX1. :PT.JREFDBFR :PD.Contiene l'output di un comando DSPDBR di tutti gli oggetti presenti nelle librerie dell'ambiente. :P.Ad esempio, l'ambiente *ALLUSR si ottiene col seguente comando: :P.:HP2. DSPDBR FILE(*ALLUSR/*ALL) OUTPUT(*OUTFILE) OUTFILE(REFALL/JREFDBFR) :EHP2. :P.Il file JREFDBFR non viene usato direttamente ma viene trascritto nel file JREFDBFF tramite il pgm JREFDBFX2. :PT.JREFDBFF :PD.Contiene la trascrizione normalizzata dei file JREFDBFO e JREFDBFR ottenuta tramite i seguenti comandi: :P.:HP2. CALL PGM(JREFDBFX1) :EHP2. :P.:HP2. CALL PGM(JREFDBFX2) :EHP2. :EPARML. :EHELP. .*--------------------------------------------------------------------- :HELP name='CMD/dtalib'. :H3.Data library (DTALIB) :P.Libreria dati :P.Nome della libreria nella quale giaceranno i dati per esplodere e implodere usando rispettivamente i comandi :HP2.JREFEXP:EHP2. e :HP2.JREFIMP:EHP2. . :P.Valori permessi: :PARML. :PT.:PK.REFALL:EPK.€ :PD.I dati per l'esplosione e l'implosione vengono caricati nella libreria REFALL. :P.Il nome :HP2.REFALL:EHP2. si usera' al meglio quando si richiede la lista librerie :HP2.*ALL:EHP2. . :PT.nome-libreria :PD.Il nome della libreria dati. :P.I dati per l'esplosione e l'implosione vengono caricati nella libreria indicata. :EPARML. :EHELP. .*--------------------------------------------------------------------- :HELP name='CMD/libl'. :H3.Library list (LIBL) - Tipo di elenco librerie :P.Lista librerie dell'ambiente da esplodere o implodere. :P.Valori permessi: :PARML. :PT.:PK DEF.*ALLUSR:EPK. :PD.Tutte le librerie utente del sistema. :PT.*LIBL :PD.Tutte le librerie in lista librerie al momento dell'esecuzione del corrente comando di generazione, :P.Prima dell'esecuzione occorrera' impostare una lista librerie adatta a definire l'ambiente che interessa. :PT.*USRLIBL :PD.Tutte le librerie nella parte utente della lista librerie al momento dell'esecuzione del corrente comando di generazione, :P.Prima dell'esecuzione occorrera' impostare una lista librerie adatta a definire l'ambiente che interessa. :PT.*ALL :PD.Tutte le librerie del sistema al momento dell'esecuzione del corrente comando di generazione, :EPARML. :EHELP. .*--------------------------------------------------------------------- :EPNLGRP. //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFR) FILETYPE(*SRC) ENDCHAR('//ENDSRC') * Claudio Neroni 18-06-2008 Creato. * File di emissione di DSPDBR. A R QWHDRDBR FORMAT(QADSPDBR) //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFW) FILETYPE(*SRC) ENDCHAR('//ENDSRC') A R OUT A TEXT('Reference Database. + A Outfile Row') A OUTRCS 1 A COLHDG('Recursione') A OUTGIA 1 A COLHDG('Già' 'elencato') A OUTCNT 6 0 A COLHDG('Contatore') A OUTIAN 3 0 A COLHDG('Indice' 'annidamento') A OUTIAND 12 A COLHDG('Scaletta') A OUTPAN 10 A COLHDG('Nome' 'padre') A OUTPAT 8 A COLHDG('Tipo' 'padre') A OUTPAA 10 A COLHDG('Attributo' 'padre') A OUTFIN 10 A COLHDG('Nome' 'figlio') A OUTFIT 8 A COLHDG('Tipo' 'figlio') A OUTFIA 10 A COLHDG('Attributo' 'figlio') A OUTFIX 50 A COLHDG('Testo' 'figlio') A OUTUSO 2 0 A COLHDG('Uso') A OUTUSOD 4 A COLHDG('Descrizione' 'uso') * A OUT001 18 COLHDG('Chiamante' '001') A OUT002 18 COLHDG('Chiamante' '002') A OUT003 18 COLHDG('Chiamante' '003') A OUT004 18 COLHDG('Chiamante' '004') A OUT005 18 COLHDG('Chiamante' '005') A OUT006 18 COLHDG('Chiamante' '006') A OUT007 18 COLHDG('Chiamante' '007') A OUT008 18 COLHDG('Chiamante' '008') A OUT009 18 COLHDG('Chiamante' '009') A OUT010 18 COLHDG('Chiamante' '010') A OUT011 18 COLHDG('Chiamante' '011') A OUT012 18 COLHDG('Chiamante' '012') A OUT013 18 COLHDG('Chiamante' '013') A OUT014 18 COLHDG('Chiamante' '014') A OUT015 18 COLHDG('Chiamante' '015') A OUT016 18 COLHDG('Chiamante' '016') A OUT017 18 COLHDG('Chiamante' '017') A OUT018 18 COLHDG('Chiamante' '018') A OUT019 18 COLHDG('Chiamante' '019') A OUT020 18 COLHDG('Chiamante' '020') A OUT021 18 COLHDG('Chiamante' '021') A OUT022 18 COLHDG('Chiamante' '022') A OUT023 18 COLHDG('Chiamante' '023') A OUT024 18 COLHDG('Chiamante' '024') A OUT025 18 COLHDG('Chiamante' '025') A OUT026 18 COLHDG('Chiamante' '026') A OUT027 18 COLHDG('Chiamante' '027') A OUT028 18 COLHDG('Chiamante' '028') A OUT029 18 COLHDG('Chiamante' '029') A OUT030 18 COLHDG('Chiamante' '030') A OUT031 18 COLHDG('Chiamante' '031') A OUT032 18 COLHDG('Chiamante' '032') A OUT033 18 COLHDG('Chiamante' '033') A OUT034 18 COLHDG('Chiamante' '034') A OUT035 18 COLHDG('Chiamante' '035') A OUT036 18 COLHDG('Chiamante' '036') A OUT037 18 COLHDG('Chiamante' '037') A OUT038 18 COLHDG('Chiamante' '038') A OUT039 18 COLHDG('Chiamante' '039') A OUT040 18 COLHDG('Chiamante' '040') A OUT041 18 COLHDG('Chiamante' '041') A OUT042 18 COLHDG('Chiamante' '042') A OUT043 18 COLHDG('Chiamante' '043') A OUT044 18 COLHDG('Chiamante' '044') A OUT045 18 COLHDG('Chiamante' '045') A OUT046 18 COLHDG('Chiamante' '046') A OUT047 18 COLHDG('Chiamante' '047') A OUT048 18 COLHDG('Chiamante' '048') A OUT049 18 COLHDG('Chiamante' '049') A OUT050 18 COLHDG('Chiamante' '050') A OUT051 18 COLHDG('Chiamante' '051') A OUT052 18 COLHDG('Chiamante' '052') A OUT053 18 COLHDG('Chiamante' '053') A OUT054 18 COLHDG('Chiamante' '054') A OUT055 18 COLHDG('Chiamante' '055') A OUT056 18 COLHDG('Chiamante' '056') A OUT057 18 COLHDG('Chiamante' '057') A OUT058 18 COLHDG('Chiamante' '058') A OUT059 18 COLHDG('Chiamante' '059') A OUT060 18 COLHDG('Chiamante' '060') A OUT061 18 COLHDG('Chiamante' '061') A OUT062 18 COLHDG('Chiamante' '062') A OUT063 18 COLHDG('Chiamante' '063') A OUT064 18 COLHDG('Chiamante' '064') A OUT065 18 COLHDG('Chiamante' '065') A OUT066 18 COLHDG('Chiamante' '066') A OUT067 18 COLHDG('Chiamante' '067') A OUT068 18 COLHDG('Chiamante' '068') A OUT069 18 COLHDG('Chiamante' '069') A OUT070 18 COLHDG('Chiamante' '070') A OUT071 18 COLHDG('Chiamante' '071') A OUT072 18 COLHDG('Chiamante' '072') A OUT073 18 COLHDG('Chiamante' '073') A OUT074 18 COLHDG('Chiamante' '074') A OUT075 18 COLHDG('Chiamante' '075') A OUT076 18 COLHDG('Chiamante' '076') A OUT077 18 COLHDG('Chiamante' '077') A OUT078 18 COLHDG('Chiamante' '078') A OUT079 18 COLHDG('Chiamante' '079') A OUT080 18 COLHDG('Chiamante' '080') A OUT081 18 COLHDG('Chiamante' '081') A OUT082 18 COLHDG('Chiamante' '082') A OUT083 18 COLHDG('Chiamante' '083') A OUT084 18 COLHDG('Chiamante' '084') A OUT085 18 COLHDG('Chiamante' '085') A OUT086 18 COLHDG('Chiamante' '086') A OUT087 18 COLHDG('Chiamante' '087') A OUT088 18 COLHDG('Chiamante' '088') A OUT089 18 COLHDG('Chiamante' '089') A OUT090 18 COLHDG('Chiamante' '090') A OUT091 18 COLHDG('Chiamante' '091') A OUT092 18 COLHDG('Chiamante' '092') A OUT093 18 COLHDG('Chiamante' '093') A OUT094 18 COLHDG('Chiamante' '094') A OUT095 18 COLHDG('Chiamante' '095') A OUT096 18 COLHDG('Chiamante' '096') A OUT097 18 COLHDG('Chiamante' '097') A OUT098 18 COLHDG('Chiamante' '098') A OUT099 18 COLHDG('Chiamante' '099') A OUT100 18 COLHDG('Chiamante' '100') //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFX1) FILETYPE(*SRC) ENDCHAR('//ENDSRC') /TITLE Reference. Translate Dsppgmref * Claudio Neroni 10-06-2008 Creato. *--------------------------------------------------------------------------------------------- * Trascrive il display program reference in un file meglio strutturato. *--------------------------------------------------------------------------------------------- H decedit('0,') datfmt(*dmy/) datedit(*dmy/) *--------------------------------------------------------------------------------------------- * File di emissione di DSPPGMREF. Fjrefdbfo ip e disk * Trascrizione di DSPPGMREF. Fjrefdbff o e disk * File di emissione di DSPOBJD. Fjrefdbfd1 if e k disk *--------------------------------------------------------------------------------------------- C do C if whlnam = 'QSYS' C leave C endif C if whfnam = *blank C leave C endif C clear ref C movel(p) whpnam refpan C movel(p) whlib refpal C select C when whspkg = 'M' C movel(p) '*MODULE' refpat C when whspkg = 'V' C movel(p) '*SRVPGM' refpat C when whspkg = 'S' C movel(p) '*SQLPKG' refpat C when whspkg = 'P' C movel(p) '*PGM' refpat C other C leave C endsl C movel(p) whfnam reffin C movel(p) whotyp reffit C movel(p) whlnam reffil C movel(p) whfusg refuso C kpa3 klist C kfld refpan C kfld refpat C kfld refpal C kpa2 klist C kfld refpan C kfld refpat C kpa3 chain jrefdbfd1 C if %found C movel(p) odobat refpaa C movel(p) odobtx refpax C else C kpa2 chain jrefdbfd1 C if %found C movel(p) odobat refpaa C movel(p) odobtx refpax C endif C endif C kfi3 klist C kfld reffin C kfld reffit C kfld reffil C kfi2 klist C kfld reffin C kfld reffit C kfi3 chain jrefdbfd1 C if %found C movel(p) odobat reffia C movel(p) odobtx reffix C else C kfi2 chain jrefdbfd1 C if %found C movel(p) odobat reffia C movel(p) odobtx reffix C endif C endif C write ref C enddo *--------------------------------------------------------------------------------------------- //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBFX2) FILETYPE(*SRC) ENDCHAR('//ENDSRC') /TITLE Reference. Translate Dspdbr * Claudio Neroni 18-06-2008 Creato. *--------------------------------------------------------------------------------------------- * Trascrive il display database relation in un file meglio strutturato. *--------------------------------------------------------------------------------------------- H decedit('0,') datfmt(*dmy/) datedit(*dmy/) *--------------------------------------------------------------------------------------------- * File di emissione di DSPDBR. Fjrefdbfr ip e disk * Trascrizione di DSPPGMREF e di DSPDBR. Fjrefdbff o e disk * File di emissione di DSPOBJD. Fjrefdbfd1 if e k disk *--------------------------------------------------------------------------------------------- C do C if whtype <> 'D' C leave C endif C clear ref C movel(p) whrefi refpan C movel(p) whreli refpal C movel(p) '*FILE' refpat C movel(p) whrfi reffin C movel(p) whrli reffil C movel(p) '*FILE' reffit C z-add 90 refuso C kpa3 klist C kfld refpan C kfld refpat C kfld refpal C kpa2 klist C kfld refpan C kfld refpat C kpa3 chain jrefdbfd1 C if %found C movel(p) odobat refpaa C movel(p) odobtx refpax C else C kpa2 chain jrefdbfd1 C if %found C movel(p) odobat refpaa C movel(p) odobtx refpax C endif C endif C kfi3 klist C kfld reffin C kfld reffit C kfld reffil C kfi2 klist C kfld reffin C kfld reffit C kfi3 chain jrefdbfd1 C if %found C movel(p) odobat reffia C movel(p) odobtx reffix C else C kfi2 chain jrefdbfd1 C if %found C movel(p) odobat reffia C movel(p) odobtx reffix C endif C endif C write ref C enddo *--------------------------------------------------------------------------------------------- //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JREFDBF1) FILETYPE(*SRC) ENDCHAR('//ENDSRC') /* Reference Database. Create & Fill Database Library. Cpp */ /* Claudio Neroni 06-11-2008 Creato. */ /* Crea e riempie la libreria dati per esplosione e implosione. */ /* */ PGM PARM(&DTALIB &LIBL &QSYSOBJD) /* Riceve Libreria dati. */ DCL VAR(&DTALIB) TYPE(*CHAR) LEN(10) /* Riceve Lista librerie da esaminare. */ DCL VAR(&LIBL) TYPE(*CHAR) LEN(10) /* Riceve Use of QSYS Object Description */ DCL VAR(&QSYSOBJD) TYPE(*CHAR) LEN(10) /* Testo libreria dati. */ DCL VAR(&DTALIBTXT) TYPE(*CHAR) LEN(50) /* Messaggio. */ DCL VAR(&MSG) TYPE(*CHAR) LEN(512) /* Numero di record in archivio. */ DCL VAR(&NCR) TYPE(*DEC) LEN(10 0) /* Prenotazione del CPF0001. */ DCL VAR(&CPF0001) TYPE(*LGL) /* Intercetta gli errori. */ MONMSG MSGID(CPF0000 MCH0000 CEE0000) EXEC(GOTO + CMDLBL(ERRORE)) /* Messaggia. */ CHGVAR VAR(&MSG) VALUE('-->Verifica esistenza + database in libreria' *BCAT &DTALIB) SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&MSG) + TOPGMQ(*EXT) MSGTYPE(*STATUS) SNDPGMMSG MSG(&MSG) TOPGMQ(*SAME) /* Compone il testo della libreria dati. */ CHGVAR VAR(&DTALIBTXT) VALUE('Reference Database:' + *BCAT &LIBL) /* Controlla l'esistenza della libreria dati. */ CHKOBJ OBJ(&DTALIB) OBJTYPE(*LIB) /* Se la libreria dati non esiste, la crea. */ MONMSG MSGID(CPF0000) EXEC(DO) CRTLIB LIB(&DTALIB) TYPE(*TEST) ENDDO /* Impone un testo alla libreria dati. */ CHGLIB LIB(&DTALIB) TYPE(*TEST) TEXT(&DTALIBTXT) /* Cancella i file logici ProgramReference. */ DLTF FILE(&DTALIB/JREFDBFF1) MONMSG MSGID(CPF0000 MCH0000) DLTF FILE(&DTALIB/JREFDBFF2) MONMSG MSGID(CPF0000 MCH0000) DLTF FILE(&DTALIB/JREFDBFD1) MONMSG MSGID(CPF0000 MCH0000) /* Cancella i file fisici ProgramReference. */ DLTF FILE(&DTALIB/JREFDBFF) MONMSG MSGID(CPF0000 MCH0000) DLTF FILE(&DTALIB/JREFDBFD) MONMSG MSGID(CPF0000 MCH0000) DLTF FILE(&DTALIB/JREFDBFO) MONMSG MSGID(CPF0000 MCH0000) DLTF FILE(&DTALIB/JREFDBFR) MONMSG MSGID(CPF0000 MCH0000) /* Crea i file fisici ProgramReference. */ JCPYCLR FROMFILE(JREFDBFF) TOFILE(&DTALIB/*FROMFILE) JCPYCLR FROMFILE(JREFDBFD) TOFILE(&DTALIB/*FROMFILE) JCPYCLR FROMFILE(JREFDBFO) TOFILE(&DTALIB/*FROMFILE) JCPYCLR FROMFILE(JREFDBFR) TOFILE(&DTALIB/*FROMFILE) /* Pulisce i file fisici ProgramReference. */ CLRPFM FILE(&DTALIB/JREFDBFF) CLRPFM FILE(&DTALIB/JREFDBFD) CLRPFM FILE(&DTALIB/JREFDBFO) CLRPFM FILE(&DTALIB/JREFDBFR) /* Crea i file logici ProgramReference. */ CRTDUPOBJ OBJ(JREFDBFF1) FROMLIB(*LIBL) OBJTYPE(*FILE) + TOLIB(&DTALIB) CRTDUPOBJ OBJ(JREFDBFF2) FROMLIB(*LIBL) OBJTYPE(*FILE) + TOLIB(&DTALIB) CRTDUPOBJ OBJ(JREFDBFD1) FROMLIB(*LIBL) OBJTYPE(*FILE) + TOLIB(&DTALIB) /* Messaggia. */ CHGVAR VAR(&MSG) VALUE('-->Display Program Reference' + *BCAT &LIBL *BCAT 'in corso') SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&MSG) + TOPGMQ(*EXT) MSGTYPE(*STATUS) SNDPGMMSG MSG(&MSG) TOPGMQ(*SAME) /* Estrae il Display Program Reference. */ DSPPGMREF PGM(&LIBL/*ALL) OUTPUT(*OUTFILE) + OBJTYPE(*ALL) OUTFILE(&DTALIB/JREFDBFO) /* 03-07-2014 Aggiunta intercettazione */ /* per schivare il seguente problema di sistema. */ /* CPF2102 Uscita 40 03/07/14 16:40:49,641214 QLICNV QSYS 002C QWHDSPPR QSYS 0228 */ /* Messaggio . . . : Il tipo di oggetto ed il codice sottotipo 'E840'X non sono */ /* validi. */ /* Causa . . . : Si è verificato un errore interno del sistema. Correzione . . */ /* . : Nessuna correzione. Annotare il problema (comando ANZPRB). */ MONMSG MSGID(CPF9999) CMPDTA(CPF2102) + EXEC(SNDPGMMSG MSG('Intercettato CPF9999 + con riporto di CPF2102: Tipo oggetto + sconosciuto. Vedi diagnostici in joblog.')) /* Messaggia. */ CHGVAR VAR(&MSG) VALUE('-->Display Object + Description' *BCAT &LIBL *BCAT 'in corso') SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&MSG) + TOPGMQ(*EXT) MSGTYPE(*STATUS) SNDPGMMSG MSG(&MSG) TOPGMQ(*SAME) /* Estrae il Display Object Description. */ DSPOBJD OBJ(&LIBL/*ALL) OBJTYPE(*ALL) + OUTPUT(*OUTFILE) OUTFILE(&DTALIB/JREFDBFD) /* Si assicura che ci sia sempre la descrizione degli oggetti di QSYS. */ IF COND(&LIBL *EQ *USRLIBL *OR &LIBL *EQ + *ALLUSR) THEN(DO) /* Verifica il contenuto del DSPOBJD di QSYS accantonato. */ RTVMBRD FILE(JREFDBFDQ) NBRCURRCD(&NCR) /* Se richiesta la rigenerazione del DSPOBJD di QSYS */ /* o se quello archiviato è vuoto, lo riempie. */ IF COND((&QSYSOBJD *EQ *CRTNEW) *OR (&NCR *EQ + 0)) THEN(DO) DSPOBJD OBJ(QSYS/*ALL) OBJTYPE(*ALL) + OUTPUT(*OUTFILE) OUTFILE(JREFDBFDQ) + OUTMBR(*FIRST *REPLACE) ENDDO /* Copia il DSPOBJD di QSYS accantonato in quello della lib dati. */ CPYF FROMFILE(JREFDBFDQ) TOFILE(&DTALIB/JREFDBFD) + MBROPT(*ADD) /* Si assicura che ci sia sempre la descrizione degli oggetti di QSYS. */ ENDDO /* Messaggia. */ CHGVAR VAR(&MSG) VALUE('-->Display Data Base + Relation' *BCAT &LIBL *BCAT 'in corso') SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&MSG) + TOPGMQ(*EXT) MSGTYPE(*STATUS) SNDPGMMSG MSG(&MSG) TOPGMQ(*SAME) /* Estrae il Display Data Base Relation. */ DSPDBR FILE(&LIBL/*ALL) OUTPUT(*OUTFILE) + OUTFILE(&DTALIB/JREFDBFR) /* Messaggia. */ CHGVAR VAR(&MSG) VALUE('-->Costruisce il reference + della libreria' *BCAT &DTALIB) SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&MSG) + TOPGMQ(*EXT) MSGTYPE(*STATUS) SNDPGMMSG MSG(&MSG) TOPGMQ(*SAME) /* Reindirizza i file. */ OVRDBF FILE(JREFDBFF) TOFILE(&DTALIB/JREFDBFF) OVRDBF FILE(JREFDBFD) TOFILE(&DTALIB/JREFDBFD) OVRDBF FILE(JREFDBFO) TOFILE(&DTALIB/JREFDBFO) OVRDBF FILE(JREFDBFR) TOFILE(&DTALIB/JREFDBFR) OVRDBF FILE(JREFDBFF1) TOFILE(&DTALIB/JREFDBFF1) OVRDBF FILE(JREFDBFF2) TOFILE(&DTALIB/JREFDBFF2) OVRDBF FILE(JREFDBFD1) TOFILE(&DTALIB/JREFDBFD1) /* Riunisce in un unico archivio i dati estratti. */ CALL PGM(JREFDBFX1) CALL PGM(JREFDBFX2) /* Messaggia. */ SNDPGMMSG MSG('Creato reference' *BCAT &LIBL *BCAT 'in + libreria' *BCAT &DTALIB) /* Label di esecuzione delle attività finali. */ RCLRSC: /* Dealloca ... */ /* Riacquisisce le risorse. */ RCLRSC MONMSG MSGID(CPF0000 MCH0000) /* Se richiesto, rilascia il CPF0001. */ IF COND(&CPF0001) THEN(DO) SNDPGMMSG MSGID(CPF0001) MSGF(QCPFMSG) MSGDTA(JREFDBF) + MSGTYPE(*ESCAPE) MONMSG MSGID(CPF0000 MCH0000) ENDDO /* Ritorna. */ RETURN /* Label di errore. */ ERRORE: /* Restituisce i messaggi al chiamante, */ /* trasformando eventuali escape in diagnostici. */ JRSNMSG MONMSG MSGID(CPF0000 MCH0000) /* Label di prenotazione del CPF0001. */ CPF0001: /* Prenota il CPF0001. */ CHGVAR VAR(&CPF0001) VALUE('1') MONMSG MSGID(CPF0000 MCH0000) /* Salta alle attività finali. */ GOTO CMDLBL(RCLRSC) ENDPGM //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(REFALL) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(REFALL) JOBD(NERONI2/NERONI2) OUTQ(QPRINTS) + ENDSEV(60) LOG(4 00 *SECLVL) LOGCLPGM(*YES) MSGQ(*USRPRF) JCMD JREFDBF DTALIB(REFALL) LIBL(*ALLUSR) //ENDBCHJOB //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(REFBPMF) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(REFBPMF) JOBD(NERONI2/NERONI2) OUTQ(QPRINTS) + ENDSEV(60) LOG(4 00 *SECLVL) LOGCLPGM(*YES) MSGQ(*USRPRF) JCMD /* Library List */ CO PGM(BPMF) JGOTO LABEL(OLTRE) /* Program reference Database */ JREFDBF DTALIB(REFBPMF) LIBL(*USRLIBL) JLABEL LABEL(OLTRE) /* Source member list */ JSRCL FROMLIB(*USRLIBL) OUTFILE(REFBPMF/JSRCLT) //ENDBCHJOB //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(REFFP_COV) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(REFFP_COV) JOBD(NERONI2/NERONI2) OUTQ(QPRINTS) + ENDSEV(60) LOG(4 00 *SECLVL) LOGCLPGM(*YES) MSGQ(*USRPRF) JCMD /* Library List */ LL PGM(FP) OPZIONE(COV) /* Program reference Database */ JREFDBF DTALIB(REFFP_COV) LIBL(*USRLIBL) /* Source member list */ JSRCL FROMLIB(*USRLIBL) OUTFILE(REFFP_COV/JSRCLT) //ENDBCHJOB //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(REFNETSOT) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(REFNETSOT) JOBD(NERONI2/NERONI2) OUTQ(QPRINTS) + ENDSEV(60) LOG(4 00 *SECLVL) LOGCLPGM(*YES) MSGQ(*USRPRF) JCMD /* Library List */ CO PGM(NET) JGOTO LABEL(OLTRE) JLABEL LABEL(OLTRE) /* Program reference Database */ JREFDBF DTALIB(REFNETSOT) LIBL(*USRLIBL) /* Source member list */ JSRCL FROMLIB(*USRLIBL) OUTFILE(REFNETSOT/JSRCLT) //ENDBCHJOB //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(REFNN) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(REFNN) JOBD(NERONI2/NERONI2) OUTQ(QPRINTS) ENDSEV(60) + LOG(4 00 *SECLVL) LOGCLPGM(*YES) MSGQ(*USRPRF) JCMD /* Library List */ LL PGM(NN) /* Program reference Database */ JREFDBF DTALIB(REFNN) LIBL(*USRLIBL) /* Source member list */ JSRCL FROMLIB(*USRLIBL) OUTFILE(REFNN/JSRCLT) //ENDBCHJOB //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(REFPRIM) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(REFPRIM) JOBD(NERONI2/NERONI2) OUTQ(QPRINTS) + ENDSEV(60) LOG(4 00 *SECLVL) LOGCLPGM(*YES) MSGQ(*USRPRF) JCMD /* Library List */ CO PGM(PRIM) JGOTO LABEL(OLTRE) /* Program reference Database */ JREFDBF DTALIB(REFPRIM) LIBL(*USRLIBL) JLABEL LABEL(OLTRE) /* Source member list */ JSRCL FROMLIB(*USRLIBL) OUTFILE(REFPRIM/JSRCLT) //ENDBCHJOB //ENDSRC //ENDBCHJOB