Вы находитесь на странице: 1из 141

JCL y Utileras

JCL y Utileras

Objetivos
El presente curso tiene como objetivos:

Conocer los diferentes tipos de JCLs Identificar los requisitos para la codificacin de un JCL. Definir las sentencias utilizadas Explicar los cdigos de retorno, los cdigos de error y principales abends. Explicar las principales utileras de usadas.

JCL y Utileras

ndice
1. Introduccin 2. Conceptos de JCL 3. Sentencias de JCL 3.1. Sentencia JOB 3.2. Sentencia EXEC 3.3. Sentencia DD 3.4. Sentencias especiales 4. Cdigos de retorno 5. Procedimientos

JCL y Utileras

ndice
6. Utileras 6.1. DFSORT 6.2. IDCAMS 6.3 IEBCOPY 6.4. IEBGNENER 7. Generational Data Group (GDG)

JCL y Utileras

1. Introduccin

JCL y Utileras

Introduccin

El Sistema Operativo es el encargado de gestionar de forma eficiente todos los recursos de los que dispone un sistema de informacin. Dentro de sus principales ocupaciones estn la administracin de: Memoria, terminales de trabajo, discos, programas, comunicaciones etc.

Para llevar a cabo algunas de estas tareas en el sistema operativo OS/390, es necesario conocer el manejo de JCLs (Job Control Language), que son un conjunto de instrucciones necesarias para la ejecucin de un proceso batch, esto es semejante a un Batch de D.O.S. que ejecuta peticiones al sistema operativo. De esta manera el JCL le dice al sistema operativo todos los requerimientos de entrada y salida que se necesitan para ejecutar un proceso o varios en una secuencia determinada (Gestor de trabajos JES).

JCL y Utileras

2. Conceptos de JCL

JCL y Utileras

Definicin de JCL

JCL (Job Control Lenguage), es un lenguaje de programacin que permite codificar las instrucciones necesarias para la ejecucin de un proceso batch.

Estas instrucciones son interpretadas y ejecutadas por el gestor de trabajos (JES Job Entry Subsystem)

JCL y Utileras

Trminos y Conceptos Generales

Job (trabajo). Unidad de trabajo bsica independiente. Job Step (paso de job). Ejecucin de un programa dentro de un job. Tambin se puede hacer referencia como step (paso). Mximo de pasos permitidos en un JCL es de 255. Partes de un JCL: Cabecera. Informacin relativa al entorno en donde ser ejecutado el job, caractersticas de entorno, tiempo, nivel de mensajes, etc. Cuerpo. Contiene las sentencias de ejecucin de cada programa o utilera a ejecutar.

JCL y Utileras

Tipos de JCL

In-stream.

Ejecutan los programas dentro del mismo job.

Procedimientos. Se ejecutan a travs de la definicin de procesos llamados por el JCL al momento de la ejecucin. (Procs)

Mixtos.

Son una combinacin de los dos anteriores.

10

JCL y Utileras

Sintaxis general de JCL


La codificacin de un JCL debe empezar en las columnas 1 y 2 con //, salvo en algunos casos. El nombre que identifica cada paso del JCL deber comenzar con un caracter alfabtico de mximo de 8 caracteres a partir de la columna 3. Los parmetros utilizados en la codificacin del JCL debern ser separados por comas, y la declaracin de estos no deber exceder de la posicin 71 La codificacin de comentarios es con //*, los cuales debern terminar como mximo en la columna 72. La terminacin de un paso es indicada a travs de /* en las columnas 1 y 2.

11

JCL y Utileras

Sintaxis general de JCL

A continuacin se muestra un ejemplo en el que se puede ver la sintaxis de un JCL:


123456789012345678901234567890123456789012345678901234567890123456789012 //JCLNAME JOB (PBM),'EJEMPLO',CLASS=C,MSGCLASS=C,MSGLEVEL=(1,1) //********************************************************************** //* CREACION DE ARCHIVO DE PRUEBA * //********************************************************************** //P01DE01 EXEC PGM=IEBGENER //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSUT1 DD * ABC456789112DEF67892123456789312 //SYSUT2 DD DSN=ACCEN.NBAS.PRUEBA, // DCB=(RECFM=FB,LRECL=32,BLKSIZE=0), // DISP=(NEW,CATLG,DELETE) //SYSIN DD * /*

12

JCL y Utileras

Sintaxis de las sentencias de JCL

Sentencia JOB EXEC DD Comando Delimitador Nulo Comentarios

Columna 1 y 2 // // // // /* // //

Campos (a partir de la columna 3) jobname JOB[operandos] stepname EXEC [oprendos] filename DD [operandos] (Comando) operandos

* comentarios

13

JCL y Utileras

3. Sentencias de JCL

14

JCL y Utileras

Sentencias de JCL

Las principales sentencias utilizadas son:

JOB.

Identifica el inicio del job a ejecutarse.

EXEC. Principio de cada paso e identifica el programa o procedimiento a ser ejecutado

DD.

Define las entradas y salidas del proceso

15

JCL y Utileras

3.1 Sentencia JOB

16

JCL y Utileras

Sentencia JOB

//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C, // MSGCLASS=C,MSGLEVEL=(1,1), // REGION=4096K,NOTIFY=ESBS755, // COND=(0,LT)

//Jobname JOB (cuenta),'user',parm1,parm2...

El jobname(CREAFILE) indica el nombre que se asignar al JCL, puede tener una longitud mxima de 8 caracteres. La sentencia JOB Indica el inicio del job a ser ejecutado, debe comenzar en la posicin 12.

17

JCL y Utileras

Sentencia JOB

//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C, // MSGCLASS=C,MSGLEVEL=(1,1), // REGION=4096K,NOTIFY=ESBS755, // COND=(0,LT)

Cuenta del jcl. Se debe indicar la cuenta (ABC) a la que es asignada el job, ya que ste es utilizado para determinar el gasto de recursos que el job necesita. Usuario del job. Mximo 20 caracteres. Puede ser especificado por la instalacin. Parmetros de ejecucin.

18

JCL y Utileras

Principales parmetros de la sentencia JOB

//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C, // MSGCLASS=C,MSGLEVEL=(1,1), // REGION=4096K,NOTIFY=ESBS755, // COND=(0,LT)

CLASS=x
Indica la cola de ejecucin a la cual ser asignado el job En caso de no ser indicada, se asigna la predeterminada por la instalacin. Algunos valores asignados pueden ser : A Impresora X retener mensajes Z no imprimir mensajes
19 JCL y Utileras

Principales parmetros de la sentencia JOB

//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C, // MSGCLASS=C,MSGLEVEL=(1,1), // REGION=4096K,NOTIFY=ESBS755, // COND=(0,LT)

MSGCLASS=x

Indica la cola de salida (x) a la cual se enviaran los mensajes que se generen durante la ejecucin del job.

20

JCL y Utileras

Principales parmetros de la sentencia JOB

//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C, // MSGCLASS=C,MSGLEVEL=(1,1), // REGION=4096K,NOTIFY=ESBS755, // COND=(0,LT)

MSGLEVEL=(x,y)
Controla la salida de las sentencias y mensajes de salida en el log. Indica la clase de ejecucin a la cual se enviaran los mensajes que se generen durante la ejecucin del job. Valores a asignar : x Sentencias que se desplegarn en el log del job y Mensajes que sern desplegados en el job Si esta sentencia es omitida se asigna un valor por default de la instalacin.
21 JCL y Utileras

Principales parmetros de la sentencia JOB

//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C, // MSGCLASS=C,MSGLEVEL=(1,1), // REGION=4096K,NOTIFY=ESBS755, // COND=(0,LT)

REGION=nnnn[K][M]
Especifica el mximo de memoria asignada a nivel de todo el JCL.

Puede ser expresada en Kilobytes (K) o Megabytes (M).

22

JCL y Utileras

Principales parmetros de la sentencia JOB

//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C, // MSGCLASS=C,MSGLEVEL=(1,1), // REGION=4096K,NOTIFY=ESBS755, // COND=(0,LT)

NOTIFY=aaaaaaa

Especfica el usuario de TSO (aaaaaaa) al que se notificar al terminar de ejecutarse el job.

23

JCL y Utileras

Principales parmetros de la sentencia JOB

//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C, // MSGCLASS=C,MSGLEVEL=(1,1), // REGION=4096K,NOTIFY=ESBS755, // COND=(0,LT)

COND=(n,a)
Especfica el cdigo de retorno (n) y la condicin (a) para que los pasos del JOB continen ejecutndose. Condiciones de retorno : GT - Mayor que LT - Menor que EQ - Igual a

GE - Mayor o igual que LE - Menor o igual que NE - Distinto de


24 JCL y Utileras

Parmetros adicionales de la sentencia JOB

LINES

