Citation preview

JCL CAPITULO 1 INTRODUCCIÓN

Job lenguaje de control. Se trata de un medio de comunicación entre un programa que puede ser escrito en COBOL, Assember o PL / I y el sistema operativo MVS. Sin un JCL, usted no puede poder ejecutar un trabajo en el sistema operativo MVS. Comencemos con un jcl ejemplo, ¿cómo se ve, el JCL siguiente es se utiliza para ejecutar un programa COBOL. Voy a explicar en este capítulo todos y cada uno línea de este JCL. Si ya fimiliar con jcl, pase primero 6 capítulos. (Primera 1 a 6 capítulos destinados a principiantes) JCL, que se utiliza para ejecutar un programa cobol / / / / / / / /

/ / / / / / / /

Job1 JOB (034D), 'RAMESH Krishna Reddy' class = 'A', PRTY = 6 STEP01 EXEC PGM = COBPROG. INFILE DD DSN = SED.GLOB.DES.INFILE, DISP = SHR OUTIFLE DD DSN = SED.GLOB.DES.OUTFILE, DISP = (NEW, CATLG, DELETE), UNIT = DISK, SPACE = (CYL, (1,5), RLSE), DCB = (RECFM = FB, LERECL = 70, = 700 BLKSIZE)

para ver el código fuente del programa cobol COBPROG haga clic aquí Ahora vamos a hablar de JCL que hemos visto. Antes de explicar, voy a explicar algunos conceptos básicos acerca de JCL Todas las declaraciones de JCL se compone de hasta cinco tipos de

campos / / Las dos barras diagonales son necesarios al inicio de cada JCL declaración en las columnas 1 y 2. Campo Nombre - Este es un campo opcional. Si codificado, debe comenzar en Columna 3. La longitud máxima es de 8. Operación campo - que indica la operación que se va a realizar Operando - Este campo debe aparecer después de la operación de campo. Debe comenzar a los 16 años columna Comentarios - Comentarios de comenzar un espacio después del último operando. Nuestra sencilla ejemplo no tiene comentarios.

/ Operación / Nombre operando / / Job1 JOB (034D), 'RAMESH', Class = 'A', PRTY = 6 / / STEP01 EXEC PGM = COBPROG / / INFILE DD DSN = SED.GLOB.DES.INFILE, / / / / / /

/ / / / / /

DISP = SHR OUTIFLE DD DSN = SED.GLOB.DES.OUTFILE, DISP = (NEW, CATLG, DELETE), UNIT = DISK, SPACE = (CYL, (1,5), RLSE), DCB = (RECFM = FB, LERECL = 70, = 700 BLKSIZE)

La imagen a continuación explican cómo nuestro JCL ejecutará programa cobol

EXPLICACIÓN / / Job1 JOB (034D), 'RAMESH' class = 'A', PRTY = 6 tarjeta de trabajo se utiliza principalmente para identificar empleo, y decirle a MVS sobre el tipo de trabajo es, la prioridad la tiene. Trabajo 1 es el nombre del trabajo 034D es la contabilidad información RAMESH es el nombre del programador CLASS es la categoría de trabajo PRTY es la prioridad en la clase / / STEP01 EXEC PGM = COBPROG EXEC se utiliza para especificar el programa a ejecutar. STEP01 es el nombre del paso (se puede dar ningún nombre aquí) COBPROG es el nombre del programa a ejecutar / / INFILE DD DSN = SED.GLOB.DES.INFILE, DISP = SHR INFILE es el nombre del archivo de entrada, que se utiliza en el programa COBOL DSN = SED.GLOB.DES.INFILE - Es conjunto de datos contiene información real que se deben leer. DISP = SHR - significa otro programa también puede leer este programa mientras está leyendo este archivo.

/ / / / /

/ / / / /

OUTFILE DD DSN = SED.GLOB.DES.OUTFILE, DISP = (NEW, CATLG, DELETE), UNIT = DISK, SPACE = (CYL, (1,5), RLSE), DCB = (RECFM = FB, LERECL = 70, = 700 BLKSIZE)

OUTFILE es el nombre de archivo_salida, que se utiliza en el programa COBOL DSN = SED.GLOB.DES.OUTFILE es el archivo de datos de salida se escribirá DISP = (NEW, CATLG, DELETE) Disp especifica la disposición del conjunto de datos, NUEVO - Conjunto de datos no existe, deberá crear CATLG - Si el paso se ha ejecutado correctamente, conjunto de datos debe estar catalogado DELETE - Si cualquier error, Recurso de datos debe suprimirse

