Vous êtes sur la page 1sur 33

Curso de JCL

Junio 2000

CCH
Version 1.0

DBSCI Soporte al Desarrollo

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

GTS CBA CoC International Systems Page: 2 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
INTRODUCCIN

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.

GTS CBA CoC International Systems Page: 3 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
SENTENCIA DE CONTROL JOB

FORMATO

//XXXXXXXX JOB (XXXX,XXXX),XXXXX,CLASS=X,COND=(X,XX),


// MSGCLASS=X,REGION=XXXXX,NOTIFY=XXXXXXXX,
// PRTY=X, TIME=XXXX, TYPRUN=XXXXX

El final de JOB viene indicado:

1. Sentencia nula ( // ).
2. Otra sentencia JOB.

PARAMETROS

Nombre del JOB


Identifica a la sentencia.
Est compuesto de 1 a 8 caracteres alfanumricos y no puede
incluir caracteres especiales .

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.

Nombre del programador


Es un parmetro posicional.
Identifica al responsable del JOB.
Va detrs de la informacin de contabilidad.
Tiene una longitud mxima de 20 caracteres.

GTS CBA CoC International Systems Page: 4 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Parmetro CLASS
Es un parmetro de palabra clave (no importa en orden o posicin).
Identifica la cola o clase de ejecucin.
Las clases asignadas para trabajar en desarrollo son:
B: para compilaciones, binds y pruebas cortas (menos 30 seg.
CPU).
D: para pruebas de larga duracin (ms de 30 seg. y menos de 2
horas de CPU).

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.

Condicin Continuacin del Job Terminacin del Job


COND=(CODE,GT) RC >= CODE RC < CODE
COND=(CODE,GE) RC > CODE RC <= CODE
COND=(CODE,LT) RC <= CODE RC > CODE
COND=(CODE,LE) RC < CODE RC >= CODE
COND=(CODE,EQ) RC <> CODE RC = CODE
COND=(CODE,EN) RC = CODE RC <> CODE

Ejemplo: COND=(5,LT) Si 5 menor que RC, no se produce la ejecucin.

GTS CBA CoC International Systems Page: 5 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Parmetro MSGCLASS
Es un parmetro de palabra clave.
Identifica la clase de salida donde queremos que vayan todos los
mensajes del sistema y las sentencias de control despus de la
ejecucin del JOB.
Las clases ms habituales en desarrollo son:

X : Lo deja en hold (H)


1 : Lo deja en hold y no se borra (H)
0 : Se imprime

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.

GTS CBA CoC International Systems Page: 7 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
EJERCICIOS

Codificar las siguientes sentencias JOB:

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.

GTS CBA CoC International Systems Page: 8 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
SOLUCIONES

1.-)

//FMA01001 JOB (O777,FM),PERIBAEZ ,CLASS=B,


// COND=(7,LT),MSGCLASS=0

2.-)

//FMA01002 JOB (721),BLOOM,CLASS=D,COND=(5,LE),


// MSGCLASS=1,TIME=1440,REGION=180K,
// NOTIFY=U999999,TYPRUN=SCAN

GTS CBA CoC International Systems Page: 9 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
SENTENCIA DE CONTROL EXEC

FORMATO

//XXXXXXXX EXEC PGM=XXXXXX,REGION=XXXX,


// COND=(X,XX),PARM=(XX,XX)

Llamada a un programa

//XXXXXXXX EXEC PROC=XXXXXX,ACCT=(XXXX,XXXX),


// COND=(X,XX),PARM=(XX,XX),TIME=XXXX,
// REGION=XXXX

Llamada a un procedimiento

PARMETROS

Nombre del EXEC


Identifica a la sentencia.
Est compuesta de 1 a 8 caracteres alfanumricos y no puede incluir
caracteres especiales.

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.

GTS CBA CoC International Systems Page: 10 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Cuando en la llamada a un procedimiento queramos aadir o modificar alguno de los
parmetros de un paso del mismo:
Parmetro.nombre del paso=valor
Se explica en el captulo sobre los procedimientos.

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.

GTS CBA CoC International Systems Page: 11 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
EJERCICIOS

