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

  • Quando ST = 0, solo istruzioni Job.

  • Quando ST = 1, JCL insieme ai parametri simbolici espansi.

  • Quando ST = 2, solo ingresso JCL.

MSG = Tipo di messaggi scritti nel registro di output.

  • Quando MSG = 0, i messaggi di allocazione e terminazione scritti al completamento anomalo del lavoro.

  • Quando MSG = 1, i messaggi di assegnazione e risoluzione vengono scritti indipendentemente dalla natura del completamento del lavoro.

TYPRUN

Specifica un'elaborazione speciale per il lavoro. Di seguito è la sintassi:

TYPRUN = SCAN | HOLD

Dove SCAN e HOLD ha la seguente descrizione

  • TYPRUN = SCAN controlla gli errori di sintassi del JCL senza eseguirlo.

  • TYPRUN = HOLD mette il lavoro in HOLD nella coda dei lavori. Per rilasciare il lavoro, "A" può essere digitato contro il lavoro nello SPOOL, che porterà il lavoro in esecuzione.

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.