CAPITULO 2 Como ya comentamos en el capítulo-1, tres operaciones de entrada importantes son 1. JOB 2. EXEC 3. DD Ahora echemos un vistazo a la declaración TRABAJO Sintaxis de la declaración TRABAJO

Explicación de los parámetros de palabra clave CLASE PRTY MSGCLASS msglevel TYPRUN NOTIFY

1. CLASE - Algunos trabajos se pueden ejecutar a corto, algunos trabajos pueden tomar más tiempo otro puede utilizar los recursos havy. Parámetro CLASE palabra clave se utiliza para indicar a OS sobre la naturaleza del trabajo que estamos presentando. Sintaxis -> CLASS = jobclass Los valores válidos -> cualquier carácter alfa BETICAL entre A - Z o números entre 0 - 9 JCL Ejemplo -> / / MITRABAJO JOB (3345Y), "Krishna Reddy 'CLASS = K

2. PRTY - Se relaciona con el parámetro CLASS. Se asigna prioridad a los trabajos que pertenecen a la misma clase. Un número más alto tiene prioridad sobre la trabajo con un menor número. Un trabajo con prioridad de 12 se ejecutará antes de que un trabajo con prioridad 5. Sintaxis -> PRTY = prioridad Los valores válidos -> cualquier valor entre 0 a 15 JCL Ejemplo -> / / MITRABAJO JOB (345Y), "Krishna Reddy ', CLASS = 8, PRTY = 6

3. MSGCLASS - El parámetro MSGCLASS determina el dispositivo de salida a la que mensajes del sistema y mensajes JCL se escriben Sintaxis -> MSGCLASS = Salida de nombre-claseLos valores válidos -> cualquier carácter alfa BETICAL entre A - Z o número entre 0 - 9 JCL Ejemplo -> / / MITRABAJO JOB (456Y), "Krishna Reddy ', CLASS = 7, PRTY = 5, MSGCLASS = A

4. Msglevel - se utiliza para indicar JCL, que los mensajes que se imprimen en el dispositivo especificado en el parámetro MSGCLASS

Sintaxis -> msglevel = (declaraciones, mensajes) Valores válidos -> Declaraciones puede ser el número 0,1,2 y los mensajes pueden ser 0 o 1 DECLARACIÓN 0 - En relación con las declaraciones de empleo sólo impresos 1 - jcl será impreso (Que incluye todos los parámetros catalogados / simbólico) 2 - sólo los comandos JCL de entrada que se está imprimiendo MENSAJES 0 - Atribución / terminación mensajes se imprimirán Si el trabajo finaliza de forma anómala 1 - Asignación / terminación mensajes se imprimirán independientemente de si el trabajo termina normalmente o anormalmente. JCL Ejemplo -> / / MITRABAJO JOB (3456Y), 'SR', CLASS = 8, MSGCLASS = S, msglevel = (1,1)

5. TYPRUN - El parámetro TYPRUN se utiliza para especificar si los trabajos se llevará a cabo hasta nuevo aviso, o para la comprobación de sintaxis Sintaxis -> TYPRUN = HOLD - trabajo en espera hasta nuevo aviso o TYPRUN = SCAN - Comprobar Jcl para la comprobación de sintaxis

JCL Ejemplo -> / / MITRABAJO JOB (3456Y), "Krishna", CLASS = 8, PRTY = 9, TYPRUN = ESPERA 6. NOTIFICAR - El parámetro NOTIFY se utiliza para dirigir el sistema, donde tiene que enviar el mensaje de éxito / fracaso después de terminar el trabajo. Sintaxis -> NOTIFY = userid / & SYSUID JCL EJEMPLO -> / / MITRABAJO JOB (3456Y), "Krishna Reddy ', CLASS = 8, NOTIFICAR = & SYSUID Y SYSUID - el identificador de usuario desde la que el usuario ha sido introducida

/ / TRABAJO MITRABAJO (34W5), "Krishna Reddy ', CLASS = 8, NOTIFICAR = ERT54 Se enviará el mensaje sucess / failture a ERT54 ID de usuario

