Jcl 2 Dfsort Tutorial
-
Upload
guissela-romero -
Category
Documents
-
view
341 -
download
0
Transcript of 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
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
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)
.
.
.
/ / 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
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
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
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
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.
(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
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 = *