Académique Documents
Professionnel Documents
Culture Documents
Junio 2000
CCH
Version 1.0
CURSO DE JCL
CCH Junio 2000 v1.0
ndice:
INTRODUCCIN ...................................................................................................................................3
SENTENCIA DE CONTROL JOB .........................................................................................................4
FORMATO ..........................................................................................................................................4
PARAMETROS ...................................................................................................................................4
EJERCICIOS........................................................................................................................................8
SOLUCIONES .....................................................................................................................................9
SENTENCIA DE CONTROL EXEC ....................................................................................................10
FORMATO ........................................................................................................................................10
PARMETROS .................................................................................................................................10
EJERCICIOS......................................................................................................................................12
SOLUCIONES ...................................................................................................................................13
SENTENCIA DD..................................................................................................................................14
FORMATO ........................................................................................................................................14
PARMETROS .................................................................................................................................14
DDs ESTNDARES .......................................................................................................................20
EJERCICIOS......................................................................................................................................21
SOLUCIONES ...................................................................................................................................22
DEFINICIN DE PROCEDIMIENTOS IN STREAM Y CATALOGADOS ..................................23
PROCEDIMIENTOS CATALOGADOS ..........................................................................................23
PROCEDIMIENTOS IN STREAM ..............................................................................................23
PARMETROS .................................................................................................................................24
EJERCICIOS......................................................................................................................................25
SOLUCIONES ...................................................................................................................................26
PROGRAMAS DE UTILIDAD.............................................................................................................27
INTRODUCCIN..............................................................................................................................27
IEBGENER ........................................................................................................................................28
IEFBR14.............................................................................................................................................28
IDCAMS ............................................................................................................................................29
SORT..................................................................................................................................................32
El JCL (Job Control Language) es el lenguaje que utiliza IBM para construir las
cadenas de ejecucin de programas batch.
La unidad de explotacin es el JOB, donde mediante tres tipos diferentes de
sentencias puede ejecutarse uno o ms programas.
La llamada a un programa dentro de un JOB se le denomina PASO.
Cuando varios PASOS son comunes (en contenido y en orden de ejecucin) a varios
JOBS, se puede crear una unidad de explotacin que denominaremos
PROCEDIMIENTO.
Un PROCEDIMIENTO puede estar expandido dentro del JOB o almacenado en una
librera, en cuyo caso, slo se incluye la llamada al mismo.
La articulacin de esta arquitectura se lleva a cabo mediante las tres sentencias
mencionadas, las cuales utilizan una serie de parmetros que configuran la gama de
posibilidades que cada una posee.
La sentencia de control JOB es la que determina la unidad de explotacin batch.
La sentencia de control EXEC llama a la ejecucin bien de un programa bien de un
procedimiento.
La sentencia de control DD configura la informacin que el sistema necesita para tratar
un fichero.
Existen programas del sistema que nos ayudan en el tratamiento de ficheros y de
funciones, evitando tener que codificar programas, son las llamadas UTILIDADES.
En este curso veremos las utilidades ms habituales y sus usos ms frecuentes.
FORMATO
1. Sentencia nula ( // ).
2. Otra sentencia JOB.
PARAMETROS
Informacin de contabilidad
Es un parmetro posicional: si no se pone, debe ponerse una coma
en su lugar.
Especifica la informacin de contabilidad exigida por la instalacin,
en nuestro caso: Departamento y nombre de la aplicacin.
Entre parntesis.
Como mximo 142 posiciones.
Parmetro COND
Es un parmetro de palabra clave.
Formato: COND=( (CDIGO,OPERACIN),).
CDIGO: valor con el que se compara (entre 0 y 4095).
OPERACIN: Tipo de comparacin
GT: mayor
GE: mayor o igual
LT: menor
LE: menor o igual
EQ: igual
NE: distinto
El return-code es el objeto de la comparacin, ejecutndose o no la
cadena segn cuadro adjunto.
Cuando hay varias condiciones, en el momento que se cumple una o
varias de ellas no se lleva a cabo la ejecucin.
Parmetro NOTIFY
Es un parmetro de palabra clave.
Enva un aviso a la sesin de TSO donde est conectado el usuario
indicado, cuando el JOB termina su ejecucin.
Formato: NOTIFY= Cdigo de usuario TSO.
Parmetro PRTY
Es un parmetro de palabra clave.
Especifica la prioridad de seleccin que se asigna al JOB dentro de
la clase de ejecucin.
Se expresa en valores entre 0 y 25.
En nuestra instalacin a cada JOB se le asigna, por defecto, una
prioridad en funcin de la clase de ejecucin, estando prohibida la
codificacin de ste parmetro.
Parmetro REGION
Es un parmetro de palabra clave.
Delimita la cantidad de memoria virtual que se puede tomar en la
paginacin (GETMAIN).
Los valores en que se puede expresar son:
Un valor numrico, indica el nmero de bytes
Un valor numrico seguido de la letra K, indica nmero
de Kbytes
Un valor numrico seguido de la letra M, indica el
nmero de megabytes
Si el valor numrico especificado es impar el sistema asigna el valor
par superior.
Parmetro TIME
GTS CBA CoC International Systems Page: 6 / 33
C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Es un parmetro de palabra clave.
Especifica el mximo tiempo que puede un JOB utilizar la CPU.
En nuestra instalacin el tiempo est limitado por la clase de
ejecucin.
Si codificamos el valor 1440 indicamos tiempo ilimitado (caso
permitido para situaciones excepcionales y autorizadas).
Parmetro TYPRUN
Es un parmetro de palabra clave.
Indica opciones de ejecucin del JOB.
Valores posibles:
HOLD : el JOB se coloca en cola de ejecucin, pero no se
ejecuta hasta que se lo libera expresamente.
SCAN: verifica si la sintaxis del JCL es correcta.
1.- )
El JOB se cargar al departamento de Formacin (0777).
Nombre de la aplicacin: FM
Nombre del JOB: FMA01001
Nombre del programador: Peribez
De ejecucin corta (menos de 30 seg. de CPU)
Si algn paso devuelve un cdigo 7 o mayor el JOB dejar de
ejecutarse
Se requiere informacin de todo tipo de mensajes y las sentencias de
entrada de JCL
2.-)
Nombre del JOB: FMA01002
Slo se quiere verificar la sintaxis del JOB
Nombre del programador: Bloom
Es un proceso de duracin superior a las 2 horas de CPU
El JOB dispondr de 6 pasos, teniendo que comprobar que todos
ellos devuelven un cdigo inferior a 5.
Utiliza pginas de 180 K
Debe notificar al usuario U999999 cuando termine
Al departamento al cual se imputa es 0721
Slo nos interesa la sentencia JOB en la clase de salida 1.
1.-)
2.-)
FORMATO
Llamada a un programa
Llamada a un procedimiento
PARMETROS
Parmetro PGM
Es un parmetro posicional.
Indica que la sentencia EXEC est haciendo referencia a un
programa para ejecutarlo.
Formato: PGM=nombre del programa
El nombre del programa puede tener de 1 a 8 caracteres no
especiales y el primero debe ser no numrico.
Parmetro PROC
Es un parmetro posicional.
Indica que la sentencia EXEC hace referencia a un procedimiento
para ejecutarlo.
Formato: PROC=nombre del procedimiento
Este parmetro y el anterior son mtuamente excluyentes.
Parmetro COND
Es un parmetro de palabra clave.
Especifica bajo que condiciones se ejecutar el paso.
Formato:
COND[.nom. paso / proc]=[(cdigo, operac.)] / [even / only]
Cdigo / operacin: igual que el parmetro COND de la tarjeta JOB.
Even: indica que este paso se ha de ejecutar aunque algn paso
anterior haya terminado anormalmente.
Only: indica que este paso slo se ejecutar si algn paso anterior
ha terminado anormalmente.
Parmetro PARM
Es un parmetro de palabra clave.
Su funcin consiste en pasar datos a un programa.
Formato: PARM[.nombre paso proc]=(datos)
Parmetro REGION
Es un parmetro de palabra clave.
Su funcin es la misma que en la tarjeta JOB pero ceida al paso.
1.- )
Llamar al programa PFME000.
Tomar como informacin contable la especificada en la en la
sentencia JOB.
Slo se ejecutar si el cdigo de los pasos anteriores es inferior a 12.
2.-)
Llamar al programa PFME001 que trabaja con DLI. El programa
gestor del DLI se llama DFSRRC00.
Se deben pasar los siguientes datos:
DLI,nombre programa,PSB,7,0000,,0,,N,0,y,,,,,
Utiliza pginas de 1024 K.
Solo se ejecutar si algn paso anterior ha ido mal.
3.-)
Llamar al programa PFME002 que trabaja con DB2. El programa
gestor del DB2 se llama IKJEFT01.
Utiliza pginas de 8 megas.
Solo se ejecutar si todos los pasos anteriores han ido bien.
1.-)
2.-)
3.-)
FORMATO
//XXXXXXXX DD DDNAME=XXX.XXXXXXX,DISP=(XXX,XXX,XXX),
// SPACE=(XXXX),LABEL(XXXX), DCB=(XXXX),
// AMP=XXXXX,UNIT=XXXX,DSORG=(XX),EXPDT=XXXX
PARMETROS
Parmetro *
Es un parmetro posicional
Indica que el fichero que define esta DD va a continuacin en el
enunciado del JCL.
Formato :
//NOMFICH DD *
DATOS
/*
El fin del fichero viene indicado por:
Delimitador /*
Sentencia de control //
Caracteres de EOF.
Carcter definido como delimitador.
Parmetro DUMMY
Es un parmetro posicional.
Nos permite definir un fichero ficticio, el programa lo abrir, incluso
efectuar operaciones de E/S sobre l, sin embargo el sistema
ignorar estas peticiones.
Formato: //NOMFICH DD DUMMY
Parmetro SYSOUT
Es un parmetro posicional
Su objeto es definir las caractersticas de un fichero de salida.
Formato: SYSOUT=([clase][,programa][,form])
Clase: clase de salida
Programa : Nombre del programa que lo escribe. Por
defecto se utiliza el estndar
Form: Tipo de formulario
Normalmente se codifica: SYSOUT=* y toma por defecto lo
especificado en MSGCLASS.
Este parmetro se utiliza para los DISPLAYS de programas y las
salidas con informacin relativa al JCL y la ejecucin del JOB.
Antes Despus
0
0 -1
-1 -2
-2 se pierde
Parmetro DISP
Es un parmetro de palabra clave.
Indica la disponibilidad del fichero al inicio del paso, despus y si el
paso acaba normalmente.
Formato: DISP=([posicin1][,posicin2][,posicin3])
Posicin1: Disposicin del fichero al inicio del paso
Valores:
NEW El fichero no existe, se crea en el paso.
OLD El fichero existe, acceso exclusivo.
SHR El fichero existe, acceso compartido.
MOD El fichero existe, acceso exclusivo, se
posiciona al final del fichero en el OPEN. Si no existe,
lo crea.
GTS CBA CoC International Systems Page: 16 / 33
C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Por defecto asume NEW.
Posicin2: Disposicin del fichero al finalizar el paso de forma
normal (sin errores).
Valores:
DELETE Borra el fichero al final del paso.
KEEP Guarda el fichero al final del paso.
PASS Borra el fichero al final del JOB.
CATLG Se guarda el fichero y se cataloga.
UNCATLG Se guarda el fichero y se descataloga.
Por defecto asume DELETE si posicin1 NEW y KEEP
si posicin1 OLD.
Diferencias entre KEPP y PASS:
Si en un paso codificamos KEEP y en un paso
posterior intentamos acceder a este fichero, hay
que volver a codificar toda la informacin sobre el
fichero, si codificamos PASS no es necesario.
Cuando se trabaja con cintas, KEEP descarga la
cinta al final de paso y la volver a pedir en pasos
posteriores si la necesita. Si codificamos PASS
retiene la cinta.
Posicin3: Disposicin del fichero al finalizar el paso de forma
anormal (con errores).
Valores:
Igual que en posicin2 (KEEP, PASS, CATLG,
UNCATLG).
Asume por defecto lo indicado en posicin2.
NOTA.- con los ficheros particionados la DISP tiene aplicacin sobre la librera,
nunca sobre el miembro.
Parmetro LABEL
Es un parmetro de palabra clave.
Formato: LABEL=[(secuencia][,etiquetas][,expiracin])
Secuencia: nro. de posicin relativa del fichero en el volumen.
Etiquetas:
SL: estndar de IBM.
SUL: estndar de IBM y de usuario.
AL: etiqueta ANS.
AUL: etiqueta ANS y de usuario.
NSL: sin etiqueta estndar.
NL: sin ningn tipo de etiqueta.
Expiracin:
EXPDT: AADDD fecha de expiracin (aos de 360 das).
RETPD: nmero de das.
Parmetro UNIT
Es un parmetro de palabra clave
Formatos:
UNIT=(nombre genrico)
UNIT=AFF=(nombre de DD)
Nombre genrico: nombre que identifica una serie de dispositivos:
SYSDA: disco.
CART: cartucho.
CTAPE: cinta.
AFF: indica que a este fichero se le debe asignar la misma unidad
que al fichero definido en una sentencia DD anterior dentro del
mismo paso.
JOBLIB:
Indica las libreras de fases para todo el JOB.
Debe ser la primera DD.
No se puede utilizar JOBLIB dentro de un procedimiento catalogado.
STEPLIB:
Indica las libreras de fases para un paso.
Si se codifica STEPLIB se ignora loa JOBLIB.
Puede aparecer en un procedimiento catalogado.
SYSTSIN:
Slo para pasos donde se ejecute el DB2 (IKJEFT01).
Es un fichero de parmetros donde se le indica al DB2 el nombre del
programa, el plan y la librera de fases.
Formato ejemplo:
//SYSTSIN DD *
DSN SYSTEM(DB2P)
RUN PROGRAM(PFME999) PLAN(NFM999)
LIB(PFM.LINKLIB)
/*
SYSUDUMP:
Fichero donde se efecta el volcado de memoria en caso de que el
programa acabe anormalmente.
SYSOUT:
Fichero de salida de las instrucciones JCL.
Se codifica con el parmetro SYSOUT.
SYSDBOUT:
Fichero de salida de la lnea de abend del programa.
Se codifica con el parmetro SYSOUT.
3.-) El programa PFME333 lee un fichero de entrada existente y crea una salva
en cartucho. Generar el paso correspondiente teniendo en cuenta que los
ficheros tienen las siguientes caractersticas:
Fichero de entrada:
Nombre lgico: FFM111.
Nombre fsico: PFM.FFM111S.
Es un fichero secuencial que leeremos en acceso exclusivo.
Fichero de salida:
Nombre lgico: FFM222.
Nombre fsico: PFM.FFM222.CG(+1).
Queremos ponerle etiquetas estndar de IBM.
Se requiere que se guarde el fichero catalogado durante 3 aos (ao
de 360 das).
El registro es de longitud fija y bloqueado.
Longitud del registro: 267 bytes, bloque de 26700 bytes.
El cartucho se catalogar en otro paso distinto y slo si el primer
paso acaba bien.
La utilidad o programa del sistema que se usara para esta
catalogacin es el IEFBR14.
1.-)
//EJERC1 EXEC PGM=IEFBR14
//FFM000 DD DSN=PFM.FFM000S,DISP=(,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(TRK,(15,5),RLSE),
// DCB=(RECFM=FB,LRECL=256,BLKSIZE=22420)
2.-)
//EJERC2 EXEC PGM=IEFBR14
//FFM000 DD DSN=PFM.FFM000S,DISP=(MOD,DELETE,DELETE)
3.-)
//PASO1 EXEC PGM=PFME333
//FFM111 DD DSN=PFM.FFM111S,DISP=OLD
//FFM222 DD DSN=PFM.FFM222.CG(+1),DISP=(,PASS),
// UNIT=CART,LABEL=(1,SL,REPTD=2160),
// DCB=(RECFM=FB,LRECL=267,BLKSIZE=26700)
PROCEDIMIENTOS CATALOGADOS
PROCEDIMIENTOS IN STREAM
Ejemplo:
Parmetro Simblico
Formato:
En el ejemplo anterior
Alfanumrico
Caracteres especiales
1.-)
Codificar un procedimiento IN STREAM de nombre PC1, que conste de un
solo paso, donde se ejecuta un programa llamado LISTAR y que est
parametrizado en la llamada al procedimiento.
Este programa utiliza un fichero de salida cuya descripcin es:
- Nombre lgico: FFM777.
- Nombre fsico: EFM.FFM777S .
- El alias del fichero se indicar mediante parmetro simblico.
- Fichero en disco.
- El fichero se genera en este paso.
- El fichero es secuencial de formato fijo y bloqueado.
- La longitud del registro es de 50 bytes.
- Este fichero tiene 1 cilindro de primario y de secundaria.
Tambin utiliza un fichero de entrada cuya descripcin es:
- Nombre lgico: FFM666.
- Nombre fsico: EFM.FFM666S .
- El alias del fichero se indicar mediante parmetro simblico.
- La disponibilidad se indicar mediante parmetro simblico y ser
OLD.
Se deber codificar una tarjeta JOB con Vuestro usuario, al departamento de
Formacin (D777), nombre de la aplicacin FM, para el entorno de EXPL, que
corra en clase E, clase de salida 0, 8M de regin y que os lo notifique a
vosotros al finalizar.
La clase de salida de las DD de SYSOUT, SYSPRINT, SYSDBOUT y
SYSABOUT, ser la misma de la tarjeta JOB.
En la JOBLIB slo figuraran las siguientes libreras:
- ECC.LINKLIB
- EFM.LINKLIB (el alias en parmetro simblico)
Ambas con disponibilidad compartida.
1.-)
INTRODUCCIN
Funciones:
Copia un fichero secuencial de un fichero de origen a otro, en esta
funcin si utilizamos NULLFILE en el fichero de entrada nos permite
inicializar un fichero o crearlo en vaco inicializado.
La el nombre lgico del fichero de entrada es SYSUT1 y el de salida
SYSUT
JCL:
IEFBR14
Funciones:
JCL:
Funciones:
Borra y copia ficheros QSAM y VSAM y define ficheros VSAM. Este
programa tiene muchas ms utilidades pero no son objeto de este
curso.
JCL:
Borrado de ficheros:
Copia de ficheros:
Definicin de un VSAM:
DEFINE CLUSTER( -
NAME(PEB.FAQ155K) -
INDEXED -
VOL(BCT668) -
TRACKS(300 50) -
RECSZ(4800 4800) -
CISZ(12288) -
KEY(16 0) -
SHR(2 3) -
FSPC(15 15)
Funciones:
Este programa no es propiamente una utilidad del sistema, pero a todos
los efectos tiene las mismas consideraciones. Tiene mltiples funciones,
pero en este curso slo veremos las ms bsicas y frecuentes:
Clasificar un fichero.
Eliminar los duplicados.
Hacer una extraccin condicionada.
Obtener un fichero de salida con un formato diferente al de
entrada en cuanto a la longitud del registro.
JCL:
//PASO0020 EXEC PGM=SORT,COND=(0,NE)
//SORTIN DD DSN=PFM.FFM111S,DISP=SHR
//SORTOUT DD DSN=PFMFFM222S,DISP=(NEW,CATLG),
// UNIT=SYSDA,SPACE=(TRK,(180,20),RLSE),
// DCB=(LRECL=30,RECFM=FB)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,2,CH,A,3,8,CH,A)
INCLUDE COND=(1,2,CH,EQ,C' 03')
SUM FIELDS=NONE
OUTREC FIELDS=(3,8,22X)
SORT FIELDS: Indica cuales son los campos por los que se debe
clasificar el fichero. Cada grupo de cuatro parmetros comprenden la
unidad de informacin referente a un campo (1,2,CH,A,....), el orden de
estos grupos, en la secuencia de parmetros, indica la prioridad de
clasificacin.
El primer parmetro indica la posicin inicial del campo
dentro del registro.
El segundo parmetro indica la longitud del campo.
El tercer parmetro indica el formato del campo.
BI Binario.
CH Alfanumrico.
ZD Numrico display.
PD Numrico empaquetado.