CAPITULO 3 JOBLIB / STEPLIB

JOBLIB Se trata de un DD (Data definición) declaración, y especifica que el programa (que se especifica en la instrucción EXEC) existe. Es aplicable a todos los pasos de trabajo en ese trabajo. No se puede utilizar en los procedimientos catalogados. Sintaxis -> / / JOBLIB DD DSN = conjunto de datos Ejemplo JCL -> / / MITRABAJO JOB (E343), "Krishna" / / JOBLIB DD DSN = SE.TEST.LOADLIB, DISP = SHR / / STEPLIB DD DSN = conjunto de datos JCL Ejemplo -> / / MITRABAJO JOB (U456), "Krishna" / / PASO 1 EXEC PGM = COBPROG / / STEPLIB DD DSN = TEST.MYPROD.LIB, DISP = SHR / / PASO 2 EXEC PGM = COBPROG2 / / STEPLIB DD DSN = TEST.MYPROD.LIB1, DISP = SHR En el ejemplo anterior, paso 1 se está ejecutando que COBPROG Es miembro de TEST.MYPROD.LIB PASO2 está ejecutando COBPROG2 que es miembro de TEST.MYPROD.LIB1

Si tanto las declaraciones JOBLIB y STEPLIB están codificados, entonces la especificación STEPLIB anulará especificación JOBLIB.

CAPITULO 4 EXEC declaración

Instrucción EXEC se utiliza para ejecutar un programa / procedimiento

Un máximo de 255 instrucción EXEC puede codificar en un solo trabajo Sintaxis - / / EXEC PGM = StepName nombre del programa-, parámetros de palabra clave Parámetro posicional - Programa de nombre Parámetros de palabra clave para EXEC PARM ACCT ADDRSPC DPRTY REALIZAR RD PARM Parámetro PARAM se utiliza para pasar información al programa Sintaxis -> PARM = valor El valor es una cadena puede ser de 1 a 100 caracteres de largo.

Paso de parámetros a través del parámetro PARM

PARM-INDICADOR contendrá "RAMESH" PARM-longitud contiene la longitud de la cadena.

Restante de los parámetros, no utilizaremos mucho ACCT

- información contable para dicho paso

ADDRSPC - se utiliza para indicar al sistema que el paso de trabajo es utilizar almacenamiento virtual o real DPRTY

- se utiliza para asignar prioridad al paso de trabajo

PERFORM - especifica la velocidad a la que los recursos del sistema utilizados por paso de trabajo RD - definición de reinicio se utiliza para especificar el reinicio automático de un trabajo si abends

P. ¿Si hay una situación en la que tenemos que codificar más de 255pasos en un trabajo? A. Tenemos que dividir en dos jcl jcls, al final de la primera jcl comprobar el estado código e iniciar el JCL segundo.

CAPITULO 5 PARÁMETROS en ambos estados (JOB y EXEC)

COND TIEMPO REGIÓN Estos parámetros se pueden codificar en ambas declaraciones JOB y EXEC, Cuando el código estos parámetros en ambos declaración, TRABAJO - REGION anulará EXEC - REGION TRABAJO - COND anulará EXEC - COND EXEC - TIME JOB overrirde - TIEMPO Ahora vamos a ver los detalles de estos parámetros

REGIÓN - Especifica la cantidad de espacio debe ser utilizado en el momento de ejecución de un trabajo / actividad Sintaxis -> REGIÓN = K o REGIÓN = M JCL Ejemplo -> / / MITRABAJO JOB (Æ32), 'RAMESH' / / PASO 1 EXEC PGM = COBPROG, / / Región = 67K

Todo el almacenamiento disponible se asigna al trabajo o JobStep, si la región se codifica0K o 0M

COND

- Cada paso envía un código de un retorno al sistema al finalizar. Esto se llama código de condición. COND parámetro se utiliza para controlar la ejecución de los pasos de trabajo siguientes, dependiendo de la condición código que se devuelve para el paso anterior. Volver número de código entre 0 y 4095 Sintaxis -> COND = (comparsion-code, condición) (Si se codifica en trabajo) COND = (comparsion-code, condición [, StepName] [, PAR / SOLO]) (Si codificado en el paso) condición puede ser GT, GE, LT, LE, EQ, NE

Ejemplo JCL -> COND codificados en JOB / / / /

