Jcl 2 Dfsort Tutorial

12
DFSORT TUTORIAL de DRONA SERIES SUPUESTOS Antes de discutir acerca SORT, supongamos lo siguiente El archivo de entrada tiene los siguientes datos y la estructura Archivo de entrada MOHANK 23423423434534344 KIRAN MOHANK 13342345345345345 RAJEEV Arames 34535345325354324 SURESH SURESH 98347385385933987 PULI RAMESH 67575789769876785 MADHU Krishn 50830948530859340 OIIED Krishn 30495849572938495 MADHU SURESH 98347385385933987 PULI Sencillo SORT jcl structue es el siguiente - Muestra especie jcl ---- . . / / EXEC PGM PASO 10 = SORT, REGION = 1024K, PARM = parámetros / / SYSOUT SYSOUT DD = * Salida de mensajes de SORT / / SORTIN DD DSN = ..., DISP = SHR entrada si SORT solicitud / / SORTOUT DD DSN = ... Salida para solicitar SORT / / SORTOFxx DD DSN = ... OUTFILE datos de salida fija / / SORTXSUM DD DSN = ... Salida eliminado por el stm SUM / / SORTWKnn DD = UNIDAD SYSDA, archivos de trabajo si SORT solicitud / / SYSIN DD * Control de los datos de entrada declaración establecidos declaraciones de orden de control / * . .

Transcript of Jcl 2 Dfsort Tutorial

Page 1: Jcl 2 Dfsort Tutorial

DFSORT TUTORIALde DRONA SERIES

SUPUESTOS

Antes de discutir acerca SORT, supongamos lo siguiente

El archivo de entrada tiene los siguientes datos y la estructura

Archivo de entradaMOHANK 23423423434534344 KIRANMOHANK 13342345345345345 RAJEEVArames 34535345325354324 SURESHSURESH 98347385385933987 PULIRAMESH 67575789769876785 MADHUKrishn 50830948530859340 OIIEDKrishn 30495849572938495 MADHUSURESH 98347385385933987 PULI

Sencillo SORT jcl structue es el siguiente - Muestra especie jcl ----

.

./ / EXEC PGM PASO 10 = SORT, REGION = 1024K, PARM = parámetros / / SYSOUT SYSOUT DD = * Salida de mensajes de SORT / / SORTIN DD DSN = ..., DISP = SHR entrada si SORT solicitud / / SORTOUT DD DSN = ... Salida para solicitar SORT/ / SORTOFxx DD DSN = ... OUTFILE datos de salida fija / / SORTXSUM DD DSN = ... Salida eliminado por el stm SUM/ / SORTWKnn DD = UNIDAD SYSDA, archivos de trabajo si SORT solicitud / / SYSIN DD * Control de los datos de entrada declaración establecidos declaraciones de orden de control / *..

Los siguientes son los SORTCARDS PARA DIFERENTES TIPOS DE CLASES

Page 2: Jcl 2 Dfsort Tutorial

TAREA 1. Ordenar un determinado archivo - MUESTRA JCL

/ / SYSIN DD * CAMPOS sort = (1,3, CH, A, 9,3, CH, A) / *

ARCHIVO DE SALIDAArames 34535345325354324 SURESHKrishn 30495849572938495 MADHUKrishn 50830948530859340 OIIEDMOHANK 13342345345345345 RAJEEVMOHANK 23423423434534344 KIRANRAMESH 67575789769876785 MADHUSURESH 98347385385933987 PULISURESH 98347385385933987 PULI

EXPLICACIÓN

Por encima de la sintaxis de los SORT ordenados recrods, dependeen las claves que han facilitado (Hemos proporcionado dos llaves en los campos del parámetro)

PRIMERA CLAVE1,3, CH, A - Tecla comenzó en la columna 1, su longitud es de 3

SEGUNDA CLAVE9,3, CH, A - segunda llave comenzó en la columna 9, su longitud es de 3

En el ejemplo anterior, CH-significa carácter podemos utilizar BI para binarioA - Ascendente orden

Page 3: Jcl 2 Dfsort Tutorial

TAREA 2. Eleminate DUPLICADOS