Codificar las siguientes sentencias JOB:

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.

GTS CBA CoC International Systems Page: 12 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
SOLUCIONES

1.-)

//EJERC1 EXEC PGM=PFME000,COND=(12,LE)

2.-)

//EJERC2 EXEC PGM=DFSRRC00,


// PARM(DLI,PFME001,PS,7,0000,,0,,N,,0,T,,,,,),
// REGION=1024K,COND=ONLY

3.-)

//EJERC3 EXEC PGM=IKJEFT01,


// REGION=8M,COND=(0,NE)

GTS CBA CoC International Systems Page: 13 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
SENTENCIA DD

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

Nombre lgico / fsico


El nombre lgico es que precede a la DD y se corresponde con el
nombre external que hayamos puesto en la select de nuestro
programa.
El nombre fsico es el que tiene el fichero en el catlogo.

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.

GTS CBA CoC International Systems Page: 14 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Parmetro DLM
Es un parmetro de palabra clave.
Nos permite definir un delimitador
Formato: //XXXXXXX DD *,DLM=YY
Datos
YY

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.

GTS CBA CoC International Systems Page: 15 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Parmetro DSNAME ( = DSN)
Es un parmetro de palabra clave.
Indica el nombre con el que el sistema debe localizar, en caso de
existir, o crear, si es nuevo, el fichero definido en la sentencia DD.
Formato: //NOMFICH DD DSN=Nombre fsico del fichero
El formato del nombre fsico puede ser:
PFM.FFM001S para ficheros secuenciales
PFM.FFM002K para ficheros VSAM
PFM.PARAM.DATA(PFMA0003) para particionados
PFM.FFM000.G(+1) para ficheros de un grupo de
generacin.
Los grupos de generacin permiten mantener versiones diferentes de
un fichero. El sistema admite hasta 255 versiones.
Ejemplo GDG:
Lmite de versiones 3
Si incrementamos una nueva versin (+1)

Antes Despus
0
0 -1
-1 -2
-2 se pierde

La nueva versin tendr el nmero 0, la anterior -1 y la ms


antigua -2.

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.

GTS CBA CoC International Systems Page: 17 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Parmetro SPACE
Es un parmetro de palabra clave.
Indica la del espacio para el fichero que se est generando.
Slo debe codificarse si DISP=NEW
Formato:
SPACE=(UUU,(PPP,SSS,DDD),RLSE,TTTT,ROUND)
UUU: unidades de espacio en disco valores:
TRK : Pistas
CYL : Cilindros
BLOQ: Bloques
PPP: asignacin del nmero de unidades para la
asignacin primaria de espacio.
SSS: asignacin del nmero de unidades para las
asignaciones secundarias de espacio. Mximo 16
extensiones.
DDD: Nmero de bloques de 256 bytes que forman el
directorio (slo para ficheros particionados).
RLSE: Libera el espacio no utilizado.

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.

GTS CBA CoC International Systems Page: 18 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Parmetro DCB
Es un parmetro de palabra clave.
Formato: DCB=(operando1, operando2, )
Los operandos pueden ser:
RECFM: Formato o tipo de registro.
U: indefinido.
V: longitud variable.
VB: longitud variable y bloqueado.
F: longitud fija.
FB: longitud fija y bloqueado.
LRECL: longitud en bytes del registro.
BLKSISE: longitud en bytes del bloque. Se calcula
automticamente en nuestra instalacin.
DSORG: organizacin del fichero.
PS: secuencial.
PO: particionado.
DEN: densidad de la cinta o cartucho (entre 0 y 4).

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.

GTS CBA CoC International Systems Page: 19 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
DDs ESTNDARES

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.

GTS CBA CoC International Systems Page: 20 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
EJERCICIOS

1.-) Se desea crear y catalogar un fichero con la siguiente informacin:


Nombre lgico del fichero: FFM000.
Nombre fsico del fichero: PFM.FFM000S.
El fichero se deber almacenar en un disco.
Alocacin primaria 15 pistas, alocacin secundaria 5 pistas.
Liberar el espacio no utilizado.
El registro tiene formato de longitud fija y bloqueado.
La longitud del registro es de 256 bytes y el bloque de 22420.
El fichero no existe antes de ejecutar el paso y, en caso de acabar el
paso en error, se quiere borrar.
La utilidad o programa del sistema que se usara para esta
catalogacin es el IEFBR14.