/ / / /

TRABAJO MITRABAJO (R475), "Krishna Reddy ' COND = (4, GT) PASO 1 EXEC PGM = COBPROG PASO 2 EXEC PGM = COBPROG2

En este ejemplo estamos especificando que si el número 4 es rallador que el código de retorno PASO 1, entonces PASO2

debe ser pasado por alto. Se desarrolla en el siguiente imagen

COND codificados en la declaración de EXEC / / / / /

/ / / / /

TRABAJO MITRABAJO (U769), "Krishna Reddy ' PASO 1 EXEC PGM = PROG1 PASO 2 EXEC PGM = COBPROG, COND = (8, EQ, paso 1)

En este ejemplo, el parámetro COND se utiliza para especificar que PASO2 debe ser superado si por 8 es igual al código de retorno emitido por PASO1.

TIEMPO - El parámetro de tiempo se utiliza para especificar la cantidad de tiempo de CPU que un paso de trabajo o un trabajo se le permite utilizarla. Sintaxis -> TIEMPO = minutos Oregón TIEMPO = ([minutos] [, segundos])

minutos puede estar entre 1 y 1439 segundo puede ser de entre 1 y 59 Ejemplo JCL -> Si codifica en JOB / / TRABAJO MITRABAJO (E234), 'RAMESH Krishna, TIEMPO = (20,30) / / PASO 1 EXEC PGM = COBPROG1 / / PASO 2 EXEC PGM = COBPROG2 / / PASO 3 EXEC PGM = COBPROG3 En este ejemplo, 20 minutos de tiempo de 30 segundos alloted de trabajo. Todos los pasos de este trabajo PASO 1 PASO 2 PASO 3 debería completar su tarea dentro de 20 min. 30 seg. Si codifica en PASO / / MITRABAJO JOB (R567), "Krishna" / / PASO 1 EXEC PGM = COBPRO / / Tiempo = 30 En este ejemplo 30 min. vez que se adjudicada a PASO 1. Si PASO1 requiere más de 30 min. MITRABAJO voluntad terminar anormalmente. Si codifica en tanto PASO Y DE TRABAJO / / Segundo trabajo, 'R. , Krishna 'TIME = 3 / / PASO 1 EXEC PGM = C, TIEMPO = 2 / / PASO 2 EXEC PGM = D, TIEMPO = 2 En este ejemplo, el trabajo se le permiten 3 minutos de tiempo de ejecución. Cada paso se permite 2 minutos de tiempo de ejecución. En caso de que cualquiera de los dos paso intenta ejecutar más de 2 minutos, el trabajo se terminará comenzando con ese paso. Si PASO1 ejecuta en 1,74 minutos y PASO 2 si intenta ejecutar más allá de 1,26 minutos, el trabajo será terminado por el límite de tiempo de 3 minutos especificado en la JOB comunicado.

Al tiempo de codificación = 1440 o TIME = NOLIMIT, dará un trabajo o paso una cantidad ilimitada de tiempo.

Para poder realizar un trabajo o paso para utilizar la cantidad máxima de tiempo, código de tiempo = MÁXIMO. TIEMPO MÁXIMO = Codificación permite que el trabajo o el paso a una duración de 357.912 minutos. (Aprox. 248 días) CAPITULO 6 DD DECLARACIÓN La declaración de DD (Data Definition), se utiliza para identificar la fuente de entrada y la colocación de la información de salida Sintaxis -> / / ddname DD ddname debe ser único en el trabajo Los parámetros posicionales - * DATOS MANIQUÍ DYNAM Palabra clave Parámetros - DSN DISP UNIDAD ESPACIO DCB VOLUMEN DSN PARÁMETRO Parámetro DSN se utiliza especificar el nombre del conjunto de datos Sintaxis -> DSN = nombre de conjunto de datos JCL Ejemplo -> / / MITRABAJO JOB (ER3), 'RAMESH R' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD DSN = TEST.GLOB.MYLIB TEST.GLOB.MYLIB se utiliza en el programa COBPROG.

CONJUNTOS DE DATOS TEMPORALES Conjunto de datos temporal se crea durante el trabajo y elimina al final del trabajo. Conjunto de datos temporal se puede codificar utilizando dos símbolos de unión seguidos por el nombre. JCL Ejemplo -> / / MITRABAJO JOB (E456), 'RAMESH' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD DSN = && TEMP Aquí TEMP es un conjunto de datos temporal se borrará al finalizar trabajo.