/ / SYSIN DD * CAMPOS sort = (1,3, CH, A) CAMPOS DE SUMA = NONE / * / / ** Copyright www.mainframegurukul.com

OUTFILEArames 34535345325354324 SURESHKrishn 50830948530859340 OIIEDMOHANK 23423423434534344 KIRANRAMESH 67575789769876785 MADHUSURESH 98347385385933987 PULI

EXPLICACIÓN

si le damos CAMPOS SUM = NONE que eliminará los duplicados

TAREA 3. Dividir el archivo en dos o tres archivos depende de las condiciones

.

.

./ / SORTOF01 DD DSN = dataset1, / / DISP = (NEW, CATLG, DELETE), UNIT = SYSDA,/ / SPACE = (CYL, (1,4), RLSE), / / DCB = (RECFM = FB, LRECL = 80, BLKSIZE = 0) / / SORTOF02 DD DSN = dataset2, / / DISP = (NEW, CATLG, DELETE), UNIT = SYSDA,/ / SPACE = (CYL, (1,4), RLSE), / / DCB = (RECFM = FB, LRECL = 80, BLKSIZE = 0) / / SORTOF03 DD DSN = dataset3, / / DISP = (NEW, CATLG, DELETE), UNIT = SYSDA,/ / SPACE = (CYL, (1,4), RLSE), / / DCB = (RECFM = FB, LRECL = 80, BLKSIZE = 0)

Page 4: Jcl 2 Dfsort Tutorial

.

.

.

/ / SYSIN DD * Campos de clasificación = COPIA ARCHIVOS OUTFIL = 01, INCLUDE = (1,6, CH, EQ, C'MOHANK ') ARCHIVOS OUTFIL = 02, INCLUDE = (1,6, CH, EQ, C'SURESH ') ARCHIVOS OUTFIL = 03, INCLUDE = (1,6, CH, EQ, C'KRISHN ')/ *

SORTOF01MOHANK 23423423434534344 KIRANMOHANK 13342345345345345 RAJEEV

SORTOF02SURESH 98347385385933987 PULISURESH 98347385385933987 PULI

SORTOF03Krishn 50830948530859340 OIIEDKrishn 30495849572938495 MADHU

EXPLICACIÓN

1. Campos de ordenación COPIA = - indican, que para la copia de archivos, no para ordenar

2. ARCHIVOS OUTFIL = 01, INCLUDE = (1,6, CH, EQ, C'MOHANK ') ARCHIVOS OUTFIL = 02, INCLUDE = (1,6, CH, EQ, C'SURESH ') ARCHIVOS OUTFIL = 03, INCLUDE = (1,6, CH, EQ, C'KRISHN ') - Syncsort tomará datos de primera positioon a la 6 ª posición de entrada archivo y se comparan esos datos con MOHANK o SURESH o Krishn - Si los datos es igual a MOHANK entonces que recorrd se copia al conjunto de datos definido en SORTOF01 paso. (Ya hemos definido FILES = 01 en la segunda condición)

- Si los datos es igual a SURESH entonces que recorrd pasará al conjunto de datos definido

Page 5: Jcl 2 Dfsort Tutorial

en SORTOF02 paso. (Ya hemos definido FILES = 02 en la segunda condición)

- Si los datos es igual a Krishn entonces que recorrd se copian datos difned en SORTOF03 paso. (Ya hemos definido FILES = 03 en tercera condición)

TAREA 4. COPIA ELIMINAR DUPLICADOS EN OTRO ARCHIVO - JCL MUESTRA

.

./ / SORTXSUM DD DSN = DataSetName, / / DISP = (NEW, CATLG, DELETE), UNIT = SYSDA,/ / SPACE = (CYL, (1,4), RLSE), / / DCB = (RECFM = FB, LRECL = 80, BLKSIZE = 800)../ / SYSIN DD * CAMPOS sort = (1,3, CH, A) CAMPOS DE SUMA = NONE, Xsum / * / / * Copyright www.mainframegurukul.com y www.geocitie.comhttp://www.mainframetutorials.com

SORTOUTArames 34535345325354324 SURESHKrishn 50830948530859340 OIIEDMOHANK 23423423434534344 KIRANRAMESH 67575789769876785 MADHUSURESH 98347385385933987 PULI