Nmero mximo de lneas a desplegar en SYSOUT, y dependiendo de ste se cancela el job, se guarda la informacin en cartucho, o bien, se enva un mensaje al operador. LINES=nnnn Controla el reinicio del job a partir del paso especificado RESTART=stepname

RESTART

TIME TYPERUN

Determina el tiempo mximo de CPU que puede ser utilizado en la ejecucin del job. Localiza los errores de sintaxis del JCL con las opciones de no ejecutarlo, ejecutarlo hasta que el operador lo permita ejecutarlo en la clase de SYSOUT
25 JCL y Utileras

3.2 Sentencia EXEC

26

JCL y Utileras

Sentencia EXEC

//P01DE01

EXEC PGM=BG3C3330,PARM='20010101',COND=(0,EQ)

//stepname EXEC [PGM][PROC]=programa/procedimiento,parm1,parm2

Inicia con el stepname, el cual puede tener una longitud mxima de 8 caracteres. La sentencia EXEC debe iniciar en la posicin 12, indica el inicio de cada paso. Se debe indicar si es un programa (PGM) o un procedimiento (PROC) el que se va a ejecutar. Parmetros de ejecucin a nivel de la sentencia EXEC.
27 JCL y Utileras

Principales parmetros de la sentencia EXEC

//P01DE01

EXEC PGM=BG3C3330,PARM='20010101',COND=(0,EQ)

PARM=valor

Permite informar valores al programa en ejecucin.

Pueden informarse hasta 100 caracteres como valores de un parmetro.

28

JCL y Utileras

Principales parmetros de la sentencia EXEC

Parmetros para un programa usando PARM


DECLARACION EN PROGRAMA
*********************************************** * LINKAGE SECTION * *********************************************** LINKAGE SECTION. * 01 REG-PARM. 05 PARM-LONG PIC X(2). 05 PARM-TAREA PIC X(4). 05 PARM-ARCHIVO PIC X(3). *********************************************** * PROCEDURE DIVISION *********************************************** PROCEDURE DIVISION USING REG-PARM.

DECLARACION EN JCL Programa sin DB2


//P01DE01 EXEC PGM=BG4CINT0,PARM=9400MOV,COND=(0,EQ)

Programa con DB2


//SYSTSIN DD * DSN SYSTEM(DB2D) RUN PROGRAM(BG4CINT0) PLAN(BVDBGPB) PARM('9400MOV') END

29

JCL y Utileras

Principales parmetros de la sentencia EXEC

//P01DE01

EXEC PGM=BG3C3330,PARM='20010101',COND=(0,EQ)

COND=(n,a,[EVEN/ONLY])
Realiza la misma funcin que en la sentencia JOB, con la diferencia que sta slo aplica a nivel de paso, y con algunas condiciones adicionales. Las condiciones: EVEN. Indica que el paso se ejecutar an cuando algn paso anterior finalice anormalmente ONLY. Indica que este paso se ejecutar si algn paso ha finalizado anormalmente.
30 JCL y Utileras

Parmetros adicionales de la sentencia EXEC

REGION

Especifica el mximo de memoria asignada a nivel de paso. Puede ser expresada en Kilobytes o Megabytes Tiempo mximo de ejecucin a nivel de paso

TIME

31

JCL y Utileras

3.3 Sentencia DD

32

JCL y Utileras

Sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

//ddname //

DD DSN= ____,DISP=_____,UNIT=____, SPACE=_____,VOL=_____,DCB=_____

El ddname indica el nombre del paso, tiene una longitud mxima de 8 caracteres y ste nombre debe ser nico por cada paso. DD (Data Definition). Describe los archivos que requiere el programa a ser ejecutado. Debe iniciar en la posicin 12, codificndose despus del ddname. Posterior a su codificacin, se asignan los parmetros opcionales necesarios para la definicin del archivo.
33 JCL y Utileras

Principales parmetros de la sentencia DD

PROGRAMA COBOL. SELECT IN-FILE ASSIGN TO E1DQ0001 DEFINICION DE DD //E1DQ0001 DD DSN=ACCEN.SBAS.DATOS

34

JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

DSN=namefile
El namefile es el nombre con que el sistema debe localizar o alojar los archivos.

Existen diferentes tipos de archivos, los mas importantes son: Secuenciales, Particionados, Generacionales (GDG), VSAM, etc.

35

JCL y Utileras

Principales parmetros de la sentencia DD

Los nombres que son asignados generalmente a los diferentes tipos de archivos son: Archivos secuenciales. Mximo 44 caracteres nombre.del.archivo Archivos particionados. nombre.del.archivo(nom_elemento) Archivos generacionales. nombre.del.archivo(num_generacin) Archivos temporales. &&nombre

36

JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

DISP=(ind_1,ind_2,ind_3)
El parmetro DISP, tiene tres funciones: El primer indicador nos dice la situacin del archivo al inicio de la ejecucin. El segundo indicador nos dice que accin se debe de tomar con el archivo si el paso termina correctamente El tercer indicador nos dice que accin se debe de tomar con el archivo si el paso termina anormalmente.
37 JCL y Utileras

Principales parmetros de la sentencia DD

Las diferentes disposiciones de los archivos son: Disposicin NEW OLD SHR MOD El archivo es creado El archivo ya existe y mientras se esta utilizando ninguna otra tarea puede acceder a dicho archivo. El archivo existe y adems puede ser compartido. Si existe, ninguna otra tarea puede accederlo. En la adicin de registros nuevos, obliga al sistema de I/O a posicionarse en el ltimo registro que exista. Si el archivo no existe lo considera NEW.
Contina...

Descripcin

38

JCL y Utileras

Principales parmetros de la sentencia DD

Las diferentes disposiciones de los archivos son: Disposicin DELETE KEEP PASS CATLG UNCATLG El archivo es borrado Indica que el archivo debe mantenerse al final del paso. Indica que el archivo se utilizar en los pasos posteriores. Se borra al terminar el job. El archivo se guarda y es catalogado. El archivo se guarda y no es catalogado. Descripcin

39

JCL y Utileras

Principales parmetros de la sentencia DD

Reglas de uso para parmetros DISP:

DISP=

NEW OLD SHR MOD ,

,DELETE ,KEEP ,PASS ,CATLG ,UNCATLG ,

,DELETE ,KEEP ,PASS ,CATLG ,UNCATLG

Si el primer parmetro no es codificado se asume NEW. Si el segundo parmetro no es codificado se asume DELETE, si en el primer parmetro se informa NEW. Si el segundo parmetro no es codificado se asume KEEP, slo si en el primer parmetro se informa OLD. El tercer parmetro siempre debe ser codificado
40 JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

UNIT=[address/type][TAPE][SYSDA]
Especifica un dispositivo de entrada o salida, ya sea a unidad de cinta o disco, volumen o un grupo de discos designados por la instalacin (generalmente SYSDA o 3390). Este parmetro depende de la instalacin

41

JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

SPACE=([CYL][TRK][nnnn],(ext_primaria,ext_secundaria,[miembros]),[RLSE]) Indica el espacio que debe reservarse en disco para almacenar los datos del archivo. Slo debe indicarse cuando el archivo es nuevo.

Las unidades en las que se mide el espacio son :Cilindros (CYL), Tracks (TRK) o longitud del bloque(nnnn).

42

JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

El primer subparmetro (extensin primaria), indica el espacio que se reservar para el archivo al momento de crearlo. El segundo subparmetro (extensin secundaria) es la cantidad de espacio a aadir cada vez que el archivo se llene. Se pueden aadir hasta 15 extensiones secundarias. El tercer subparmetro (directorio), es principalmente para indicar el espacio a reservar para los miembros a alojar en caso de tratarse de un archivo particionado. RLSE, indica que al final de la ejecucin se libere el espacio no usado por el archivo alojado.
43 JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

VOL=disco VOL=SER=disco VOL, se utiliza para identificar el disco en el que se encuentra el archivo. Para archivos catalogados no es necesario se codifique esta sentencia. SER, indica el nmero de serie del disco. Normalmente, tiene el mismo valor que el volumen.

44

JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

DCB=(LRECL=______,RECFM=_____,BLKSIZE=_____) LRECL=______,RECFM=_____,BLKSIZE=_____

Data Control Block (DCB). archivo.

Indica las caractersticas de los registros del

La sentencia DCB, puede ser omitida y especificar nicamente los subparmetros de sta (LREC,RECFM,BLKSIZE).
45 JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

LRECL=nnnn

Especifica la longitud del registro .

46

JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

RECFM=nnnn

Indica el formato del bloqueo: F Fija FB Fija bloqueada V Variable VB Variable bloqueado U - Indefinida FBA Fijo bloqueado con caracteres ASA

47

JCL y Utileras

Principales parmetros de la sentencia DD

//S1DQ4000 DD DSN=APHA.SBAS.DATA.HAQL090, // DISP=(NEW,CATLG,DELETE),UNIT=3390, // SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, // DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370)