DISP PARÁMETRO El parámetro DISP se utiliza especificar la disposición del conjunto de datos que es codificada en el parámetro DSN. Sintaxis ->

Parámetro de la sentencia DISP Estado Disposición Disposición Anormal Normal

NUEVA DELETE DELETE OLD CATLG CATLG MOD UNCATLG MANTENER SHR MANTENER UNCATLG PASS

ESTADO NUEVO - Conjunto de datos se creará. (Archivo no existe) OLD - Recurso de datos debe existe. MOD - Conjunto de datos se creará si no existe. SHR - Conjunto de datos pueden ser utilizados por otros trabajos también

DISPOSICIÓN NORMAL (Sucedió después de la ejecución exitosa de paso de trabajo) DELETE - Recurso de datos debe suprimirse CATLG - Conjunto de datos se catalogan UNCATLG - Conjunto de datos se eliminará de catálogos del sistema MANTENGA - Conjunto de datos se guardarán (este parámetro debe ser usado con conjuntos de datos permanentes) PASS - Conjunto de datos se debe pasar paso de trabajo posterior en el mismo trabajo

DISPOSICIÓN ANORMAL (Sucedió en ejecución unsucessful de paso de trabajo) DELETE - Recurso de datos debe suprimirse CATLG - Conjunto de datos se catalogan UNCATLG - Conjunto de datos se eliminará de catálogos del sistema MANTENGA - Conjunto de datos se debe mantener

JCL EJEMPLO -> / / MITRABAJO JOB (E674), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD DSN = TEST.GLOB.TEMP, / / DISP = (NEW, CATLG, DELETE) En este ejemplo,

DISP = (NEW, CATLG, DELETE) NUEVO - TEST.GLOB.TEMP no existe, se creará CATLG - Tras la ejecución exitosa de paso de trabajo, el conjunto de datos se catalogarán DELETE - Si el trabajo terminicated anormal, conjunto de datos se borrarán

Parámetro Unidad En el entorno Mainframe IBM, todos los dispositivos tienen una dirección asignada a ellos en el momento de añadirse a la Sytem. Los dispositivos pueden ser referenciados utilizando estas direcciones. UNIDAD parámetro se utiliza para especificar la dirección thise. Sintaxis -> UNIDAD = DEVICE_ADDRESS / tipo_dispositivo / device_group_name / TAPE JCL EJEMPLO -> / / MITRABAJO JOB (R345), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD DSN = TEST.GLOB.TEST.LIB, / / UNIT = SYSDA En el ejemplo anterior, COBPROG se ejecuta, y un INFILE archivo que puede residir en cualquiera de los dispositivos que se agrupan bajo el nombre simbólico SYSDA se accederá

VOL PARÁMETRO Este parámetro se utiliza para identificar el número de serie de volumen en el cual conjunto de datos es residir. El conjunto de datos VOL se utiliza con conjuntos de datos en disco y cinta. Sintaxis -> VOL = VolumeLabel / data set etiqueta

Sub parámetros utilizados con el parámetro VOL SER - Especificación del número de serie REF - Referenciación VOL especificación de una etapa anterior PRIVADO - Permitir el acceso a un volumen de un solo usuario RETENER - La inhibición de desmontaje de volumen hasta el final del trabajo SEQ - Especificación de la secuencia en la que los volúmenes son para ser montado JCL EJEMPLO -> / / MITRABAJO JOB (E454), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD DSN = TEST.GLOB.TEMP, / / VOL = SER = (VOL1, VOL2, VOL3) En este ejemplo el conjunto de datos llamado DATA3 reside en 3 volúmenes cuyo números de serie son VOL1, VOL2, VOL3. El sistema operativo solicitará que todos los volúmenes se montan al mismo tiempo.

Espacio de parámetros El parámetro de espacio se utiliza para asignar espacio para conjuntos de datos. Podemos asignar espacio en cilindros / pistas / Bloques Sintaxis -> SPACE = (CYL, (primaria, secundaria directorio,), RLSE, contig, MXIG, REDONDO) En lugar de CYL, podemos utilizar TRK o BLK Significado del parámetro Sub