2.-) Borrar el fichero creado en el paso 1. No sabemos si antes de comenzar el


paso el fichero existe y, acabe bien o mal el paso queremos que el fichero
quede borrado. Se utilizar la misma utilidad del sistema.

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.

GTS CBA CoC International Systems Page: 21 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
SOLUCIONES

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)

//PASO2 EXEC PGM=IEFBR14,COND=(0,NE)


//SALIDA DD DSN=PFM.FFM222.CG(+1),DISP=(OLD,CATLG),

GTS CBA CoC International Systems Page: 22 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
DEFINICIN DE PROCEDIMIENTOS IN STREAM Y CATALOGADOS

PROCEDIMIENTOS CATALOGADOS

Cuando existe un grupo de pasos susceptible de ser llamados en distintos


Jobs, se utiliza un procedimiento catalogado, de manera que pueda ser
reutilizado y no tenga que codificarse tantas veces como vaya a ser llamado.
Estos procedimientos se almacenan en una librera del sistema en cada uno de
los entornos:
Para Espaa estas libreras son:
Entorno de Desarrollo OPC.PROCLIB
Entorno de Produccin OPCF.PROCLIB
En los procedimientos catalogados no se codifica la sentencia PEND al final de
los mismos.
La sentencia PROC, al principio, es opcional. Slo se exige si hay valores por
defecto.

PROCEDIMIENTOS IN STREAM

En el procedimiento IN STREAM las sentencias del mismo se codifican en el


propio Job

Ejemplo:

//FMA01001 JOB (721),LOPEZ,CLASS=D,MSGCLASS=1,


// REGION=180K,NOTIFY=U999999
//*
//JOBLIB DD DSN=ECC.LINKLIB
//************** Definicin del Procedimiento ************************
//NOMPROC PROC
//*
//PASO1 EXEC PGM=PFME333,COND=(0,NE)
//FICHERO1 DD DSN=EFM.FFM001S,DISP=SHR
//FICHER02 DD DSN=EFM.FFM002S,DISP=(NEW,CATLG),
// UNIT=SYSDA,SPACE=(TRK,(1,1),RLSE ),
// DCB=(RECFM=FB,LRECL=236,BLKSIZE=22420)
// PEND
//************** Llamada al Procedimiento ************************
//NOMPROC EXEC NOMPROC

GTS CBA CoC International Systems Page: 23 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
PARMETROS

Parmetro Simblico

Antes de ejecutarse el procedimiento se sustituye en todos los sitios


donde aparece y se le asigna el valor especificado en la llamada al
procedimiento.

Formato:

En la definicin del parmetro: &XXXXXXX


En la llamada al procedimiento: XXXXXXX=Valor

En el ejemplo anterior

//FMA01001 JOB (721),LOPEZ,CLASS=D,MSGCLASS=1,


// REGION=180K,NOTIFY=U999999
//*
//JOBLIB DD DSN=ECC.LINKLIB
//************** Definicin del Procedimiento ************************
//NOMPROC PROC
//*
//PASO1 EXEC PGM=&PROG,COND=(0,NE)
//FICHERO1 DD DSN=&USER..FFM001S,DISP=SHR
//FICHER02 DD DSN=&USER..FFM002S,DISP=(,CATLG),
// UNIT=SYSDA,SPACE=(TRK,(1,1),RLSE ),
// DCB=(RECFM=FB,LRECL=236,BLKSIZE=22420)
// PEND
//************** Llamada al Procedimiento ************************
//NOMPROC EXEC NOMPROC,PROG=PFME333,USER=EFM

Es necesario codificar parmetro. Cuando el parmetro es:

Alfanumrico
Caracteres especiales

GTS CBA CoC International Systems Page: 24 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
EJERCICIOS

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.

GTS CBA CoC International Systems Page: 25 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
SOLUCIONES

1.-)

//U999999 JOB (D777,FM),EXPL,CLASS=E,MSGCLASS=0,


