JCL - Istruzione JOB
L'istruzione JOB è la prima istruzione di controllo in un JCL. Questo fornisce l'identità del lavoro al sistema operativo (OS), nello spool e nello scheduler. I parametri nell'istruzione JOB aiutano i sistemi operativi ad allocare il giusto scheduler, il tempo di CPU richiesto e l'emissione di notifiche all'utente.
Sintassi
La seguente è la sintassi di base di un'istruzione JOB JCL:
//Job-name JOB Positional-param, Keyword-param
Descrizione
Vediamo la descrizione dei termini usati nella sintassi dell'istruzione JOB sopra.
Nome del lavoro
Questo fornisce un ID al lavoro mentre lo invia al sistema operativo. Può essere lungo da 1 a 8 con caratteri alfanumerici e inizia subito dopo //.
LAVORO
Questa è la parola chiave per identificarlo come un'istruzione JOB.
Parametro posizionale
Esistono parametri posizionali, che possono essere di due tipi:
Parametro posizionale | Descrizione |
---|---|
Account information | Si riferisce alla persona o al gruppo a cui è dovuto il tempo della CPU. È impostato secondo le regole della società proprietaria dei mainframe. Se è specificato come (*), prende l'ID dell'utente, che ha attualmente effettuato l'accesso al Mainframe Terminal. |
Programmer name | Questo identifica la persona o il gruppo che è responsabile del JCL. Questo non è un parametro obbligatorio e può essere sostituito da una virgola. |
Keyword-param
Di seguito sono riportati i vari parametri delle parole chiave, che possono essere utilizzati nell'istruzione JOB. È possibile utilizzare uno o più parametri in base ai requisiti e sono separati da virgola:
Parametro parola chiave | Descrizione |
---|---|
CLASS | In base alla durata e al numero di risorse richieste dal lavoro, le aziende assegnano diverse classi di lavoro. Questi possono essere visualizzati come pianificatori individuali utilizzati dal sistema operativo per ricevere i lavori. Posizionare i lavori nello scheduler giusto aiuterà nella facile esecuzione dei lavori. Alcune aziende hanno classi diverse per i lavori in ambiente di test e produzione. I valori validi per il parametro CLASS sono caratteri da A a Z e da 0 a 9 numerici (di lunghezza 1). Di seguito è la sintassi: CLASS=0 to 9 | A to Z |
PRTY | Per specificare la priorità del lavoro all'interno di una classe di lavoro. Se questo parametro non è specificato, il lavoro viene aggiunto alla fine della coda nella CLASS specificata. La seguente è la sintassi: PRTY=N Dove N è un numero compreso tra 0 e 15 e maggiore è il numero, maggiore è la priorità. |
NOTIFY | Il sistema invia il messaggio di esito positivo o negativo (codice condizione massima) all'utente specificato in questo parametro. Di seguito è la sintassi: NOTIFY="userid | &SYSUID" Qui il sistema invia il messaggio all'utente "userid" ma se usiamo NOTIFY = & SYSUID, il messaggio viene inviato all'utente che invia il JCL. |
MSGCLASS | Per specificare la destinazione di output per il sistema e i messaggi di lavoro al termine del lavoro. Di seguito è la sintassi: MSGCLASS=CLASS I valori validi di CLASS possono essere da "A" a "Z" e da "0" a "9". MSGCLASS = Y può essere impostato come classe per inviare il log del lavoro a JMR (JOBLOG Management and Retrieval: un repository all'interno di mainframe per memorizzare le statistiche del lavoro). |
MSGLEVEL | Specifica il tipo di messaggi da scrivere nella destinazione di output specificata in MSGCLASS. Di seguito è la sintassi: MSGLEVEL=(ST, MSG) ST = Tipo di istruzioni scritte nel registro di output
MSG = Tipo di messaggi scritti nel registro di output.
|
TYPRUN | Specifica un'elaborazione speciale per il lavoro. Di seguito è la sintassi: TYPRUN = SCAN | HOLD Dove SCAN e HOLD ha la seguente descrizione
|
TIME | Specifica l'intervallo di tempo che deve essere utilizzato dal processore per eseguire il lavoro. Di seguito è la sintassi: TIME=(mm, ss) or TIME=ss Dove mm = minuti e ss = secondi Questo parametro può essere utile durante il test di un programma appena codificato. Per garantire che il programma non venga eseguito a lungo a causa di errori di loop, è possibile codificare un parametro time in modo che il programma si interrompa in modo anomalo quando viene raggiunto il tempo CPU specificato. |
REGION | Specifica lo spazio indirizzo richiesto per eseguire una fase di lavoro all'interno del lavoro. Di seguito è la sintassi: REGION=nK | nM Qui, la regione può essere specificata come nK o nM dove n è un numero, K è kilobyte e M è Megabyte. Quando REGION = 0K o 0M, viene fornito lo spazio degli indirizzi più grande per l'esecuzione. Nelle applicazioni critiche, la codifica di 0K o 0M è vietata per evitare di sprecare lo spazio degli indirizzi. |
Esempio
//URMISAMP JOB (*),"tutpoint",CLASS=6,PRTY=10,NOTIFY=&SYSUID,
// MSGCLASS=X,MSGLEVEL=(1,1),TYPRUN=SCAN,
// TIME=(3,0),REGION=10K
Qui, l'istruzione JOB viene estesa oltre la 70a posizione in una riga, quindi continuiamo nella riga successiva che dovrebbe iniziare con "//" seguita da uno o più spazi.
Parametri vari
Ci sono pochi altri parametri che possono essere usati con l'istruzione JOB ma non sono usati frequentemente:
ADDRSPC | Tipo di archiviazione utilizzato: virtuale o reale |
BYTES | Dimensione dei dati da scrivere nel registro di output e azione da intraprendere quando la dimensione viene superata. |
LINES | Numero massimo di righe da stampare nel registro di output. |
PAGES | Numero massimo di pagine da stampare sul registro di output. |
USER | ID utente utilizzato per inviare il lavoro |
PASSWORD | Password dell'id utente specificato nel parametro USER. |
COND and RESTART | Questi vengono utilizzati nell'elaborazione della fase di lavoro condizionale e vengono spiegati in dettaglio durante la discussione dell'elaborazione condizionale. |