Está en la página 1de 12

JCL BÁSICO, PROCEDIMIENTOS, VSAM Y PROGRAMAS DE UTILIDAD

JCL3
INTRODUCCIÓN

El lenguaje de control de trabajos (JCL) es una de las formas de comunicación con el


sistema operativo del ordenador. El sistema operativo lo constituue un conjunto de
programas cuyo objetivo es conseguir la utilización más eficiente del mismo.

Consta de una serie de sentencias, con una sintaxis determinada, mediante las
cuales se indica al sistema operativa los programas y ficheros que van a necesitarse para
ejecutar un trabajo determinado.

Las sentencias son:

 Setencia JOB

Indica el comienzo de un trabajo. Sólo hay una.

 Setencia EXEC

Indica el programa a ejecutar. Hay una por cada programa que debe
ejecutarse para realizar el trabajo.

 Setencia DD

Describe un fichero. Hay una por cada fichero a utilizar.

La sintaxis de las sentencias:

Sentencia Columnas 1 y 2 Campos (desde columna 3)


JOB // nombre, operación (JOB), operandos
EXEC // nombre, operación (EXEC), operandos
DD // nombre, operación (DD), operandos

Campos de las Sentencias de Control:

 El campo de NOMBRE identifica a la sentencia, de tal forma que otra ficha o el


propio sistema puede hacer referencia a ella o a lo que contiene. Está compuesto
de 1 a 8 caracteres alfanuméricos excepto signos especiales. El 1º carácter debe
ser numérico.

 El campo OPERACIÓN indica el tipo de sentencia de control o, en su caso, el


comando. Debe de estar separado del campo NOMBRE por al menso un blanco.

 El campo OPERANDOS contiene los parámetros relativos a la sentencia de


control separados por comas. Debe ir separado del campo OPERACIÓN por al
menos un blanco.

 Los parámetros pueden ser de dos tipos: POSICIONALES, en los cuales el


significado de cada parámetro viene dado por su posición dentro del conjunto de
todos los parámetros, o bien de PALABRA CLAVE, en los cuales el significado
viene dado por una palabra especial.

JCL3
 En el caso de no codificar algún parámetro posicional, su ausencia debe indicarse
con una coma en el sitio donde debiera estar el parámetro.

 A su vez un parámetro puede estar compuesto de una serie de subparámetros,


los cuales pueden ser posicionales o de palabra clave. Los subparámetros
deberán ir encerrados entre paréntesis.

Se dispone de las columnas 1-71 de la ficha para codificar la sentencia de control.


No obstante, en el caso de que no fueran suficientes, puede continuarse en fichas siguientes
respetando las siguientes reglas:

- Se puede interrumpir la codificación de la sentencia en cualquier


parámetro o subparámetro, incluyendo la coma que le sigue, antes de la
columna 72.

- Si hay comentarios, hay que codificar un carácter no blanco en la columna


72.

- En la ficha de continuación codifique // en las columnas 1 y 2.

- Empiece la codificación de la ficha de continuación entre las columnas 4 y


16.

JCL3
SENTENCIA DE CONTROL JOB

Indica el principio de un JOB.

Se debe codificar una y sólo una sentencia JOB por cada JOB que se introduzca en el
sistema. El nombre del JOB deberá tener 8 caracteres alfanuméricos. La palabra JOB
deberá perforarse en la columna 12.

Parámetros Posicionales

1. Información de contabilidad

Especifica la información contable exigida por la instalación.

Debe ser el primero parámetro.

Su codificación es (XPPPPP, NNNNN)

X = Tipo actividad
P, trabajos pruebas no submitidos por TSO.
T, trabajos pruebas submitidas por TSO.
PPPPP = Identificación del proyecto.
NNNN = Cinco primeros digito del número de personal.

2. Nombre del programador:

Debe ir tras la información de contabilidad e identifica al responsable de ese


JOB.

Tiene una longitud máxima de 20 caracteres. Si contiene caracteres


especiales (excepción: punto) debe ir encerrado entre apóstrofos, y, si alguno de los
caracteres es un apóstrofo, debe ir duplicado.

Parametros de palabra clave

Pueden estar en cualquier orden pero detrás de los parámetros posicionales.

Parámetro CLASS

Asigna al JOB una cola de entrada donde los va a colocar la función de entrada en
espera de que se le llame a ejecución. Su codificación es:

CLASS = Clase de ejecución

Las clases van especificadas por un carácter alfanumérico (A – Z, 0 – 9). Ver clases
ejecución en portada listado de salida).

JCL3
Parámetro MSGLEVEL

Sirve para solicitar la impresión de las sentencias de control. Su codificación es:

MSGLEVEL = 1

Parámetro MSGCLASS

Indica la clase de salida para la impresión de la información solicitada por el


parámetro MSGLEVEL.

Su codificación es:

MSGCLASS = clase salida.

(Ver clases de salida en listados de impresión)

Parámetro TYPRUN

Indica cómo debe considerar el sistema a nuestro JOB con vistas a ejecución.

Si codificación es:

TYPRUN = HOLD

- HOLD: El JOB coloca en la cola de la clase de entrada, pero no se puede


ejecutar hasta que el operador lo libere. Es obligatorio cuando se consulten
ficheros de explotación o se utilicen ficheros en cinta.

- SCAN: Se comprueban los posibles errores de la ficha de control del JOB, pero
no ejecuta dicho JOB.

Parámetro NOTIFY

Sirve para indicar al ordenador que comunique al usuario de TSO, cuando ha


finalizado un trabajo enviado para este usuario.

Su codificación es:

NOTIFY = TSOUSER

JCL3
SENTENCIA CONTROL EXEC

La sentencia de control EXEC identifica un paso de trabajo dentro del JOB.

Cada sentencia EXEC identifica un paso de trabajo dentro del JOB.

Cada sentencia EXEC deberá identificarse con un nombre de la forma PASONNN,


siendo NNN un número correlativo comenzado en 010 y con incremento de 10.

Parámetro PGM:

Indica que la sentencia EXEC está haciendo referencia a un programa para llamarlo a
ejecución y de qué programa concreto se trata.

Debe comenzar en la columna 11.

La codificación es:

PGM = nombre de programa.

El nombre de programa debe tener no más de 8 caracteres alfanuméricos, el primero


de los cuales debe ser no númerico.

Parámetro TIME

Permite limitar el uso de la CPU por el programa.

La codificación es:

TIME = (minutos, segundos)

Si se codifica sólo minutos, no hace falta poner paréntesis. Si se codifica sólo


segundos, el formato será ( , segundos).

Recomendable en trabajos de pruebas.

JCL3
SETENCIA DD

(DATA DEFINITION = definición de datos)

La sentencia DD no va a permitir referenciar los ficheros con los que vamos a


trabajar e indicarle al sistema, si esos ficheros deben crearse en ese momento, qué espacio
necesitan en ese caso, si se trata de una cinta, o discos, o fichas, si es un fichero que ya
existía, su organización, .... en fin, todas las características de los ficheros con los que ha de
trabajar nuestro programa.

Cada sentencia DD tiene un nombre, de no más de ocho posiciones, que sirve para
enlazar, el nombre que se ha dado a ese fichero en el programa, con el nombre real
indicado en el parámetro DSN, que veremos más adelante.

Con el fin de unificar el formato de esta sentencia, se seguirá la siguiente regla:

Los parámetros de la sentencia DD se perforarán en varias fichas, con el orden y


contenido que a continuación se indica:

Ficha / / ddname DD DSN = nombre fichero


“ / / DCB = (......),
“ / / UNIT = (......), SPACE = (......),
“ / / VOL = SER = XXXXXX
“ / / DISP = (......)

Como lógicamente se desprende, no todos los ficheros necesitan todos los


parámetros.

Un fichero de entrada no necesitará la información DCB, un fichero en cinta no


necesitará el SPACE, etc.

JCL3
Parámetro DSNAME

La palabra clave (DSNAME) de este parámetro puede también escribirse de forma


abreviada como DSN.

Indica el nombre con el que el sistema debe localizar (si ya existe) o crear (si es
nuevo) el fichero definido por la sentencia de control DD.

Parámetro DISP

Indica el estado en que se encuentra el fichero cuando se inicializa el paso de trabajo


y cómo queremos que quede tras el paso, incluso en el caso de una terminación anormal.

Veamos todos los posibles estados:

1 2 3
,DELETE ,
DISP = NEW ,KEEP ,DELETE
OLD ,PASS ,KEEP
SHR ,CATLG ,CATLG