TRK - Solicitud de espacio en la pista CYL - Solicitud de espacio en cilindros PRIMARIA - Almacenamiento primario que se asignará en el momento de conjunto de datos creado SECUNDARIA - Almacenamiento adicional que se asignarán, Si el almacenamiento primario no es suficiente DIRECTORIO - Espacio para la grabación del nombre y la ubicación de particiones los conjuntos de datos RLSE - Solicitud de liberación de espacio no utilizado previamente asignado espacio después de la finalización del trabajo Contig - Solicitud de espacio contiguo MXIG - Solicitud de aread gran cantidad de espacio contiguo ROUND - Solicitud de cilindro completo para el almacenamiento de conjunto de datos JCL EJEMPLO -> / / MITRABAJO JOB (W345), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD DSN = TEST.GLOB.LIB / / UNIT = 4560 / / SPACE = (CYL, (30,4)) En este ejemplo, los cilindros 30 se solicitan como espacio primario y 4 cyliders adicionales como el espacio secundario.

Hasta que 15 se extiende de espacio secundario (en nuestro ejemplo es 4) será asignado, si el espacio no es suficiente.

DCB PARÁMETRO

Los registros de datos pueden contener longitud fija / longitud variable. El DCB (Data Control Block) parámetro se utiliza para especificar récord formato, longitud de registro, etc tamaño de bloque. Sintaxis -> / / ddname DD DCB = Subparámetros en DCB RECFM F / FB / V / V / U LRECL registro BLKSIZE BUFNO -

Especificación de formato de registro Especificación de la longitud de - Especificación del tamaño de bloque Especificación de buffers

Ejemplo JCL - TRABAJO> / / MYJCL (E3445), 'RAMESH' / / PASO 1 EXEC PROG = COBPROG / / INFILE DD DSN = TEST.GLOB.LIB / / UNIT = 234, / / DSN = (LRECL = 80, / / RECFM = FB, / / BLKSIZE = 800, / / = 30 BUFNO) En este ejemplo, el parámetro DCB especifica que este fichero es la de tienen una longitud de registro lógico de 80 bytes, que tendrá un bloque fijo formato de registro, y el bloque de la voluntad de 800 (800 es múltiplo de 80). La BUFNO parámetro se establece en 30, lo que indica hasta 30 tampones pueden ser utilizado en el almacenamiento virtual para este conjunto de datos. Buffers por defecto son 5, si no se ha especificado ninguna cosa

Cuando haya especificado para el parámetro V RECFM, valor LRECL es el mayor registro en el archivo más 4 bytes. Estos cuatro bytes contienen la longitud real de cada registro de longitud variable en el archivo

CAPITULO 7 CUENTAS ESPECIALES DD

1. MANIQUÍ DSN = NULLFILE 2. Concatenación de datos conjuntos 3. Al pasar los datos al programa cobol usando - SYSIN DD * 4. SYSOUT 5. SYSUDUMP 6. SYSADUMP

1. MANIQUÍ o DSN = NULLFILE Algunas veces necesitamos pruebas del programa, sin necesidad de utilizar conjuntos de datos reales. Entonces podemos usar chupete o DSN = NULLFILE. Si usamos DUMMY, el sistema operativo simula la presencia de un archivo. ¿Cuándo ustedes que leen sistema operativo envía final de petición de archivo de programa. JCL Ejemplo -> / / MITRABAJO JOB (W345), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD MANIQUÍ

2. Concatenación de conjuntos de datos

En JCL, podemos concatenar archivos diferentes, dando su nombre después de un otro. Todos los conjuntos de datos concated deben ser del mismo tipo. Por ejemplo, particionadas conjuntos de datos se pueden concatenar sólo con conjuntos de datos particionados. JCL Ejemplo -> / / MITRABAJO JOB (W345), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD DSN = TEST.GLOB.FILE1 / / DSN = TEST.GLOB.FILE2 / / DSN = TEST.GLOB.FILE3 En el programa, vamos a leer como un solo archivo. concatination de tres archivos realizado por el sistema operativo.

Máximo de 255 conjuntos de datos secuenciales pueden concatenar Máximo de 16 conjuntos de datos con particiones pueden ser concatenados juntos