// MSGCLASS =1,REGION=8M,NOTIFY=U999999
//*
//JOBLIB DD DSN=ECC.LINKLIB,DISP=SHR
// DD DSN=&ALIAS.LINKLIB,DISP=SHR
//*
//PC1 PROC
//*
//PASO1 EXEC PGM=&PROGRAMA
//FFM666 DD DSN=&ALIAS..FFM666,DISP=&DISP
//FFM777 DD DSN=&ALIAS..FFM777,DISP(NEW,CATLG),
// UNIT=SYSDA, SPACE=(TRK,(1,1)),
// DCB=(LRECL=50,RECFM=FB,DSORG=PS)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSDBOUT DD SYSOUT=*
//SYSABOUT DD SYSOUT=*
//*
// PEND
//*
//PC1 EXEC PC1,PROGRAMA=LISTAR,ALIAS=EFM,DISP=OLD
//*

GTS CBA CoC International Systems Page: 26 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
PROGRAMAS DE UTILIDAD.

INTRODUCCIN

Los programas de utilidad que vamos a ver en este apartado se circunscriben


al mbito de tratamiento de ficheros:
Definicin
Catalogacin
Inicializacin
Reorganizacin
Borrado
Clasificacin
Cambio de Formato
Seleccin de registros
Etc..
La relacin de utilidades y los usos que vamos a ver es la siguiente:
IEBGNER: Copia de datos de ficheros secuenciales.
IEFBR14: Definir, allocar, borrar, catalogar, etc... ficheros secuenciales.
IDCAMS: Borrar y copiar ficheros secuenciales y VSAM y definir
VSAM.
SORT: Clasificar un fichero, copia selectiva y cambio de formato de
ficheros secuenciales.
Estas utilidades pueden tener otros usos diferentes a los enumerados
anteriormente, ya que son parametrizables y pensadas para realizar muchas
funciones. Aqu nicamente veremos los usos ms bsicos y frecuentes.
El JCL Para ejecutar un programa de utilidad es el siguiente:

//PASOXXXX EXEC PGM=Programa de utilidad


