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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 2 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 3 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 4 / 33

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 COND=(CODE,GT) COND=(CODE,GE) COND=(CODE,LT) COND=(CODE,LE) COND=(CODE,EQ) COND=(CODE,EN)

Continuacin del Job RC >= CODE RC > CODE RC <= CODE RC < CODE RC <> CODE RC = CODE

Terminacin del Job RC < CODE RC <= CODE RC > CODE RC >= CODE RC = CODE RC <> CODE

Ejemplo: COND=(5,LT)

Si 5 menor que RC, no se produce la ejecucin.

GTS CBA CoC International Systems C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 5 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc Page: 6 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 7 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 8 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 9 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 10 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 11 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 12 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 13 / 33

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 DATOS /* El fin del fichero viene indicado por: Delimitador /* Sentencia de control // Caracteres de EOF. Carcter definido como delimitador. DD *

GTS CBA CoC International Systems C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 14 / 33

Parmetro DLM Es un parmetro de palabra clave. Nos permite definir un delimitador Formato: //XXXXXXX 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: 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=* especificado en MSGCLASS. y toma por defecto lo //NOMFICH DD DUMMY DD *,DLM=YY

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 15 / 33

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) generacin. para ficheros de un grupo de

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 Antes 0 -1 -2 Despus 0 -1 -2 se pierde (+1)

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 OLD SHR El fichero no existe, se crea en el paso. El fichero existe, acceso exclusivo. 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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc Page: 16 / 33

Por defecto asume NEW. Posicin2: Disposicin del fichero al finalizar el paso de forma normal (sin errores). Valores: DELETE KEEP PASS CATLG UNCATLG Borra el fichero al final del paso. Guarda el fichero al final del paso. Borra el fichero al final del JOB. Se guarda el fichero y se cataloga. 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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 17 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 18 / 33

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 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. bloque. Se calcula

GTS CBA CoC International Systems C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 19 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 20 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 21 / 33

SOLUCIONES

1.-)

//EJERC1 //FFM000 // //

EXEC PGM=IEFBR14 DD DSN=PFM.FFM000S,DISP=(,CATLG,DELETE), UNIT=SYSDA,SPACE=(TRK,(15,5),RLSE), DCB=(RECFM=FB,LRECL=256,BLKSIZE=22420)

2.-)

//EJERC2 //FFM000

EXEC PGM=IEFBR14 DD DSN=PFM.FFM000S,DISP=(MOD,DELETE,DELETE)

3.-)

//PASO1 //FFM111 //FFM222 // // //PASO2 //SALIDA

EXEC PGM=PFME333 DD DSN=PFM.FFM111S,DISP=OLD DD DSN=PFM.FFM222.CG(+1),DISP=(,PASS), UNIT=CART,LABEL=(1,SL,REPTD=2160), DCB=(RECFM=FB,LRECL=267,BLKSIZE=26700) EXEC PGM=IEFBR14,COND=(0,NE) DD DSN=PFM.FFM222.CG(+1),DISP=(OLD,CATLG),

GTS CBA CoC International Systems C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 22 / 33

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 Entorno de Produccin OPC.PROCLIB 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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 23 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 24 / 33

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. 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.

Tambin utiliza un fichero de entrada cuya descripcin es:

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 25 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 26 / 33

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: VSAM. Borrar y copiar ficheros secuenciales y VSAM y definir

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 27 / 33

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 //SYSPRINT //SYSUT1 //SYSUT2 //SYSIN EXEC PGM=IEBGENER DD SYSOUT=X DD DSN=NULLFILE,DCB=fichero de salida DD DSN=Fichero de salida 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 //SALIDA EXEC PGM=IEFBR14 DD DSN=Fichero

GTS CBA CoC International Systems C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 28 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 29 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc Page: 30 / 33

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 31 / 33

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 CH ZD PD Binario. Alfanumrico. Numrico display. Numrico empaquetado.

GTS CBA CoC International Systems C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 32 / 33

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 NE GT GE LT LE Igual. Distinto. Mayor. Mayor o igual. Menor. 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 X40 indica que el 03 est en carcter. indica que 01001000 est en binario. indica que 40 est en hexadecimal. B01001000

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 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\tiki-download_file.php-1.doc

Page: 33 / 33

Vous aimerez peut-être aussi