Where allowed to run:
|
Parameters Examples Error messages |
https://www.neroni.it/NERONI2/JCALLER.NERONI2.HTML
Recupera il nome del programma nonno (chiamante del chiamante) o del programma padre (chiamante).
https://www.neroni.it/NERONI2/JCALLERI.NERONI2.HTML
Al solo scopo di verificare interattivamente il command processing program in comune con il comando JCALLER, non richiede la variabile di ritorno e, in luogo di quella, restituisce un messaggio informativo in log.
Il recupero del solo nome programma avviene in questo tool tramite uno scambio messaggi. Il tool JRTVSTK, invece, tramite l'apposita API, recupera sia il nome che la libreria del programma.
Top |
Keyword | Description | Choices | Notes |
---|---|---|---|
CALLER | Caller Program name . . . . 10 | Character value | Required, Positional 1 |
KINSHIP | Kinship father/grandfather | *GRANDFATHER, *FATHER | Optional, Positional 2 |
Top |
Variabile di ritorno di tipo carattere adatta a contenere il nome del programma nonno (chiamante del chiamante) o del programma padre (chiamante).
Valori permessi:
Top |
Relazione di parentela richiesta rispetto al programma esecutore del comando corrente.
Valori permessi:
In un RPG il nome del programma e' reperibile all'interno del programma stesso tramite la lettura della program status data structure. L'espediente non e' invece disponibile all'interno di un CL. Non volendo cablare un nome che potrebbe cambiare per copiatura distratta del sorgente originale o per ridenominazione dell'oggetto compilato, il valore *FATHER all'interno del presente parametro permette anche ad un CL di conoscere il proprio nome.
Top |
Esempio 1: Restituisce nella variabile &CALLER il nome del programma nonno (chiamante del chiamante)
Con i soli parametri necessari: JCALLER CALLER(&CALLER) Anche con i parametri di default: JCALLER CALLER(&CALLER) KINSHIP(*GRANDFATHER)
Permette di conoscere il nome del programma che ha chiamato il programma esecutore del comando JCALLER.
Esempio 2: Restituisce nella variabile &CALLER il nome del programma padre (chiamante)
Con tutti i parametri, tutti necessari: JCALLER CALLER(&CALLER) KINSHIP(*FATHER)
Permette di conoscere il nome del programma esecutore del comando JCALLER.
Esempio 3: Test di JCALLERI
Si compili il seguente CLLE con il nome "JCALLERT1":
PGM JCALLERI KINSHIP(*GRANDFATHER) ENDPGM
Sul video comandi QCMD si prema F10 per avere il massimo dettaglio del log che mostra i messaggi presenti a piu' basso livello. Si presenta la scritta: "Tutti i comandi e messaggi precedenti:". Si eseguano quindi i seguenti comandi:
> CHGJOB LOGCLPGM(*NO) > CALL PGM(JCALLERT1) Chiamato da JCALLERT1 a sua volta chiamato da QCMD
Si osservi infine il messaggio informativo rilasciato dal comando JCALLERI.
Top |
Top |