INCLUDE Condition – SORT en JCL
En JCL (Job Control Language), la condición INCLUDE
se utiliza en el contexto del paso de clasificación, SORT, para especificar un conjunto de registros que se deben incluir en la salida del paso de clasificación. La cláusula INCLUDE
ayuda a filtrar registros según un criterio específico y retener solo aquellos que cumplen con esa condición. Aquí tienes un diseño básico y una explicación de las características de la condición INCLUDE
:
Dentro de la condición INCLUDE
en JCL, puedes especificar diferentes tipos de campos y utilizar varios operadores de comparación. A continuación, se detallan algunos tipos comunes de campos y operadores que puedes utilizar:
Tipos de Campos
Caracteres (CH)
CH
: Campos de caracteres. Se utilizan para comparar cadenas de texto. Sin COMP.
INCLUDE COND=(1,10,CH,EQ,C'MAINFRAME')
Hexadecimal (BI)
BI
: Campos hexadecimales. Se utilizan para comparar cadenas de caracteres en hexadecimal. Con COMP.
Para la constante hexadecimal, hay que recordar las reglas de relleno y truncamiento. Si se especifica X’0A’, la cadena se rellena a la derecha en lugar de a la izquierda. Para la constante decimal, se puede usar 10 o +10, y no hay que preocuparse por el relleno o el truncamiento.
INCLUDE COND=(1,4,BI,EQ,X'0000000A')
Numéricos (PD)
PD
: Campos numéricos. Se utilizan para comparar valores numéricos.
INCLUDE COND=(11,5,PD,GT,1000)
Fecha (YMD, DMY, MDY, etc.)
Puedes especificar un formato de fecha para campos de fecha.
INCLUDE COND=(21,8,YMD,EQ,C'20220119')
Operadores de Comparación
Igual (EQ)
EQ
: Igual.
INCLUDE COND=(1,5,CH,EQ,C'ABC')
No Igual (NE)
NE
: No igual.
INCLUDE COND=(6,3,PD,NE,500)
Mayor que (GT), Menor que (LT)
GT
: Mayor que.LT
: Menor que.
INCLUDE COND=(11,5,PD,GT,1000)
Mayor o Igual que (GE), Menor o Igual que (LE)
GE
: Mayor o igual que.LE
: Menor o igual que.
INCLUDE COND=(21,8,YMD,GE,C'20220119')
Entre (BE)
BE
: Entre. Se utiliza para especificar un rango.
INCLUDE COND=(31,3,PD,BE,100,500)
LIKE
LIKE
: Se utiliza para comparaciones basadas en patrones (similar a las expresiones regulares).
INCLUDE COND=(1,10,CH,LIKE,C'MAIN%')
AND, OR, NOT
AND
: Operador lógico «Y».OR
: Operador lógico «O».NOT
: Operador lógico de negación.
INCLUDE COND=((1,5,CH,EQ,C'ABC'),AND,(6,3,PD,GT,500))
Estos son solo algunos ejemplos de los tipos de campos y operadores de comparación que puedes utilizar dentro de la condición INCLUDE
en JCL. La documentación específica del producto de clasificación que estás utilizando proporcionará detalles más precisos y opciones adicionales.
Ejemplo de JCL con INCLUDE
//SORTJOB JOB (123),'Sort con INCLUDE',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//STEP1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=A
//SORTIN DD DSN=your.input.file,DISP=SHR
//SORTOUT DD DSN=your.output.file,DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,(5,5),RLSE)
//SYSIN DD *
SORT FIELDS=(1,10,A)
INCLUDE COND=(11,2,CH,EQ,C'20')
/*
En este ejemplo, la condición `INCLUDE` se usa para incluir solo los registros que cumplen con la condición especificada. En este caso, los registros cuyo contenido en las posiciones 11 y 12 sea igual a '20'. La estructura de la condición es la siguiente:
- **COND=(posición, longitud, tipo, operador, valor):**
- `posición`: Posición de inicio del campo.
- `longitud`: Longitud del campo.
- `tipo`: Tipo de campo (por ejemplo, `CH` para caracteres).
- `operador`: Operador de comparación (por ejemplo, `EQ` para igual).
- `valor`: Valor con el que se compara el campo.
### Características de la Condición `INCLUDE`:
1. **Versatilidad:**
- Puedes especificar condiciones complejas utilizando operadores lógicos (`AND`, `OR`, `NOT`) para combinar múltiples condiciones.
2. **Tipos de Campo:**
- Puedes aplicar condiciones a diferentes tipos de campos, como campos de caracteres (`CH`), campos numéricos (`PD`), campos de fecha (`YMD`, `DMY`, etc.).
3. **Operadores de Comparación:**
- Diversos operadores de comparación están disponibles, como igual (`EQ`), no igual (`NE`), mayor que (`GT`), menor que (`LT`), mayor o igual que (`GE`), menor o igual que (`LE`), entre otros.
4. **Negación:**
- Puedes negar una condición utilizando `NOT` para seleccionar registros que no cumplan con la condición.
5. **Combinación de Condiciones:**
- Puedes combinar múltiples condiciones utilizando operadores lógicos para crear criterios más complejos.
### Ejemplo de Condición Combinada:
```jcl
INCLUDE COND=((11,2,CH,EQ,C'20'),AND,(21,3,PD,GT,100))
En este ejemplo, se incluirán los registros que cumplen con ambas condiciones: aquellos con los dos primeros caracteres iguales a ’20’ y los siguientes tres caracteres como un número mayor que 100.
JCL: Cómo Ejecutar un Proceso
Este libro explora el Job Control Language (JCL), esencial para ejecutar procesos en sistemas mainframe. Aprender JCL es fundamental para optimizar y automatizar tareas en sistemas IBM, y esta guía te muestra cómo hacerlo de manera práctica y efectiva.
Temas principales
- Estructura y comandos esenciales de JCL
- Creación y gestión de trabajos
- Optimización de recursos y manejo de errores
- Ejemplos prácticos de configuración de procesos
Con esta lectura, podrás mejorar la eficiencia de tus trabajos en mainframe, aumentando tu productividad en proyectos complejos.