SORTXSUMKrishn 30495849572938495 MADHUMOHANK 13342345345345345 RAJEEVSURESH 98347385385933987 PULI

EXPLICACIÓN

Page 6: Jcl 2 Dfsort Tutorial

1. CAMPOS sort = (1,3, CH, A) El archivo de entrada se ordenarán dependiendo para arriba de la tecla especificada anteriormente 1,3, CH, A - posición de partida clave es 1 y longitud 3, la comparación de tipo carácter, la clasificación es don en orden ascendente

2. CAMPOS DE SUMA = NONE, Xsum

CAMPOS DE SUMA = NONE significa que va a eliminar duplicados Opciones Xsum copiará todos los archivos eliminados en especie proceso se copia a otro conjunto de datos se define en el SORTXSUM paso

TAREA 5. Copiar registros dependiendo de la condición

/ / SYSIN DD * Campos de clasificación = COPIA INCLUYE COND = (1,6, CH, EQ, C'SURESH ') / * / / * Copyright www.mainframegurukul.com

OUTPUTFILESURESH 98347385385933987 PULISURESH 98347385385933987 PULI

EXPLICACIÓN

tarjeta de arriba es para copiar archivos desde el archivo de entrada que contiene SURESH en la 1 ª posición

TAREA 6. Formatear un archivo (usando INREC)

/ / SYSIN DD * Campos de clasificación = COPIA INREC CAMPOS = (7:2,5,20:10,3) / */ / * Copyright www.mainframegurukul.com

Page 7: Jcl 2 Dfsort Tutorial

ARCHIVO DE SALIDA OHANK 342a OHANK 334 RAMES 453 URESH 834 MASES 757 RISHN 083 RISHN 049 URESH 834

EXPLICACIÓN

1. Campos de clasificación = COPIA

Es para dar salida a los registros de copia de archivos

2. INREC CAMPOS = (7:2,5,20:10,3) (para formatear)

Aquí tenemos dos formataciones,

1. Datos en la 2 ª posición de archivo de entrada con una longitud de 5 - 7:2,5 copia en la 7 ª posición del archivo de salida

2. 20:10,3 - datos en la posición 10 del archivo de entrada con una longitud de 3 copia en 20 ª posición del archivo de salida

En el ejemplo anterior, podemos utilizar instread OUTREC de INREC,

INREC añade, elimina o campos formatea antes del registros se ordenan o se fusionaron. por lo que el rendimiento semejorarse

OUTREC añade, elimina o campos reformatea después de la registros se ordenan o se fusionaron.

Otros parámetros que puede pasar con la tarjeta de clase

SKIPREC = n

Page 8: Jcl 2 Dfsort Tutorial

causa especie para saltar sobre los registros 'n' en el archivo de entrada antes de iniciar un proceso de selección u operación de copia. STOPAFT = n hace que se detenga después de ordenar los registros 'n' en el archivo de entrada ha sido ordenados o copiado.

ELABORACIÓN Y JCL JCL RUNELABORACIÓN DE COBOL JCL

PASO 1 - Compilar programa COBOL

/ TRABAJO / jobname (NUMCUENTA), nombre, MSGCLASS = 1 (1) / / StepName EXEC PGM = IGYCRCTL, PARM = (opciones) (2) / / STEPLIB DD = DSNAME SYS1.COB2COMP, DISP = SHR (3) / / Syslin DSNAME DD = & SRCEIN, UNIT = SYSDA, (4) <- OBJETO DEL MÓDULO O / P / / DISP = (MOD, PASS), SPACE = (subparms) / / SYSUT1 DD = UNIDAD SYSDA, SPACE = (subparms) (5) / / SYSUT2 DD = UNIDAD SYSDA, SPACE = (subparms) / / SYSUT3 DD = UNIDAD SYSDA, SPACE = (subparms) / / SYSUT4 DD = UNIDAD SYSDA, SPACE = (subparms) / / SYSUT5 DD = UNIDAD SYSDA, SPACE = (subparms) / / SYSUT6 DD = UNIDAD SYSDA, SPACE = (subparms) / / SYSUT7 DD = UNIDAD SYSDA, SPACE = (subparms) / / SYSPRINT SYSOUT DD = * (6) / / SYSIN DD = DSNAME DSNAME, UNIT = dispositivo, (7) <--- ATENCIÓN, AQUÍ DAMOS EL PROGRAMA FUENTE VOLUMEN = (subparms), DISP = SHR