BLKSIZE=nnnn

Indica la longitud del bloque. Se calcula multiplicando la longitud del registro por el nmero de registros contenidos en un bloque. Si el blocksize es omitido o se le asigna el valor 0, el sistema lo calcula. En los sistemas actuales se recomienda informarlo con valor 0 (BLKSIZE=0)
48 JCL y Utileras

Parmetros adicionales de la sentencia DD

DUMMY

Se utiliza para simular las entradas y salidas a un archivo. El programa realiza todas las funciones como si el archivo existiera.
//S1DQ0001 DD DUMMY

SYSOUT

Indica el archivo lgico al que debe direccionarse a una clase de salida, en lugar de un disco o cinta.
//S1DQ0001 DD SYSOUT=X

COPIES

Indica el nmero de copias (entre 1 y 255) que se desea obtener de un listado


//S1DQ0001 DD SYSOUT=X,COPIES=4

49

JCL y Utileras

Parmetros adicionales de la sentencia DD

DEST

Indica la impresora fsica por la que se listar el informe que se desea imprimir, ya sea a un terminal remoto (RTMnnn), o bien, a una impresora local(LOCAL).
//S1DQ0001 DD SYSOUT=X,COPIES=4,DEST=RTM005

OUTLIMIT

Indica el nmero mximo de lneas que se van a imprimir del listado. Cuando se alcanza el lmite de lneas, el paso termina.
//S1DQ0001 DD SYSOUT=X,COPIES=4,DEST=RTM005, // OUTLIMIT=1500

50

JCL y Utileras

3.4 Sentencias Especiales

51

JCL y Utileras

Sentencias especiales

Algunas sentencias son utilizadas para indicar dnde se encuentran los programas o archivos que intervienen en el job. Estas sentencias son:

JOBLIB

A travs de la cual se indican a nivel de JOB las libreras donde se encuentran los programas que se requieren ejecutar.
//CREAFILE JOB (ABC),'EJEMPLO',CLASS=C //JOBLIB DD DSN=MBVD.BGA.NRNTLOAD,DISP=SHR // DD DSN=MBVD.TCA.NRNTLOAD,DISP=SHR // DD DSN=SYS1.COB2LIB,DISP=SHR

52

JCL y Utileras

Sentencias especiales

STEPLIB

Permite indicar a nivel de paso las libreras donde se encuentran los programas que se quieren ejecutar
//P01DE01 //STEPLIB EXEC PGM=BG3C3330 DD DSN=ACCEN.COMPLIB.LOAD

SYSABEND SYSDUMP

Muestra los mensajes de memoria en caso de producirse un mensaje de terminacin anormal (ABEND).
//SYSABEND DD //SYSUDUMP DD SYSOUT=* SYSOUT=*

53

JCL y Utileras

Sentencias especiales

Paso de parmetros para un programa usando SYSIN


DECLARACION EN PROGRAMA
*********************************************** * VARIABLES *********************************************** WORKING- STORAGE SECTION. * 01 VARIABLES-SYSIN. 05 WS-TARJETA. 10 FECHA-SISTEMA. 15 FECHA-SISTEMA-AA PIC X(2). 15 FECHA-SISTEMA-MM PIC X(2). 15 FECHA-SISTEMA-DD PIC X(2). ********************************************** * PROCEDURE DIVISION ********************************************** PROCEDURE DIVISION. 1000-RECIBE-FECHA. ACCEPT FECHA-SISTEMA FROM SYSIN.

DECLARACION EN JCL
//**************************************************** //* ESTE JCL ES UNA PRUEBA DE EJECUCION DE JCL //**************************************************** //PASO01 EXEC PGM=IKJEFT01 //STEPLIB DD DSN=DGDWP.BTCH.LOAD,DISP=SHR // DD DSN=DSTOP.BTCH.LOAD,DISP=SHR // DD DSN=DXAEP.BTCH.LOAD,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSOUT DD SYSOUT=* //LAYDB110 DD SYSOUT=* //LOGERR DD SYSOUT=* //SYSIN DD * 980603 //SYSTSIN DD * DSN SYSTEM(DB2D) RUN PROGRAM(BG4CINT0) PLAN(BVDBGPB)

54

JCL y Utileras

4. Cdigos de retorno

55

JCL y Utileras

Cdigos de Error y ABEND

Existen dos diferentes cdigos de error regresados por el OS/390. Los cdigos de retorno de un programa y cdigos de retorno propios del sistema. En caso de terminar con un ABEND (Terminacin anormal) el paso que se esta ejecutando realiza un bypass de los pasos restantes. Los cdigos del sistema, estn estructurados de la siguiente forma: Annn

Donde: A - Se refiere al tipo de Abend, adquiriendo los siguientes valores: S Sistema U Usuario I Informativo nnn - Indica el nmero de cdigo en hexadecimal
56 JCL y Utileras

Cdigos de retorno

Los cdigos de retorno pueden ser definidos por el propio programador Algunas veces se requiere del uso de cdigos de retorno especiales para detener la ejecucin de un programa por alguna condicin especfica.
CR 00 04 08 12 16 Mayor a16 y Menor de 500 Ejecucin exitosa Error informativo (Warning) Archivo no localizable No se encontr algn elemento necesario para la ejecucin ABEND no controlado Error controlado. Propio del programa Descripcin

57

JCL y Utileras

Salida de un spool

Display

Filter

View

Print

Options

Help LINE 1-2 (2) SCROLL ===> CSR

------------------------------------------------------------------------------SDSF STATUS DISPLAY ALL CLASSES COMMAND INPUT ===> NP JOBNAME IDBEX26 JOBID OWNER PRTY QUEUE 15 EXECUTION 1 PRINT A 1603 C POS SAFF MEX3 TSU08135 IDBEX26

ASYS STATUS MEX3

IDBEX26X JOB05676 IDBEX26

58

JCL y Utileras

Salida de un spool

Display Filter View Print Options Help ------------------------------------------------------------------------------SDSF JOB DATA SET DISPLAY - JOB IDBEX26X (JOB05676) LINE 1-10 (10) COMMAND INPUT ===> SCROLL ===> CSR NP DDNAME STEPNAME PROCSTEP DSID OWNER C DEST REC-CNT PAGE JESMSGLG JES2 2 IDBEX26 X LOCAL 53 JESJCL JES2 3 IDBEX26 X LOCAL 150 JESYSMSG JES2 4 IDBEX26 X LOCAL 239 SYSOUT BG105207 105 IDBEX26 X LOCAL 26 S1DLINC0 BG105204 106 IDBEX26 X LOCAL 2 SYSTSPRT BG105204 110 IDBEX26 X LOCAL 6 SYSOUT BG105202 115 IDBEX26 X LOCAL 26 S1DLINC0 BG105201 116 IDBEX26 X LOCAL 2 SYSOUT BG105201 118 IDBEX26 X LOCAL 2 SYSTSPRT BG105201 120 IDBEX26 X LOCAL 6

59

JCL y Utileras