//SYSPRINT DD SYSOUT=Clase de salida
//ENTRADA DD DSN=Fichero de entrada
//SALIDA DD DSN=Definicin del fichero de salida
//SYSIN DD *
Sentencias de control o parmetros del programa de utilidad
/*

GTS CBA CoC International Systems Page: 27 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
IEBGENER

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:

//PASOXXXX EXEC PGM=IEBGENER


//SYSPRINT DD SYSOUT=X
//SYSUT1 DD DSN=NULLFILE,DCB=fichero de salida
//SYSUT2 DD DSN=Fichero de salida
//SYSIN DD DSN =DUMMY

Cuando es una copia simple en la SYSUT1 se codifica el fichero de


entrada.

IEFBR14

Funciones:

Es un programa que no hace nada. Nos permite asignar ficheros,


catalogarlos, borrarlos, etc... aprovechando las sentencias del JCL (por
ejemplo el parmetro DISP).

JCL:

//PASOXXXX EXEC PGM=IEFBR14


//SALIDA DD DSN=Fichero

GTS CBA CoC International Systems Page: 28 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
IDCAMS

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:

//PASOXXXX EXEC PGM=IDCAMS,COND=(0,NE)


//SYSPRINT DD SYSOUT=*
//SYSIN DD *
Parmetros o sentencias propias del IDCAMS
IF MAXCC < 9 THEN SET MAXCC = 0

La sentencia en negrita es para que considere 0 el RETURN-CODE en


caso de ser menor que nueve. Por ejemplo, si se intenta borrar un
fichero que no existe da cdigo 8.

Borrado de ficheros:

//PASOXXXX EXEC PGM=IDCAMS,COND=(0,NE)


//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE PFM.FFM888S PURGE
DELETE PFM.FFM999K PURGE
IF MAXCC < 9 THEN SET MAXCC = 0

Copia de ficheros:

//PASOXXX EXEC PGM=IDCAMS,COND=(0,NE)


//SYSPRINT DD SYSOUT=*
//ENTRADA DD DSN=PFM.FFM222S,DISP=SHR
//SALIDA DD DSN=PFM.FFM333S,DISP=SHR
//SYSIN DD *
REPRO -
INFILE(ENTRADA) -
OUTFILE(SALIDA)
/*

El parmetro REPRO indica que es una copia.


En INFILE se le indica el nombre lgico del fichero de entrada.
En OUT FILE se le indica el nombre lgico del fichero de salida.
El - es el carcter de continuacin.

GTS CBA CoC International Systems Page: 29 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
Las copias que se pueden efectuar con esta parametrizacin son:
QSAM sobre QSAM.
QSAM sobre VSAM, siempre que el QSAM este ordenado
por la clave de VSAM y no haya claves repetidas.
VSAM sobre QSAM.

Para efectuar copias sobre VSAM se utilizan los siguientes parmetros:


REPLACE: Si la clave existe la reemplaza.
FROMKEY: Clave a partir de la cual se realiza la copia.
TOKEY: Clave hasta la cual se realiza la copia.

Definicin de un VSAM:

//PASOXXXX EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE PEB.FAQ155K -
CLUSTER

IF MAXCC < 9 THEN SET MAXCC = 0

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)

DELETE: Es la instruccin de borrado.


CLUSTER: Indica que borre todos los ficheros que componen el VSAM
(ndice y datos).
DEFINE CLUSTER: Definicin del fichero VSAM.
NAME: Nombre fsico del fichero.
INDEXED: Indica que el fichero es indexado.
VOL: El nombre del volumen/disco donde se quiere que resida. En
nuestra instalacin no es necesario ponerlo, ya que la asignacin es
automtica.
TRACKS, CYLS, RECORDS: Determina el espacio en pistas, cilindros
o registros. La primera magnitud indica el espacio de la extensin
primaria y la segunda el espacio para las extensiones secundarias.

GTS CBA CoC International Systems Page: 30 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
RECSZ: Longitud del registro. La primera magnitud indica la longitud.
CISZ:: Control Interval Size, longitud Intervalo de control. El intervalo de
control es el equivalente al bloque en los ficheros VSAM.
KEY: Indica la informacin necesaria para ubicar la clave. La primera
magnitud indica la longitud de la clave y la segunda el desplazamiento
de la misma respecto del principio del registro.
SHR: Indica el grado de accesibilidad concurrente al fichero. (2 3) son
los valores ms usuales e indican que slo puede haber un acceso
concurrente de actualizacin y es de libre acceso de lectura.
FSPC: Free Space. Indica la distribucin del espacio libre en el fichero,
La primera magnitud indica el espacio libre en cada intervalo de control
y la segunda indica el nmero de intervalos de control libres en el Area
de Control.

GTS CBA CoC International Systems Page: 31 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
SORT

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.

GTS CBA CoC International Systems Page: 32 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc
El cuarto parmetro indica el sentido de la clasificacin
A: Ascendente.
D: Descendente.
INCLUDE/OMIT COND: Indica que slo incluya u omita aquellos
registros que cumplen las condiciones. stas van en secuencias de
cinco parmetros (1,2,CH,EQ,C'
03',....).
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. Los
formatos son los mismos que para los SORT FIELDS.
El cuarto parmetro es el operador lgico.
EQ Igual.
NE Distinto.
GT Mayor.
GE Mayor o igual.
LT Menor.
LE Menor o igual.
El quinto parmetro es el objerto de comparacin, donde el
primer carcter indica el formato del valor que se encuentra
entre comillas.
C03 indica que el 03 est en carcter.
B01001000 indica que 01001000 est en binario.
X40 indica que 40 est en hexadecimal.
SUM FIELD= NONE: Indica que se eliminarn los registros que estn
duplicados, segn la clave de ordenacin.
OUTREC FIELDS: indica la composicin del registro de salida, en
funcin de los segmentos seleccionados del registro de entrada. Esta
seleccin se efecta mediante secuencia de dos magnitudes donde la
primera indica la posicin inicial del segmento y la segunda la longitud
del mismo.

GTS CBA CoC International Systems Page: 33 / 33


C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Vous aimerez peut-être aussi