(1) Este paso indica el inicio de trabajo.

(2) Este paso especifica compilador IGYCRCTL se va a invocar.

(3) Esta declaración de DD define el conjunto de datos donde reside compilador.

(4) La declaración syslin DD define el conjunto de datos (el módulo de objeto) se pasará al paso LINKEDIT

(5) Las declaraciones SYSUT DD definir los conjuntos de datos que el compilador se utilice para procesar el programa de origen. Todos los archivos SYSUT debe ser en dispositivos de almacenamiento de acceso directo.

(6) La declaración SYSPRINT DD define el conjunto de datos que recibe la salida.

Page 9: Jcl 2 Dfsort Tutorial

(7) La declaración SYSIN DD define el conjunto de datos que se utiliza como entrada para el paso de trabajo (código fuente).

PASO 2 - Editar Enlace

/ / LKED EXEC PGM = IEWL, REGION = 1024K, PARM = (opciones) (1) / / SYSPRINT DD SYSOUT = A (2) / / SYSLIB debe DD DSN = SYS1.COB2LIB, DISP = SHR (3) / / DD DSN = SYS1.COB2COMP, DISP = SHR / / SYSLMOD DD DSN = MYDOC.MYPROG.BLM (TESTTEMP), (4) <--- cargar el módulo o / p / / DISP = SHR / / SYSUT1 DD UNIDAD = SYSALLDA, DCB = BLKSIZE = 1024, (5) / / SPACE = (CYL, (1,1)) / / Systerm SYSOUT DD = * / / SYSPRINT SYSOUT DD = * / / Syslin DD DSN = & LOADSET, DISP = (OLD, DELETE) (6) <- OBJETO DEL MÓDULO i / p / / SYSIN DD MANIQUÍ

(1) Este paso especifica IEWL se invocará

(2) La declaración SYSPRINT DD define el conjunto de datos que recibe la salida.

(3) Este paso especifica los conjuntos de datos del sistema

(4) SYSLMOD declaración DD define el conjunto de datos, donde se almacena la carga del módulo

(5) para procesar módulo de objeto, se IEWL utilizar estas unidades

(6) syslin declaración DD define el conjunto de datos, vamos a dar módulo objeto aquí como una entrada a IEWL

-------------------------------------------------- ------- opciones del compilador-------------------------------------------------- -------

Algunos de opción del compilador IMPORTANTE, al compilar el programa COBOL

1. QUOTE / apost Default - CITA

Si usamos CITA, figurativos constantes [TODAS] Cita o [Todos] para representar Cotizaciones comillas (") Si usamos apost, figurativo constante [ALL] QUOTE o [TODAS] cita para representar uno o más apóstrofo (') caracteres

Page 10: Jcl 2 Dfsort Tutorial

2. NUMERO / NONUMBER Default-NONUMBER

Si usamos NÚMERO, los números de línea en el código fuente será displayes en los mensajes de error y listados Si se utiliza NONUMBER, los números de línea en el código fuente ignorado por el compilador, y genera secuencia número para esa fuente

3. LISTA / NOLIST Default - NOLIST

LIST, producir anuncios de expansión de lengua de ensamblador del programa (se utiliza para SOC07, SOC04 problemas) NOLIST, no va a producir listado del compilador

4. MAP / NOMAP Default - NOMAP

MAP, para producir artículos del listado definidos en la División DATA. NOMAP, solía producir anuncios

RUN JCL

/ / ASD220X JOB (03SES, SSEA), 'RUNJCL' CLASS = S, MSGCLASS = T, / / NOTIFY = & SYSUID / / PASO 1 EXEC PGM = TESTTEMP <- LOAD nombre del módulo / / STEPLIB DD DSN = MYLIB.TEST.BLM, DISP = SHR <- Juego de datos donde reside Load Module / / SYSIN DD * <- Pasar datos a ese programa (opcional) 0000002222 / * / / SYSOUT SYSOUT DD = *