Where allowed to run:
|
Parameters Examples Error messages |
JACT Restituisce una variabile attivo/non attivo.
JACTI Restituisce un messaggio informativo attivo/non attivo.
Cerca sul sistema la presenza di un lavoro attivo col nome richiesto, non importa con che numero e di quale utente.
La ricerca avviene intercettando la stampa di un WRKACTJOB "Work with active jobs".
La funzionalita' del presente tool e' coperta e ampliata da JWAJQ e JWAJQI "Work active jobs query" basati sul tool JWAJ "Work active jobs outfile". che, per elencare i lavori attivi, si vale a sua volta non di una stampa ma della API di sistema QGYOLJOB "Open List of Jobs".
Il tool corrente e' pero' particolarmrnte semplice e sufficientemente veloce e puo' essere preferito a JWAJ dove non si voglia impattare con la complessita' della chiamata alla API QGYOLJOB.
Top |
Keyword | Description | Choices | Notes |
---|---|---|---|
JOBNAM | Job name | Name | Required, Positional 1 |
ACTIVE | Active *YES/*NO 4 | Character value | Required, Positional 2 |
REFPGM | Reference program for messages | Name, *CPP | Optional, Positional 3 |
Top |
Nome da cercare tra i lavori attivi del sistema.
Il valore e' obbligatorio.
Valori permessi:
Top |
Parametro obbligatorio restituito in una variabile di 4 caratteri.
Il valori restituiti possono essere:
*YES Il lavoro e' attivo sul sistema. *NO Il lavoro NON e' attivo sul sistema.
Se il parametro in input viene impostato a:
*MSG Ritorna messaggio.
restituisce non solo la risposta *YES/*NO ma anche uno dei seguenti messaggi informativi:
Top |
Nei tool complessi a piu' livelli, il presente parametro compare in tutti i comandi di interfaccia dal primo all'ultimo dei chiamati in cascata e permette di condividere il programma di riferimento al cui chiamante verranno spediti i messaggi emessi da tutti i tool coinvolti.
Il programma di riferimento e' il command processing program del tool di cappello che, direttamente o indirettamente, chiama tutti gli altri. Il cappello, dopo aver riempito con il proprio nome il parametro "programma di riferimento", lo passa anche ai tool chiamati che lo utilizzano per spedire i propri messaggi.
Valori permessi:
I messaggi emessi dal programma corrente saranno indirizzati al chiamante del programma di riferimento, preferibilmete un video comandi.
Utile quando il comando corrente e' chiamato da un altro comando con il quale condivide il presente parametro.
Valori speciali:
I comandi da questo chiamati (e che prevedono lo stesso parametro) faranno riferimento al programma corrente e i messaggi emessi da tali programmi saranno indirizzati al chiamante del programma corrente.
Utile quando il comando corrente e' il primo chiamante da un video comandi e a sua volta chiama altri tool condividendo il presente parametro.
ATTENZIONE: Il valore *PRV e' previsto solo in qualche comando di ultimo livello allo scopo di renderne comoda la chiamata in un contesto non strutturato come detto sopra. Per sapere se uno specifico comando utilizza il valore *PRV, consultare l'elenco dei valori permessi premendo F4 sul parametro REFPGM.
Top |
Esempio 1: Esamina lavori con il comando JACT
Si abbia il seguente sorgente JACTT1, presente anche tra i sorgenti del tool.
PGM PARM(&JOBNAM) DCL VAR(&JOBNAM) TYPE(*CHAR) LEN(10) DCL VAR(&ACTIVE) TYPE(*CHAR) LEN(4) JACT JOBNAM(&JOBNAM) ACTIVE(&ACTIVE) SNDPGMMSG MSGID(JAC0091) MSGF(NERONI2/JACT) + MSGDTA(&ACTIVE) ENDPGM
Si chiama il programma di test che simula l'uso del comando JACT e si ottiene il seguente log.
> CALL PGM(NERONI2/JACTT1) PARM(N1NERO) La variabile ACTIVE contiene "*YES" > CALL PGM(NERONI2/JACTT1) PARM(MANCA) La variabile ACTIVE contiene "*NO"
Si osservi il contenuto della variabile di ritorno ACTIVE, evidenziato dall'apposito messaggio di servizio.
Esempio 2: Esamina lavori con il comando JACTI
Si chiama il comando JACTI e si ottiene il seguente log.
> JACTI JOBNAM(N1NERO) Il lavoro N1NERO e' ATTIVO > JACTI JOBNAM(MANCA) Il lavoro MANCA NON e' attivo
I messaggi di risposta rispecchiano lo stato dei lavori indagati.
Esempio 3: Esamina lavori con il programma JACTC
Il command processing program JACTC eseguito dai comandi JACT e JACTI e' costruito in modo da permettere anche la chiamata mediante call, in specie da un rpgle. La documentazione della call viene inserita qui perche' la posizione e' intuitiva e mnemonica.
Il programma JACTC e' presente anche in QGPL per permetterne la chiamata anche senza NERONI2 in lista librerie.
Prima variante: ritorna la variabile ma nessun messaggio.
Il programma di esempio chiamata documenta in log il valore della variabile.
Si abbia il seguente sorgente JACTCT1, presente anche tra i sorgenti del tool.
* Legge il proprio nome programma. D PSDS sds D PGM 334 343 * Prenota chiusura. C seton lr * Riceve i parametri da passare. C *entry plist C parm JOBNAM JACT C* Esempio di chiamata di "Job is active?". JACT C call 'JACTC' Job is active? JACT C parm JOBNAM 10 I Job name JACT C parm ACTIVE 4 I *MSG / O *YES-*NO * Segnala il risultato. C call 'JMSG2' Send info msg C parm 'JAC0091' JMSGI 7 I Msg identification C parm 'JACT' JMSGF 10 I Msg file C parm ACTIVE JMSGD 512 I Msg data C parm PGM JMSGR 10 I Reference program
Si chiama il programma JACTCT1 e si ottiene il seguente log.
> CALL PGM(NERONI2/JACTCT1) PARM(N1NERO) La variabile ACTIVE contiene "*YES" > CALL PGM(NERONI2/JACTCT1) PARM(MANCA) La variabile ACTIVE contiene "*NO"
Si osservi il contenuto della variabile di ritorno ACTIVE, evidenziato dall'apposito messaggio di servizio.
Esempio 4: Esamina lavori con il programma JACTC
Variante dell'esempio 3: ritorna la variabile e un messaggio di esito congruente con il contenuto della variabile.
Il programma di esempio chiamata documenta in log il valore della variabile.
Si abbia il seguente sorgente JACTCT2, presente anche tra i sorgenti del tool. I programmi JACTCT1 e JACTCT2 differiscono tra loro solo per le istruzioni evidenziate in entrambi.
* Legge il proprio nome programma. D PSDS sds D PGM 334 343 * Prenota chiusura. C seton lr * Riceve i parametri da passare. C *entry plist C parm JOBNAM JACT C* Esempio di chiamata di "Job is active?". JACT C call 'JACTC' Job is active? JACT C parm JOBNAM 10 I Job name JACT C parm '*MSG' ACTIVE 4 I *MSG / O *YES-*NO JACT C parm PGM REFPGM 10 I Reference program * Segnala il risultato. C call 'JMSG2' Send info msg C parm 'JAC0091' JMSGI 7 I Msg identification C parm 'JACT' JMSGF 10 I Msg file C parm ACTIVE JMSGD 512 I Msg data C parm PGM JMSGR 10 I Reference program
Si chiama il programma JACTCT2 e si ottiene il seguente log.
> CALL PGM(NERONI2/JACTCT2) PARM(N1NERO) Il lavoro N1NERO e' ATTIVO La variabile ACTIVE contiene "*YES" > CALL PGM(NERONI2/JACTCT2) PARM(MANCA) Il lavoro MANCA NON e' attivo La variabile ACTIVE contiene "*NO"
I messaggi di risposta rispecchiano lo stato dei lavori indagati. Si osservi il contenuto della variabile di ritorno ACTIVE, evidenziato dall'apposito messaggio di servizio.
Top |
Messaggi *INFO e *COMP
Messaggi *DIAG seguiti da *ESCAPE CPF0001
Nessun messaggio specifico previsto.
Top |