Salida de un spool
********************************* TOP OF DATA ********************************** J E S 2 J O B L O G -- S Y S T E M M E X 3 -- N O 08.44.44 08.44.44 08.44.45 08.44.45 08.44.45 08.44.48 08.44.50 08.44.50 08.44.50 08.44.50 08.44.52 08.44.52 08.44.52 08.44.52 08.44.54 08.44.55 08.44.55 08.44.55 08.44.58 08.44.58 08.44.58 08.44.58 08.44.58 08.45.46 08.45.46 08.45.48 08.45.49 08.45.49 JOB05676 ---- THURSDAY, 07 MAR 2002 ---JOB05676 IRR010I USERID IDBEX26 IS ASSIGNED TO THIS JOB. JOB05676 ICH70001I IDBEX26 LAST ACCESS AT 08:35:09 ON THURSDAY, MARCH JOB05676 $HASP373 IDBEX26X STARTED - INIT 1 - CLASS A - SYS MEX3 JOB05676 IEF403I IDBEX26X - STARTED - TIME=08.44.45 JOB05676 MBVD.BG.WKF.PROGRESA.CUENTAS.BANGOB.SORT SG(SGDASD03) JOB05676 VAM0516 DATASET (MBVD.BG.WKF.PROGRESA.CUENTAS.BANGOB.SORT JOB05676 VAM0511 DATASET (MBVD.BG.WKF.PROGRESA.CUENTAS.BANGOB.SORT JOB05676 VAM0511 DSDD18 JOB05676 MBVD.BG.WKF.PROGRESA.CUENTAS.BANGOB.SORT BORRADO POR ESTAR DU JOB05676 --TIMINGS (M JOB05676 -JOBNAME STEPNAME PROCSTEP RC EXCP CONN TCB SRB JOB05676 -IDBEX26X BG105207 00 138 806 .00 .00 JOB05676 MBVD.BG.FIX.PROGRESA.EDOCTAS.CTASFEB SG(SGDASD03) JOB05676 VAM0516 DATASET (MBVD.BG.FIX.PROGRESA.EDOCTAS.CTASFEB JOB05676 VAM0511 DATASET (MBVD.BG.FIX.PROGRESA.EDOCTAS.CTASFEB JOB05676 VAM0511 DSDD18 JOB05676 MBVD.BG.FIX.PROGRESA.EDOCTAS.CTASFEB BORRADO POR ESTAR DUPLIC JOB05676 -IDBEX26X BG105204 00 475 2072 .00 .00 JOB05676 DMS2987 DATA SET CATALOGED TO SAMS:DISK PSEUDO-VOLUME ARCIVE JOB05676 DMS2987 SAMS:DISK HAS ARCHIVED MBVD.BG.FIX.BG3C1052.MOVUMO.SO JOB05676 DMS3752 AUTO RESTORE REQUEST BY IDBEX26X JOB05676 DMS3752 IS PASSED TO THE SUBSYSTEM FOR DSN = MBVD.BG.FIX.BG3C JOB05676 DMS2993 DATA SET SUCCESSFULLY RESTORED JOB05676 MBVD.BG.FIX.BG3C1052.MOVUMO.SORT SG(SGDASD03) JOB05676 VAM0516 DATASET (MBVD.BG.FIX.BG3C1052.MOVUMO.SORT JOB05676 VAM0511 DATASET (MBVD.BG.FIX.BG3C1052.MOVUMO.SORT JOB05676 VAM0511 DSDD15

60

JCL y Utileras

Salida de un spool
IEF142I IDBEX26X BG105201 - STEP WAS EXECUTED - COND CODE 0000 IEF285I MBVD.BG.WKF.PROGRESA.CUENTAS.BANGOB.SORT KEPT IEF285I VOL SER NOS= DSDD28. IEF285I MBVD.BG.FIX.BG3C1052.MOVUMO.SORT KEPT IEF285I VOL SER NOS= DSDD16. IEF285I IDBEX26.PS.FIX.BGJC1052.EDOCTAS.FEB CATALOGED IEF285I VOL SER NOS= DSDA67. IEF285I IDBEX26.PS.FIX.BGJC1052.REPORT.FEB CATALOGED IEF285I VOL SER NOS= DSDA67. IEF285I IDBEX26.IDBEX26X.JOB05676.D0000116.? SYSOUT IEF285I IDBEX26.IDBEX26X.JOB05676.D0000117.? SYSOUT IEF285I IDBEX26.IDBEX26X.JOB05676.D0000118.? SYSOUT IEF285I IDBEX26.IDBEX26X.JOB05676.D0000119.? SYSOUT IEF285I IDBEX26.IDBEX26X.JOB05676.D0000120.? SYSOUT IEF285I IDBEX26.IDBEX26X.JOB05676.D0000121.? SYSOUT IEF285I IDBEX26.IDBEX26X.JOB05676.D0000122.? SYSOUT IEF285I IDBEX26.IDBEX26X.JOB05676.D0000123.? SYSOUT IEF285I IDBEX26.IDBEX26X.JOB05676.D0000103.? SYSIN IEF373I STEP/BG105201/START 2002066.0845

61

JCL y Utileras

5. Procedimientos

62

JCL y Utileras

Procedimientos

Un procedimiento es un conjunto de sentencias que definen uno o mas pasos de trabajo.

Se utilizan cuando este grupo de sentencias son usadas con frecuencia en el mismo o distinto job.

Los procedimientos son clasificados en : In-stream Catalogados Mixtos

63

JCL y Utileras

Procedimientos In-stream

Este tipo de procedimientos se definen en el mismo job, mediante las sentencias de PROC y PEND. Son utilizados cuando un mismo proceso es realizado varias veces en el mismo job. Se ejecutan al ser referenciados a travs de la sentencia EXEC.
//DIARIO //CARGA //PASO1 //CLIENTES //... //PASO2 // PEND //PASO1 //ENTRADA //... //PASO2 //PASO3 JOB ... PROC EXEC PGM=... DD DSN=... EXEC EXEC DD EXEC EXEC PGM=... PGM=... DSN=... PROC=CARGA PGM=...

64

JCL y Utileras

Procedimientos Catalogados

Los procedimientos catalogados son aquellos que se definen y almacenan en Libreras. Comienzan con el procname y a continuacin la palabra PROC Se utilizan cuando se realiza un mismo proceso en distintos jobs. Se ejecutan a a travs de la sentencia EXEC.
//DIARIO //PASO1 //ENTRADA //... //PASO2 //PASO3 JOB ... EXEC PGM=... DD DSN=... EXEC EXEC PROC=CARGA PGM=... PROCEDIMIENTO CARGA

//CARGA //PASO1 //CLIENTES //... //PASO2

PROC EXEC DD EXEC

PGM=... DSN=... PGM=...

65

JCL y Utileras

Sentencias de procedimientos

Para codificar un procedimiento se siguen las mismas reglas explicadas en la codificacin de un job. Cuando el JES (Gestor de trabajos), inserta las lneas del procedimiento en el lugar correspondiente, las columnas 1 y 2 son modificadas: Catalogados In Stream // // se convierten se convierten XX

++

Cuando la lnea de codificacin tiene parmetros simblicos, las modificaciones son: Catalogados In Stream // // se convierten se convierten
66

X/

+/
JCL y Utileras

6. Utileras JCL

67

JCL y Utileras

Utileras del sistema

Las utileras permiten realizar operaciones con archivos sin tener que codificar un programa.

Las principales utileras usadas son: DFSORT IDCAMS IEBCOPY Organiza la informacin contenida en un archivo Permite tratar archivos VSAM Copia archivos particionados

IEBGENER Permite copiar archivos secuenciales

68

JCL y Utileras

6.1. DFSORT

69

JCL y Utileras

DFSORT - Definicin

Esta utilera es usada principalmente para llevar a cabo la organizacin de los datos contenidos en un archivo. Las funciones principales de esta utilera son: Ordenacin de registros de un archivo Fusin de dos archivos en uno Copia de archivos Eliminacin de registros de un archivo Reformateo de registros de un archivo Acumulacin de valores de los registros de un archivo.

70

JCL y Utileras

DFSORT Ordenacin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

Va a continuacin de la sentencia EXEC. El programa que ejecuta esta utilera es SORT, y dependiendo de la instalacin ser invocado como programa o procedimiento.

71

JCL y Utileras

DFSORT Ordenacin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

Los mensajes de salida que fueron generados en la ejecucin son dejados en el archivo de SYSOUT. Estos mensajes contienen informacin acerca de errores de la codificacin, nmero de registros de entrada y de salida.

72

JCL y Utileras

DFSORT Ordenacin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

SYSIN es el archivo en el que se codifica los parmetros de acuerdo con la funcin o funciones que se requieran realizar.

73

JCL y Utileras

DFSORT Ordenacin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

La sentencia SORT FIELDS se utiliza para indicar los campos por los que se desea ordenar el archivo y el orden que debe establecerse.

74

JCL y Utileras

DFSORT Ordenacin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

En la primera posicin se indica el comienzo del registro, a partir de donde empieza el campo por el que se quiere ordenar.

75

JCL y Utileras

DFSORT Ordenacin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

A partir de la segunda posicin se indica la longitud en bytes, del campo por el que se quiere ordenar. Debe tomarse en cuenta la longitud en caso de campos empaquetados

76

JCL y Utileras

DFSORT Ordenacin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

Se indica el formato del campo por el que se quiere ordenar. Los formatos mas utilizados son: CH - Carcter ZD - Decimal PD - Compactado

Cuando el formato de los campos de ordenacin es el mismo, es posible codificar la sentencia de la siguiente forma:
//SORT FIELDS=(1,5,A,7,8,D),FORMAT=CH

77

JCL y Utileras

DFSORT Ordenacin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

Para la sentencia SORT FIELDS es importante indicar el tipo de ordenacin, las cuales pueden ser: A ascendente D - Descendente

78

JCL y Utileras

DFSORT Seleccin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

A travs de la sentencia INCLUDE se puede realizar la seleccin de registros que cumplan ciertas condiciones, o bien, realizar lo contrario con la sentencia OMIT. Las sentencias de INCLUDE y OMIT no pueden ser codificadas a la vez .

79

JCL y Utileras

DFSORT Seleccin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

En la primera posicin se indica el comienzo del registro, es decir, la primera posicin a partir de donde empieza el campo que se quiere incluir. La segunda posicin indica la longitud del campo al que se hace referencia. La tercera posicin indica el formato del campo. En la cuarta posicin se indica el operador de comparacin (EQ,NE,GT,GE, LT, LE) y a continuacin la constante de control
80 JCL y Utileras

DFSORT Seleccin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

Para el uso de constantes se codificar de la siguiente forma: Cx...x Xyy...yy +n...n donde donde donde x es un caracter EBCDIC y es un par de dgitos hexadecimales n es un dgito decimal
81 JCL y Utileras

DFSORT Seleccin
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ',OR, 1,5,CH,EQ,C'PEREZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

Si se desean poner varias condiciones, se separan con operadores lgicos AND y OR, separadas por comas.

82

JCL y Utileras

DFSORT Suma
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

La sentencia SUM permite sumar los valores de un campo. La primera posicin indica el comienzo de campo a sumar y la segunda la longitud de dicho campo, continuada por el formato. Los campos a sumar deben ser numricos, empaquetados o decimales. El resultado de la suma es guardado en un registro y el resto son borrados.
83 JCL y Utileras

DFSORT Suma

Cuando se desean eliminar los registros duplicados que tienen los mismos campos de control iguales, se utiliza lo siguiente: SUM FIELDS=NONE

84

JCL y Utileras

DFSORT Reformateo de datos


//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

A travs de la sentencia OUTREC, se puede realizar el reformateo de registros despus de ser ordenados. Se debe codificar la localizacin y longitud de los campos que van a aparecer en el registro de salida. El resto de campos no especificados son eliminados.

85

JCL y Utileras

DFSORT Reformateo de datos

La sentencia OUTREC permite la insercin o borrado de campos en blanco en el registro. OUTREC FIELDS=(nnX,1,100,nnX) Donde nn X Por ejemplo: 20X 10X es el nmero de caracteres a insertar indicador de caracter en blanco inserta 20 caracteres blancos antes del campo inserta 10 caracteres blancos despus del campo

86

JCL y Utileras

DFSORT Reformateo de datos

La sentencia INREC tiene la misma funcin que la sentencia OUTREC, con la diferencia que realiza el reformateo antes de ser ordenados.

INREC FIELDS=(nnX,1,100,nnX)

Si se realizan INREC y SUM a la vez, la suma se realiza sobre los registros ya formateados. En cambio en OUTREC se procesa despus de realizar la suma. La sentencia INREC se procesa antes de SORT, SUM, OUTREC y despus de INCLUDE y OMIT.

87

JCL y Utileras

DFSORT SORTIN
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

SORTIN define el archivo de entrada que se desea ordenar. Debe codificarse con DD, con el nombre de SORTIN

88

JCL y Utileras

DFSORT SORTOUT
//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

SORTOUT define el archivo de salida en el que se desea guardar el archivo ya ordenado y reformateado. Debe codificarse con DD, con el nombre de SORTOUT.

89

JCL y Utileras

DFSORT reas de trabajo


//ORDENAR EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTIN DD DSN=... //SORTOUT DD DSN=... //SORTWKnn DD UNIT=SYSDA,SPACE=(CYL,1,1))

La sentencia SORTWKnn, son utilizadas como reas de trabajo temporales donde se guardan los registros a ordenar. Se deben definir como archivos temporales sin longitud de registro. Se pueden codificar desde SORTWK01 hasta SORTWK16

90

JCL y Utileras

DFSORT Merge
//FUSION EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * MERGE FIELDS=(1,5,CH,A,7,8,CH,D) INCLUDE COND=(1,5,CH,EQ,C'LOPEZ') SUM FIELDS=(14,9,PD) OUTREC FIELDS=(1,100) //SORTINnn DD DSN=... //SORTOUT DD DSN=...

La sentencia MERGE es utilizada para fusionar los registros ya ordenados de varios archivos. Pueden fusionarse hasta 16 archivos a la vez Los archivos deben tener el mismo formato y estar ordenados por los mismos campos de control. No puede utilizarse la sentencia SORT
91 JCL y Utileras

DFSORT Copy
//FUSION EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSIN DD * INCLUDE COND=(1,5,CH,GT,6,5,CH) OUTREC FIELDS=(1,100) OPTION COPY //SORTIN DD DSN=... //SORTOUT DD DSN=...

La sentencia COPY, es utilizada para copiar datos de un archivo a otro sin realizar alguna ordenacin o fusin.

No se puede usar la sentencia SUM, en este caso

92

JCL y Utileras

6.2. IDCAMS

93

JCL y Utileras

IDCAMS - Definicin
El IDCAMS es una utilera para gestionar archivos VSAM (Virtual Storage Access Method), aunque tambin puede ser usada para archivos secuenciales.

Sus funciones principales son: Definir y borrar un archivo VSAM Copiar de un archivo a otro Construir ndices alternativos Listar catlogos Imprimir archivos Transferir archivos de un sistema a otro

94

JCL y Utileras

IDCAMS - Definicin
Un VSAM es un mtodo de acceso a los datos almacenados en un dispositivo de acceso directo

Se llaman archivos VSAM aquellos que son accedidos de acuerdo con lo descrito anteriormente.

95

JCL y Utileras

IDCAMS - Tipos de VSAM

Los archivos VSAM pueden clasificarse de la siguiente forma:

ESDS

Los registros son almacenados y recuperados en el mismo orden en el que se graban

KSDS

Los registros se recuperan en el orden de un campo definido como clave. Son los ms usados.

RRDS

Los registros se almacenan en el orden dado por un nmero de secuencia.

96

JCL y Utileras

IDCAMS - Archivos ESDS


Los archivos ESDS (Entry Sequenced Data Storage) tienen las siguientes caractersticas: No tienen ndices ni claves

Los registros se aaden al final del archivo

Slo pueden ser accedidos en forma secuencial

Son similares a los archivos secuenciales, pero no pueden grabarse en cinta

97

JCL y Utileras

IDCAMS - Archivos KSDS


Los archivos KSDS (Key Sequenced Data Storage) tienen las siguientes caractersticas: Necesitan una clave, que debe ser nica, para identificar el registro.

La clave se utiliza para insertar el registro en el archivo y recuperarlo despus.

Admite claves alternativas (secundarias), no nicas

Admite acceso directo (por clave) o secuencial

98

JCL y Utileras

IDCAMS - Archivos RRDS


Los archivos RRDS (Relative Record Data Storage) tienen las siguientes caractersticas: No tienen ndices ni claves. Los registros se aaden segn un nmero asignado de 1 a n, siendo n el nmero mximo de registros del archivo. Este nmero puede ser asignado por el programa del usuario o por el sistema. Admite acceso directo (por nmero) o secuencial.

99

JCL y Utileras

IDCAMS - Codificacin

//stepname //SYSPRINT //SYSIN ... ... /*

EXEC PGM=IDCAMS DD SYSOUT=* DD *

Debe codificarse despus de la sentencia EXEC como PGM=IDCAMS En SYSPRINT se encuentran los mensajes de salida del programa SYSIN muestra la codificacin de los mandatos

100

JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

En algunas instalaciones la definicin de archivos VSAM es realizada por el departamento de administracin de bases de datos

101

JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

El archivo es definido como un Cluster (DEFINE CLUSTER) Un CLUSTER en archivos KSDS, se encuentra formado por dos componentes: uno de los ndices (INDEX) y otro los datos (DATA) Los dems tipos de archivos slo estn formados por datos (DATA)
102 JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

El parmetro NAME identifica al archivo en el catlogo.

103

JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

El parmetro REC indica el espacio requerido, el cual puede ser especificado en nmero de registros, tracks cilindros. El primer subparmetro indica la extensin primaria al crear el archivo y el segundo subparmetro indica la extensin secundaria a incrementar.
104 JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

El parmetro RECZ indica el tamao del registro. El primer subparmetro indica el tamao medio en bytes de los registros y el segundo subparmetro indica el tamao mximo en bytes de los registros.
105 JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

KEYS define la clave de acceso al archivo. El primer subparmetro indica el tamao en bytes de la clave y el segundo subparmetro la posicin relativa a partir del comienzo del registro. La primera posicin se codifica como 0.
106 JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

El parmetro VOLUME especifica el nombre del disco en el que se va a generar el archivo.

107

JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

El parmetro SHR indica las opciones activas, en caso de que el archivo se encuentre compartido. El primer subparmetro indica el nivel de acceso al archivo por una sola computadora y el segundo se refiere al nivel de acceso en caso de sean varias computadoras conectadas a travs de una red.
108 JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

El parmetro INDEXED indica que el archivo a crear es un KSDS. Si este parmetro no es codificado se asume INDEXED.
109 JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

Indica el nombre del archivo donde se almacenaran los datos del archivo.

110

JCL y Utileras

IDCAMS - Creacin de un archivo VSAM

//DEFINIR //SYSPRINT //SYSIN DEFINE

EXEC PGM=IDCAMS DD SYSOUT=* DD * CLUSTER(NAME(ACCEN.MASTER.EMPL) REC(500 50)RECSZ(25 50)KEYS(10 0)VOLUME(DIR003)SHR(2 3)INDEXED DATA(NAME(ACCEN.MASTER.EMPL.DATA) INDEX(NAME(ACCEN.MASTER.EMPL.INDEX)) /*

Este parmetro se utiliza para definir el nombre del ndice del archivo.

111

JCL y Utileras

IDCAMS - Borrado de un archivo VSAM

//BORRADO //SYSPRINT //SYSIN

EXEC PGM=IDCAMS DD SYSOUT=* DD * DELETE ACCEN.MASTER.EMPL

El parmetro DELETE permite borrar archivos VSAM. Al borrar el CLUSTER se eliminan tambin el DATA y el INDEX que se encuentran asociados al archivo. Esta sintaxis tambin puede ser usada para el borrado de archivos secuenciales o particionados

112

JCL y Utileras

IDCAMS - Copia de un archivo VSAM

//DEFINIR //SYSPRINT //file1 //file2 //SYSIN

EXEC PGM=IDCAMS DD SYSOUT=* DD DSN=... DD DSN=... DD * REPRO INFILE(file1) OUTFILE(file2) SKIP(nnn) COUNT(nnnn)

/*

El parmetro REPRO permite: Copiar de VSAM a VSAM Copiar de secuencial a secuencial Convertir de secuencial a VSAM
113 JCL y Utileras

IDCAMS - Copia de un archivo VSAM

//DEFINIR //SYSPRINT //file1 //file2 //SYSIN

EXEC PGM=IDCAMS DD SYSOUT=* DD DSN=... DD DSN=... DD * REPRO INFILE (file1) OUTFILE(file2) SKIP(nnn) COUNT(nnnn)

/*

Los parmetros INFILE y OUTFILE especifican los archivos de entrada /salida.

114

JCL y Utileras

IDCAMS - Copia de un archivo VSAM

//DEFINIR //SYSPRINT //ARCHIVO1 //ARCHIVO2 //SYSIN

EXEC PGM=IDCAMS DD SYSOUT=* DD DSN=... DD DSN=... DD * REPRO INFILE (ARCHIVO1) OUTFILE(ARCHIVO2) SKIP(100) COUNT(1500)

/*

El parmetro SKIP es opcional y es usado cuando se quiere indicar el nmero de registros que deben saltarse antes de comenzar la copia. Otra opcin es utilizar en el caso de estos archivos el parmetro FROMKEY, el cual indica la clave inicial a partir de la cual se quiere copiar. FROMKEY ('LOPEZ
115

')
JCL y Utileras

IDCAMS - Copia de un archivo VSAM

//DEFINIR //SYSPRINT //ARCHIVO1 //ARCHIVO2 //SYSIN

EXEC PGM=IDCAMS DD SYSOUT=* DD DSN=... DD DSN=... DD * REPRO INFILE (ARCHIVO1) OUTFILE(ARCHIVO2) SKIP(100) COUNT(1500)

/*

El parmetro COUNT indica el nmero de registros que quieren copiarse. En vez de este parmetro puede usarse TOKEY, en el cual se puede indicar la clave final. TOKEY ('LOPEZ99999')
116 JCL y Utileras

IDCAMS - Impresin de un archivo VSAM

//DEFINIR //SYSPRINT //namefile //SYSIN

EXEC DD DD DD PRINT CHAR

PGM=IDCAMS SYSOUT=* DSN=... * INFILE(namefile) FROMKEY('LOPEZ

')

/*

El parmetro PRINT permite imprimir tanto archivos VSAM como secuenciales. Para limitar el listado se utilizan los mismos parmetros que en REPRO. El formato del listado puede ser de tres tipos: CHAR Caracteres HEX Hexadecimal DUMP caracter-Hexadecimal
117 JCL y Utileras

6.3. IEBCOPY

118

JCL y Utileras

IEBCOPY - Definicin
El IEBCOPY es una utilera que permite copiar archivos, principalmente particionados. Las funciones principales que tiene asociadas esta utilera son: Copiar miembros de un archivo particionado Copiar un archivo particionado Sobre otro particionado Sobre un secuencial Reemplazar miembros de un particionado.

119

JCL y Utileras

IEBCOPY - Codificacin

//stepname EXEC //SYSPRINT DD //namefile1 DD //namefile2 DD //SYSIN DD ... /*

PGM=IEBCOPY SYSOUT=* DSN=... DSN=... *

Debe codificarse despus de la sentencia EXEC como PGM=IEBCOPY namefile1 es el archivo de entrada donde se encuentran los datos a ser copiados namefile2 es el archivo de salida donde se guardarn los datos que fueron copiados. En SYSPRINT se encuentran los mensajes de salida del programa. SYSIN muestra la codificacin de los mandatos.
120 JCL y Utileras

IEBCOPY - Copia de archivos particionados

//COPIAR EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //ENTRADA DD DSN=ACCEN.LIB1.FUENTES,DISP=SHR //SALIDA DD DSN=ACCEN.LIB2.FUENTES,DISP=SHR //SYSOUT1 DD * //SYSIN DD * COPY OUTDD=SALIDA,INDD=ENTRADA SELECT MEMBER=((item1,R),item2, (item3,itemn),item4)

OUTDD indica el nombre del archivo de salida donde se van a copiar los miembros. INDD indica el nombre del archivo de entrada donde se encuentran los miembros. Slo puede especificarse un archivo de entrada y uno de salida.
121 JCL y Utileras

IEBCOPY - Copia de archivos particionados


//COPIAR EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //ENTRADA DD DSN=ACCEN.LIB1.FUENTES,DISP=SHR //SALIDA DD DSN=ACCEN.LIB2.FUENTES,DISP=SHR //SYSOUT1 DD * //SYSIN DD * COPY OUTDD=SALIDA,INDD=ENTRADA SELECT MEMBER=((item1,R),item2, (item3,newname),item4)

La sentencia SELECT permite indicar los miembros a ser copiados. Esta funcin permite copiar, reemplazar o renombrar miembros Item1,item2 indican los nombres de los miembros a copiar El subparmetro R, indica que el miembro ser reemplazado con el mismo nombre en la librera de salida. El newname, es utilizado en caso de querer copiar un miembro con nombre diferente al original en la librera de salida.
122 JCL y Utileras

6.4. IEBGENER

123

JCL y Utileras

IEBGENER- Definicin
El IEBGENER es una utilera orientada al tratamiento de archivos secuenciales, pero tambin puede ser usada para archivos particionados.

Las funciones principales que tiene asociadas esta utilera son: Crear una copia de un archivo secuencial o crear una copia de un miembro en un archivo particionado Crear un archivo particionado o un miembro a partir de un Cambiar el blocaje de un archivo secuencial

124

JCL y Utileras

IEBGENER - Codificacin

//stepname //SYSPRINT //SYSUT1 //SYSUT2 //SYSIN /*

EXEC PGM=IEBGENER DD SYSOUT=* DD DSN=... DD DSN=... DD DUMMY

Debe codificarse despus de la sentencia EXEC como PGM=IEBGENER SYSUT1 define al archivo de entrada que puede ser secuencial o particionado. SYSUT2 define al archivo de salida que puede ser un secuencial, particionado o un elemento de un archivo particionado. En SYSPRINT se encuentran los mensajes de ejecucin programa SYSIN es DUMMY, ya que para esta utilera no tiene sentencias de control.
125 JCL y Utileras

IEBGENER - Copia de archivos secuenciales

//stepname //SYSPRINT //SYSUT1 //SYSUT2 // // // //SYSIN /*

EXEC PGM=IEBGENER DD SYSOUT=* DD DSN=APHA.SBAS.ORIGINAL,DISP=SHR DD DSN=APHA.SBAS.COPIA, DISP=(NEW,CATLG,DELETE),UNIT=3390, SPACE=(CYL,(10,10),RLSE),VOL=SER=SYSWK1, DCB=(LRECL=137,RECFM=FB,BLKSIZE=1370) DD DUMMY

Cuando se trata de copiar un member de un archivo particionado a otro, la sintaxis de SYSUT1 y SYSUT2 cambia:
//SYSUT1 //SYSUT2 DD DD DSN=APHA.SBAS.ORIGINAL(member),DISP=SHR DSN=APHA.SBAS.COPIA(member),DISP=OLD

126

JCL y Utileras

7. Generational Data Group (GDG)

127

JCL y Utileras

Generational Data Group (GDG) Definicin

Un Generational Data Group(GDG), cronolgicamente o funcionalmente.

es un grupo de archivos relacionados

Cada archivo que depende de un GDG es llamado generacin.

128

JCL y Utileras

Generational Data Group (GDG) Definicin

Ejemplo de un GDG, con un lmite de 3 versiones:


Nombre lgico SALDOS.CTAS(0) SALDOS.CTAS(-1) SALDOS.CTAS(-2) Nombre Fsico SALDOS.CTAS.G0003V00 SALDOS.CTAS.G0002V00 SALDOS.CTAS.G0001V00 Referencia ltima generacin Penltima generacin Ante-penltima generacin

Dependiendo del numero de versiones que sean definidas para el GDG, se deber hacer referencia a las versiones anteriores con n, es decir, -1,-2,-3,-4, etc. y a la ltima generacin se le asignar el valor 0. El mximo de generaciones permitidas es de 9999.

129

JCL y Utileras

Generational Data Group (GDG) Creacin de un GDG

//GDG EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE GDG (NAME(apl.name.gdg) LIMIT(n) [EMPTY/NOEMPTY] [SCRATCH/NOSCRATCH])

NAME. Define el nombre del GDG. LIMIT. Asigna el nmero mximo de generaciones (n). EMPTY. Cuando llega al lmite de generaciones, todas son descatalogadas. NOEMPTY. Al llegar al lmite de generaciones, se descataloga la ms antigua. SCRATCH NOSCRATCH. Indica que al descatalogar una generacin sea o no borrada definitivamente del volumen.
130 JCL y Utileras

Generational Data Group (GDG) Adicin de la primera generacin

//CREAGDG //SYSPRINT //GDGDD1 // // //SYSIN

EXEC PGM=IEFBR14 DD SYSOUT=* DD DSN=apl.name.gdg(+1), DISP=(NEW,CATLG,DELETE),UNIT=3390, SPACE=(TRK,(5,5)) DD *

Para crear la primera generacin vaca, es posible utilizar un archivo DUMMY. Depende de la instalacin la creacin de la primera generacin.

131

JCL y Utileras

Generational Data Group (GDG) Borrado de un GDG

//BORRAGDG EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE apl.name.gdg GDG

132

JCL y Utileras

Prcticas

133

JCL y Utileras

Prctica 1. Sentencia JOB

Objetivo. Declarar los parmetros necesarios para la definicin de un JOB. Instrucciones. 1. Acceder a la librera ACCEN.Z.JCLLIB y editar el miembro JCL1 2. Codificar las instrucciones de la sentencia JOB necesarias para la ejecucin del miembro JCL1, de acuerdo con las siguientes indicaciones: El nombre del jcl deber ser : JCL1 Cuenta asociada : ACCENT Usuario el mismo de la cuenta asociada Clase de ejecucin y mensajes : X Memoria : 1024K. 3. Ejecutar el job. En caso de errores efectuar las correcciones necesarias, hasta que la ejecucin del job resulte exitosa.
134 JCL y Utileras

Prctica 2. Definicin de DD

Objetivo. Definir los archivos de entrada y salida necesarios para la ejecucin de un programa. Instrucciones. 1. Generar en la librera ACCEN.Z.JCLLIB, un jcl con el nombre de JCL2. 2. Codificar las instrucciones necesarias para ejecutar el programa PGMTEST, el cual se encuentra en la librera ACCEN.Z.COBOL. 3. El archivo que contiene los datos de entrada para el programa es: ACCEN.PBM.INTTEST 4. Ejecutar el job. En caso de errores efectuar las correcciones necesarias, hasta que la ejecucin del job resulte exitosa

135

JCL y Utileras

Prctica 3. Procedimientos catalogados

Objetivo. Generar un proc y el JCL de ejecucin correspondiente Instrucciones. 1. Generar en la librera ACCEN.Z.JCLLIB, un jcl con el nombre de PROCCAT. 2. Codificar las instrucciones necesarias para ejecutar el programa PGMTEST a travs de un procedimiento catalogado, el cual se encuentra en la librera ACCEN.Z.COBOL 3. El archivo que contiene los datos de entrada para el programa es: ACCEN.PBM.INTTEST 4. Generar en la librera ACCEN.Z.JCLLIB, un miembro nuevo con el nombre de JCL3, el cual contenga las instrucciones necesarias para ejecutar el procedimiento anterior. 5. Ejecutar el job. En caso de errores efectuar las correcciones necesarias, hasta que la ejecucin del job resulte exitosa.
136 JCL y Utileras

Prctica 4. Procedimientos in-stream

Objetivo. Generar un proceso in-stream. Instrucciones. 1. Generar en la librera ACCEN.Z.JCLLIB, un jcl con el nombre de JCL4. 2. Codificar las instrucciones necesarias para generar el proceso in-stream PROCIN que ejecute el programa PGMTEST, el cual se encuentra en la librera ACCEN.Z.COBOL. 3. El archivo que contiene los datos de entrada para el programa es: ACCEN.PBM.INTTEST 4. Ejecutar el job. En caso de errores efectuar las correcciones necesarias, hasta que la ejecucin del job resulte exitosa

137

JCL y Utileras

Prctica 5. Sort

Objetivo. Generar un jcl en el cual se utilicen las principales funciones de sort. Instrucciones. 1. Partiendo del miembro JCL4, generar uno nuevo con el nombre de JCL5. 2. De acuerdo con la estructura del archivo de salida, generado por el programa PGMTEST en las prcticas anteriores, ste ser usado como archivo de entrada para sta prctica para lo cual se requiere de adicionar los siguientes pasos: Seleccin de la informacin Ordenar por nm. De grupo y fecha de inicio. Seleccionar slo aquellos registros que tengan fecha de inicio 15/07/01. Dejar en el archivo de salida slo las columnas pertenecientes al nm. de grupo, fecha de inicio, fecha terminacin, nombre, importes de cuota mensual e inscripcin.
138 JCL y Utileras

Prctica 5. Sort (Cont.)

Con el archivo obtenido, realizar la suma de los campos de importe seleccionando slo las columnas de grupo, fecha de ingreso, fecha de baja e importes. Utilizar como campo de ordenamiento el nmero de grupo. Ejecutar el job. En caso de errores efectuar las correcciones necesarias, hasta que la ejecucin del job resulte exitosa.
Nmero de Grupo Nombre del Curso Fecha de inicio Fecha de terminacin Nombre Inicial del nombre Primer apellido Nmero de alumno Cuota mensual Cuota de inscripcin Filler PIC X(04) PIC X(25) PIC X(08) PIC X(08) PIC X(15) PIC X(01) PIC X(15) PIC X(10) PIC 9(04)V99 PIC 9(04)V99 PIC X(36)

Estructura del Archivo de entrada inicial

139

JCL y Utileras

Prctica 6. Generational Data Group

Objetivo. Generar un jcl en el cual se muestre el manejo de GDGs. Instrucciones. 1. Codificar el la librera ACCEN.Z.JCLLIB, un nuevo miembro llamado JCL6, el cual contenga lo siguiente: Generacin de la estructura de un GDG con las siguientes caractersticas: Lmite de versiones: 3 Descatalogue la generacin ms antigua en caso de llegar al lmite de versiones No borre las generaciones descatalogadas Crear la primera generacin en vaco con ayuda del programa IEFBR14. Copiar el contenido del archivo de salida generado en el programa PGMTEST del JCL2 a la siguiente generacin (2)
140 JCL y Utileras

Prctica 6. Generational Data Group (Cont.)

Borrar del archivo de salida generado por el programa PGMTEST en el JCL2 los ltimos tres renglones. Ejecutar el job a partir de este paso para crear la siguiente generacin (3). Copiar el contenido de la ltima generacin (3) a la siguiente generacin (4). Ejecutar el job a partir de este paso Copiar el contenido de la versin ms antigua a la siguiente versin (5).

141

JCL y Utileras

Вам также может понравиться

  • Altamira
    Altamira
    Документ149 страниц
    Altamira
    Darnarus Infferno
    100% (3)
  • Introd Programacion Altamira
    Introd Programacion Altamira
    Документ66 страниц
    Introd Programacion Altamira
    Javier Aguirre
    100% (6)
  • Capacitación HOST
    Capacitación HOST
    Документ23 страницы
    Capacitación HOST
    Fernando Tibaduiza Gutierrez
    0% (1)
  • P1 A01 Solucion
    P1 A01 Solucion
    Документ7 страниц
    P1 A01 Solucion
    Uzziel 38
    Оценок пока нет
  • Arquitectura Altamira I
    Arquitectura Altamira I
    Документ54 страницы
    Arquitectura Altamira I
    korn1501
    100% (2)
  • Estandares CICS
    Estandares CICS
    Документ33 страницы
    Estandares CICS
    Darwin Abanto
    0% (1)
  • Apuntes Changeman
    Apuntes Changeman
    Документ8 страниц
    Apuntes Changeman
    David
    Оценок пока нет
  • Joinkeys
    Joinkeys
    Документ9 страниц
    Joinkeys
    Pablo Antonio Marquez
    0% (1)
  • Documento Cics
    Documento Cics
    Документ20 страниц
    Documento Cics
    josealzz9674
    Оценок пока нет
  • Altamira
    Altamira
    Документ408 страниц
    Altamira
    edassac
    Оценок пока нет
  • JCL 1
    JCL 1
    Документ42 страницы
    JCL 1
    Guissela Romero
    100% (1)
  • Aprende Jcls Desde 0
    Aprende Jcls Desde 0
    Документ21 страница
    Aprende Jcls Desde 0
    Gerardo Morales Carreon
    Оценок пока нет
  • Introducción A JCL
    Introducción A JCL
    Документ10 страниц
    Introducción A JCL
    pallendem
    Оценок пока нет
  • Manual JCLs EVERIS v1.0
    Manual JCLs EVERIS v1.0
    Документ28 страниц
    Manual JCLs EVERIS v1.0
    massigrasa07
    67% (3)
  • Cics Total
    Cics Total
    Документ122 страницы
    Cics Total
    Guillermo Redonda
    100% (4)
  • Arq Altamira
    Arq Altamira
    Документ150 страниц
    Arq Altamira
    pako24mx
    100% (1)
  • JCL Cobol
    JCL Cobol
    Документ16 страниц
    JCL Cobol
    Gener H Valencia
    100% (1)
  • Guía Changeman
    Guía Changeman
    Документ24 страницы
    Guía Changeman
    Aldo Octavio Rodriguez Vera
    100% (1)
  • JCL
    JCL
    Документ105 страниц
    JCL
    Oscar Cruz
    Оценок пока нет
  • Change Man SRB
    Change Man SRB
    Документ28 страниц
    Change Man SRB
    lui
    Оценок пока нет
  • Introducción A DB2 QMF
    Introducción A DB2 QMF
    Документ84 страницы
    Introducción A DB2 QMF
    marm67
    100% (1)
  • Tutorial Tso en Español
    Tutorial Tso en Español
    Документ52 страницы
    Tutorial Tso en Español
    x003312
    100% (5)
  • Manual Usua Rio Altamira
    Manual Usua Rio Altamira
    Документ649 страниц
    Manual Usua Rio Altamira
    Alejandro Avila Juarez
    Оценок пока нет
  • Change Man Manual
    Change Man Manual
    Документ31 страница
    Change Man Manual
    Daniel Camacho
    100% (1)
  • Guia Rapida Pruebas VD
    Guia Rapida Pruebas VD
    Документ28 страниц
    Guia Rapida Pruebas VD
    Diana Loaiza
    Оценок пока нет
  • Introd Programacion Altamira
    Introd Programacion Altamira
    Документ66 страниц
    Introd Programacion Altamira
    edassac
    Оценок пока нет
  • Changeman - Guia Grafica
    Changeman - Guia Grafica
    Документ55 страниц
    Changeman - Guia Grafica
    Miguel Angel Manrique
    Оценок пока нет
  • Altamira Completo y Ob
    Altamira Completo y Ob
    Документ43 страницы
    Altamira Completo y Ob
    JULIAN AGUILAR GONZALEZ
    100% (1)
  • Introducion Al Mundo Z (Bueno) PDF
    Introducion Al Mundo Z (Bueno) PDF
    Документ127 страниц
    Introducion Al Mundo Z (Bueno) PDF
    Pablo Giralte
    Оценок пока нет
  • CICS
    CICS
    Документ15 страниц
    CICS
    abuitrago81
    Оценок пока нет
  • Manual Cobol Basico 2011
    Manual Cobol Basico 2011
    Документ46 страниц
    Manual Cobol Basico 2011
    Karina Hm
    100% (1)
  • Manual VSAM
    Manual VSAM
    Документ36 страниц
    Manual VSAM
    Mary Dos Santos
    100% (1)
  • Apuntes de Sentencias de Cics
    Apuntes de Sentencias de Cics
    Документ40 страниц
    Apuntes de Sentencias de Cics
    Kain Alpha
    50% (4)
  • Manual Del Usuario ISPF TSO
    Manual Del Usuario ISPF TSO
    Документ8 страниц
    Manual Del Usuario ISPF TSO
    atolom1
    Оценок пока нет
  • Programacion Altamira PDF
    Programacion Altamira PDF
    Документ66 страниц
    Programacion Altamira PDF
    jose Antonio Riofrio Mio
    Оценок пока нет
  • Errores CICS
    Errores CICS
    Документ84 страницы
    Errores CICS
    Miguel Salazar
    0% (1)
  • Curso CICS
    Curso CICS
    Документ28 страниц
    Curso CICS
    dexdc
    Оценок пока нет
  • Guia Tso Ispf
    Guia Tso Ispf
    Документ38 страниц
    Guia Tso Ispf
    Peter Campell
    Оценок пока нет
  • Conceptos de Control-M y Control-D
    Conceptos de Control-M y Control-D
    Документ44 страницы
    Conceptos de Control-M y Control-D
    jutcanem
    86% (7)
  • Control M
    Control M
    Документ37 страниц
    Control M
    Daniel Camacho
    Оценок пока нет
  • Curso JCL SRB
    Curso JCL SRB
    Документ50 страниц
    Curso JCL SRB
    lui
    100% (1)
  • Control M
    Control M
    Документ12 страниц
    Control M
    eojerte
    Оценок пока нет
  • Manual Básico DB2
    Manual Básico DB2
    Документ75 страниц
    Manual Básico DB2
    Armando Broncas
    Оценок пока нет
  • Manual Sorts
    Manual Sorts
    Документ46 страниц
    Manual Sorts
    Nelson Ferrucho
    Оценок пока нет
  • Apuntes IBM ISeries, Primeros 26 Años
    Apuntes IBM ISeries, Primeros 26 Años
    Документ20 страниц
    Apuntes IBM ISeries, Primeros 26 Años
    Cesar Augusto Morales Mejia
    Оценок пока нет
  • Manual de Programacion Cobol
    Manual de Programacion Cobol
    Документ88 страниц
    Manual de Programacion Cobol
    Luis Figueroa
    Оценок пока нет
  • Conociendo DB2 Express v9.5
    Conociendo DB2 Express v9.5
    Документ272 страницы
    Conociendo DB2 Express v9.5
    Alma862
    100% (1)
  • Aprende Jcls Desde 0 PDF
    Aprende Jcls Desde 0 PDF
    Документ21 страница
    Aprende Jcls Desde 0 PDF
    dafraum
    Оценок пока нет
  • Introduccion JCL
    Introduccion JCL
    Документ23 страницы
    Introduccion JCL
    Johnny Dinodel Bracamonte Olaya
    Оценок пока нет
  • Manual JCL
    Manual JCL
    Документ33 страницы
    Manual JCL
    poseidontucu
    Оценок пока нет
  • Manual JCL PDF
    Manual JCL PDF
    Документ33 страницы
    Manual JCL PDF
    German Lopez
    100% (1)
  • Practica 3 - Llamado A Funciones en Ensamblador Desde C
    Practica 3 - Llamado A Funciones en Ensamblador Desde C
    Документ6 страниц
    Practica 3 - Llamado A Funciones en Ensamblador Desde C
    Alam Castillo Herrera
    Оценок пока нет
  • Practica 1 Programacion
    Practica 1 Programacion
    Документ67 страниц
    Practica 1 Programacion
    Gabriel C-morato
    0% (1)
  • Laboratorio 4 Keil RTX CMSI RTOS Advanced
    Laboratorio 4 Keil RTX CMSI RTOS Advanced
    Документ12 страниц
    Laboratorio 4 Keil RTX CMSI RTOS Advanced
    anagabriela_21949010
    Оценок пока нет
  • Manual JCL Basico
    Manual JCL Basico
    Документ16 страниц
    Manual JCL Basico
    Cristian Casares
    Оценок пока нет
  • Practicas DSP
    Practicas DSP
    Документ26 страниц
    Practicas DSP
    Daniel Jesus Romero Martin
    Оценок пока нет
  • Capitulo 6 zOS Basics
    Capitulo 6 zOS Basics
    Документ26 страниц
    Capitulo 6 zOS Basics
    Marco Antonio Araujo
    Оценок пока нет
  • Practica 9 Temporizadores en Modo PWM
    Practica 9 Temporizadores en Modo PWM
    Документ6 страниц
    Practica 9 Temporizadores en Modo PWM
    Adx Forever
    Оценок пока нет
  • Lenguaje Emu8086
    Lenguaje Emu8086
    Документ21 страница
    Lenguaje Emu8086
    Jhonatan Martínez
    Оценок пока нет
  • Lenguaje C - Microcontrolador ATMEGA328p-5
    Lenguaje C - Microcontrolador ATMEGA328p-5
    Документ55 страниц
    Lenguaje C - Microcontrolador ATMEGA328p-5
    Sergio Escobar Mendoza
    100% (1)