El primero subparàmetro nos indica el “estado” del fichero cuando se arranca el


paso:

- NEW: El fichero no existe, se crea en estea paso de trabajo.

- OLD: El fichero existe ya, y además mientras lo utilizamos nosotros ninguna


otra tarea puee acceder a él (utilización exclusiva).

- SHR: Como OLD, pero pueden utilizarlo varios programas a la vez.

Si no se codifica este subparámetro, supone por defecto NEW, y hay que codificar
una coma para seguir las normas de los parámetros posicionales.

El segundo subparámetro nos indica la “Disposición pedida” para el caso de un fin


normal de paso.

- DELETE: Indica que el fichero no se va a utilizar en adelante y el espacio que


ocupaba en el volumen debe quedar libre al final del paso.

- KEEP: Indica que el fichero debe quedar guardado al final del paso.

- PASS: Indica que el fichero se va a utilizar en pasos posteriores y al final del


JOB debe quedar borrado.

- CATALG: Indica que además de guardar el fichero, se debe catalogar en el


catálogo del sistema o en el del usuario.

Si no se codifica este parámetro asume DELETE para estado NEW y KEEP para
estado OLD. Pero se debe codificar una coma para seguir las normas de los parámetros
posicionales.

JCL3
El tercer subparámetro indica la disposición condicional para el caso de que el paso
termine anormalmente.

Parámetros DCB

Este parámetro describe internamente el fichero.

Se codifican de la siguiente forma:

DCB = (BLKSIZE = n, LRECL = n, RECFM = FB)

RECFM: indica el formato de registros de que está compuesto el fichero.

Alguno de los tipos puede ser:

U: Indefinido

V: Longitud variable.

VB: Longitud variable bloqueados.

F: Longitud fija.

FB: Longitud fija bloqueados.

LRECL: Longitud en octetos del registro lógico.

BLKSIZE: Tamaño en octetos del bloque.

Si el factor de bloqueo es 1, lógicamente LRECL y BLKSIZE


tendrán el mismo valor.

Parámetro UNIT

Su utilidad es especificar el tipo de unidad que se necesitaba para el fichero que se


está definiendo.

Su codificación es:

UNIT = 3400 (si es cinta)


SYSDA (si son discos generales)
3350 (si son discos asignados a TSO)

JCL3
Parámetro VOL

Identifica al volumen donde reside (o residirá, si es nuevo) el fichero.

Su codificación es:

VOL = SER = nº de la cinta o disco.

Parámetro SPACE

Este parámetro indica cuanto espacio queremos asignar en un volumen de acceso


directo para un fichero que se va a crear.

Su codificación:

CYL
SPACE = (cantidad primaria, cantidad reserva, RLSE)
TRK

- CYL: Indica que el espacio se pide en cilindros.

- TRK: Indica que el espacio se pide en pistas.

- RLSE: Indica que el espacio que no se haya utilizado en la creación del


fichero debe liberarse.

JCL3
 SENTENCIA DD para informes impresos:

// Ddname DD SYSOUT = clse salida

Ver clases de salida en portada de listado de impresión

 SENTENCIA DD para ficheros cuyos datos se incluyen conjuntamente con las


setencias control

// Ddname DD *
Datos
/*

JCL3
Esquema Prog. Control y Sistema Operativo

TRABAJO TRABAJO

LEE
INTERPRETA
BUSCA FICHERO

Contabilidad
FICHERO
Programador
COLAS DE
CLASS
TRABAJO
PRTY
JOB
TYPRUN
MSGCLASS
MSGLEVEL SELECCIONA UN TRABAJO (INITIATOR)

EXEC NOMBRE DE PASO SELECCIONA UN PASO (INITIATOR)

BUSCA ESPACIO F. SALIDA


DSNAME ASIGNA FICHEROS (INITIATOR)
DCB CARGA PROGRAMA
UNIT
DD VOLUME
SPACE
DISP EJECUTA PROGRAMAS (S.O)

EXEC PGM = Programa


SALIDA DEL PROGRAMA
IMPRESA (SPOOL)
(WRITER)
FICHEROS

DD DISP = GUARDA O BORRA FICHEROS (PURGE)

MAS
PASO
S

BORRA INFORMACIÓN DEL TRABAJO (PURGE)

JCL3

También podría gustarte