Where allowed to run: All environments (*ALL) Threadsafe: No |
Parameters Examples Error messages |
http://www.neroni.it/NERONI2/JREFIMP.NERONI2.HTML
Implode un programma, un file o un'area dati elencando i programmi chiamanti.
Note: Il comando JREFIMP e' stato originato da una variante del piu' utilizzato JREFEXP rovesciando sistematicamente il significato di padre e figlio nella modifica dell'algoritmo dall'una all'altra funzione. Tuttavia l'esplosione si e' evoluta senza piu' trascinare l'implosione per mancanza di urgenza. Sara' fatto.
Il comando permette di:
1) vedere
2) e stampare
un elenco annidato dei file e dei programmi chiamanti in risalita del programma, file o area dati richiesta.
I comandi JREFEXP e JREFIMP possono essere eseguiti solo dopo aver generato una libreria con il comando preparatorio JREFDBF.
La libreria di informazioni estratta dal comando JREFDBF con il nome indicato nel parametro REFLIB va comunicata ai comandi JREFEXP e JREFIMP tramite il parametro omonimo REFLIB.
Si elencano le intestazioni di colonna della stampa.
R = Padre gia' presente in lista chiamata G = Padre gia' sviluppato Row = Numero progressivo di riga Level = Grafismo rappresentativo del livello di annidamento Son = Figlio ovvero nome del chiamato dall'oggetto indicato sulla stessa riga come padre Type = Tipo oggetto del figlio Attrib = Attributo del figlio Father = Padre ovvero nome del chiamante dell'oggetto indicato sulla stessa riga come figlio Type = Tipo oggetto del padre Attrib = Attributo del padre Usag = Uso del figlio all'interno del padre I = Input O = Output U = Update ? = Sconosciuto dbr = relazione proveniente dal Display Data Base Relation Text = Descrizione del padre
Nota:Il comando sopporta 100 livelli di annidamento ma si tratta di un limite arbitrario che puo' essere incrementato.
I numerosi parametri in coda al comando hanno tutti, a vario titolo, il compito di limitare la lista in emissione per facilitarne la lettura.
Top |
Keyword | Description | Choices | Notes |
---|---|---|---|
OBJ | Object name | Name | Required, Positional 1 |
OBJTYPE | Object type | *PGM, *DTAARA, *FILE, *SRVPGM, *ALL | Optional, Positional 2 |
DEVELOP | Development type | *ALL, *PGM | Optional, Positional 3 |
TOLAST | To last elements only | *NO, *YES | Optional, Positional 4 |
SEEN | Already seen | *YES, *NO | Optional, Positional 5 |
PGMATR | Program attribute | Values (up to 20 repetitions): Character value, BA, CB, CL, DF, QR, RP | Optional, Positional 6 |
OBJATR | Object attribute | Values (up to 50 repetitions): Character value, PRTF, DSPF, PF, LF, RPG, CLP, RPGLE, CLLE, BLANK, BLANKF, TAPF | Optional, Positional 7 |
MAXLVL | Max level | 1-100, 100 | Optional, Positional 8 |
INPUT | Input use | *YES, *NO | Optional, Positional 9 |
OUTPUT | Output use | *YES, *NO | Optional, Positional 10 |
UPDATE | Update use | *YES, *NO | Optional, Positional 11 |
UNKNOWN | Unknown use | *YES, *NO | Optional, Positional 12 |
DBREL | Database relation use | *NO, *YES, *FATHER | Optional, Positional 13 |
NOUSE | No use | *YES, *NO | Optional, Positional 14 |
REFLIB | Reference library | Name, REFALL | Optional, Positional 15 |
Top |
Nome dell'oggetto da cui parte l'implosione.
Il valore e' obbligatorio.
Valori permessi:
Top |
Tipo dell'oggetto da cui parte l'implosione.
Valori permessi:
Top |
Definisce il tipo di sviluppo da stampare.
Si puo' ottenere la lista di tutti gli oggetti oppure la lista dei soli programmi.
Valori permessi:
Top |
Sceglie se stampare solo le righe degli oggetti senza altri oggetti dipendenti.
Valori permessi:
Top |
Sceglie se emettere le righe degli oggetti gia' visti in una riga precedente nel corso dell'implosione in corso.
Le righe gia' viste sono comunque dotate del flag "G".
Valori permessi:
Top |
Permette di scegliere quelle righe di emissione nelle quali il padre, per ora sempre un programma, ha un attributo che inizia con le due lettere qui indicate. Cosi', se si vogliono i programmi RPG o RPGLE o RPG38, si richiede "RP".
Permessa lista fino a 20 ricorrenze.
Valori permessi:
Valori speciali:
I suffissi seguenti sono solo un suggerimento tra i molti possibili.
Top |
Permette di scegliere quelle righe di emissione nelle quali il figlio ha un attributo che coincide con quello qui indicato. Cosi', se si vogliono i programmi RPGLE, si richiede "RPGLE".
Permessa lista fino a 50 ricorrenze.
Valori permessi:
Valori speciali:
Gli attributi seguenti sono solo un suggerimento tra i molti possibili.
Top |
Numero del massimo livello da raggiungere nell'implosione.
Si assegna il livello zero all'oggetto da implodere; si assegna il livello uno agli oggetti chiamanti dell'oggetto da implodere; si assegna il livello due agli oggetti chiamanti di quelli di livello uno; cosi' via per tutti gli oggetti chiamanti in risalita.
Ogni implosione ha un proprio numero massimo di chiamanti che vengono tutti documentati nell'implosione.
Il parametro corrente provoca l'arresto dell'implosione quando viene raggiunto il livello richiesto invece che il livello massimo vero. Il comportamento dell'implosione e' cioe' uguale a quello che si avrebbe se gli oggetti raggiunti dall'implosione al livello richiesto non fossero chiamanti di nessuno.
Valori permessi:
Top |
Sceglie se emettere le righe degli oggetti elaborati in immissione.
Valori permessi:
Top |
Sceglie se emettere le righe degli oggetti elaborati in emissione.
Valori permessi:
Top |
Sceglie se emettere le righe degli oggetti elaborati in sovrascrittura (update).
Valori permessi:
Top |
Sceglie se emettere le righe degli oggetti elaborati in modo sconosciuto.
Valori permessi:
Top |
Sceglie se emettere le righe degli oggetti elaborati tramite le relazioni di database.
Valori permessi:
Top |
Sceglie se emettere le righe degli oggetti senza alcuna indicazione di utilizzo.
Valori permessi:
Top |
Nome della libreria nella quale giacciono i riferimenti da usare per l'implosione precedentemente preparati con il comando JREFDBF.
Valori permessi:
Valori speciali:
Top |
Esempio zero: Crea ambiente di prova
Si esamini l'esempio zero riportato nel testo d'aiuto del comando "JREFEXP".
Esempio 1: Implode un programma
Chiama l'implosione di default di un file che, nella stampa di esplosione del programma chiamante di tutti gli altri nell'ambiente di prova dell'esempio zero, e' stato documentato con il livello piu' alto di annidamento come risulta dalla stampa www.neroni.it/NERONI2/JREFEXP01.pdf
Si osserva il richiamo REFLIB(REFJREFT) alla libreria di riferimento. Si riportano comandi e log.
> JREFIMP OBJ(JREFT1) OBJTYPE(*FILE) REFLIB(REFJREFT)
Questo comando genera una stampa riportata al link www.neroni.it/NERONI2/JREFIMP01.pdf
Sulla stampa in prima colonna si osserva il flag "R" che individua una chiamata ricorsiva dentro lo sviluppo corrente che, se percorsa, terminerebbe in errore l'esecuzione del flusso di programmi documentato.
Top |
Messaggi *INFO e *COMP
Nessun messaggio.
Messaggi *DIAG seguiti da *ESCAPE CPF0001
Restituisce come diagnostici i messaggi di rilascio imprevisti eventualmente ricevuti.
Top |