3. Pasar datos al programa COBOL USO - SYSIN DD * Este es el uno de la manera de pasar datos al programa. Hay dos sintaxis es para pasar los datos. Sintaxis1 -> / / MITRABAJO JOB (W234), 'RAMESH' / / PASO 1 EXEC PGM = COBPROG / / SYSIN DD * / * Sintaxis2 -> / / MITRABAJO JOB (E345), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG / / SYSIN DD DATOS / *

4. SYSOUT El parámetro SYSOUT se utiliza para enviar la salida que se genera durante ejecución del trabajo. Sintaxis -> / / ddname SYSOUT DD = class JCL EJEMPLO -> / / MITRABAJO JOB (R456), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG / / INFILE DD SYSOUT = A En este ejemplo, se ejecuta COBPROG y todas las salidas generadas están dirigidos a la clase (aquí es letra A)

Si se utiliza con SYSOUT * (SYSOUT = *) parámetro, la clase asignado al parámetro MSGCLASS se utilizará para SYSOUT.

5. SYSUDUMP

SYSUDUMP se utiliza para volcar el contenido de varios registros, variables y acccessed conjuntos de datos en el momento de la terminación anormal, en un conjunto de datos. El vertedero se encuentra en hexadecimal. Sintaxis -> / / SYSUDUMP DD ..... JCL EJEMPLO -> / / MITRABAJO JOB (W345), 'RAMESH' / / PASO 1 EXEC PGM = COBPROG / / SYSUDUMP DD DSN = TEST.PROD.LIB

6. SYSABEND SYSABEND se utiliza para volcar el contenido de las variables de varios registros, conjuntos de datos de acceso y el núcleo en el momento de la terminación anormal. El vertedero se encuentra en hexadecimal. Sintaxis -> / / SYSABEND DD ..... JCL EJEMPLO -> / / MITRABAJO JOB (WE345), "Krishna Reddy ' / / PASO 1 EXEC PGM = COBPROG

CAPITULO 8 PROCEDIMIENTOS InStream y catalogado 1. Introducción 2. Procedimiento Instream 3. Catalogado procedimiento 4. Modificar declaraciones en un procedimiento 5. Parámetros simbólicos

INTRODUCCIÓN En JCL, tenemos una capacidad de reutilización concepto importante en la forma de Procedimientos internos al catalogados, a menudo, en los ambientes de trabajo

los usuarios pueden utilizar JCL mismo. El uso de procedimientos no consuntivos / catalogada se puede volver a utilizar el código de jcl que se almacenan en otro conjunto de datos, en nuestro conjunto de datos. Sintaxis de la ejecución de procedimiento -> EXEC [PROC =] nombre-procedimiento

PROCEDIMIENTO InStream Un procedimiento JCL es un segmento pre-escrito de código, que puede incluir en tu trabajo. Ustedes código propio caudal de datos establecido en el trabajo y utilizarlo en ese trabajo tantas veces como desee. Un Procedimiento Instream Ejemplo JCL

EXPLICACIÓN - Procedimiento de Instream deben definirse antes de cualquier instrucción EXEC definido

- Startes procedimiento Instream con PROC y termina con las declaraciones PEND - Procedimiento de Instream se ejecuta cuando se llama jcl principal.

El número máximo de procedimientos propio caudal que pueda en cualquier tipo de trabajo es de 15

PROCEDIMIENTOS catalogado Pre-escrito segmento de código (que se almacena como un miembro del PDS), que se puede utilizar todas las veces que desee en cualquier trabajo en el sistema. IBM proporciona un programa de utilidad denominado IEBUPDTE, este programa pone procedimientos catalogados en los conjuntos de datos particionadas. Estos procedimientos se colocan dentro de una biblioteca de sistema llamado SYS1.PROCLIB. El desarrollo de Procedimiento catálogo PASO 1: Escribir un procedimiento catalogado en MYLIB.EXAMPLES.TEST (catalog1) / / / / / /

/ / / / / /

CATLOG1 PROC PASO 1 EXEC PGM = COBPROG INFILE DD DSN = TEST.GLOB.LIB, DISP = SHR OUTFILE DD DSN = TEST.GLOB.SPACE.LIB, DISP = SHR

PASO 2: Escribir JCL principal que dirá en voz alta JCL catalog1 / / / /

/ TRABAJO MITRABAJO (WE234), 'RAMESH', CLASS = A / JCLLIB ORDER = (MYLIB.EXAMPLES.TEST)