Ampliando un poco las funciones del OUTREC os voy a explicar como incluir condiciones. Es muy sencillo y puede evitar tener que crear programas en un momento dado.
Pongamos el caso de que tenemos el siguiente fichero con los datos de unos clientes:
----+----1----+----2----+----3----+----4----+----5----+----
***************************** Top of Data *****************
000000001JOSE LOPEZ PITA AUTONOMO 47001
000000002JAVIER MARTINEZ CARRETEROASALARIADO 47001
000000003CARLOS PEREZ FANO AUTONOMO 47001
000000004CARLOS POLO DEL BARROAUTONOMO 47001
000000005YOLANDA LOPEZ ALONSO AUTONOMO 47001
000000006ANTONIO VILLA SUSO AUTONOMO 47001
000000007FULANITO VILLA SUSO AUTONOMO 47001
Un buen día nos dicen que quieren añadir al final de cada registro un indicador que nos marque lo siquiente:
Si es un AUTONOMO añadir el indicador 'A'
Si es un ASALARIADO añadir el indicador 'S'
Utlizaremos el siguiente paso de jcl donde aplicamos la condición:
//OUTREC EXEC SORTD
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=Nombre_Fichero_De_Entrada,DISP=SHR
//SORTOUT DD DSN=Nombre_Fichero_De_Salida,
// DISP=(,CATLG),
// SPACE=(CYL,(100,100),RLSE)
//SYSIN DD *
SORT FIELDS=COPY
OUTREC IFTHEN=(WHEN=(39,11,CH,EQ,C'AUTONOMO '),
OVERLAY=(1,59,C'A')),
IFTHEN=(WHEN=NONE,
OVERLAY=(1,59,C'S'))
El resultado obtenido será el siguiente:
----+----1----+----2----+----3----+----4----+----5----+----6
***************************** Top of Data ******************
000000001JOSE LOPEZ PITA AUTONOMO 47001A
000000002JAVIER MARTINEZ CARRETEROASALARIADO 47001S
000000003CARLOS PEREZ FANO AUTONOMO 47001A
000000004CARLOS POLO DEL BARROAUTONOMO 47001A
000000005YOLANDA LOPEZ ALONSO AUTONOMO 47001A
000000006ANTONIO VILLA SUSO AUTONOMO 47001A
000000007FULANITO VILLA SUSO AUTONOMO 47001A
Vemos como a los AUTONOMOS les marca con una A y a los ASALARIADOS con una S.
Notas:
- Para añadir más condiciones se deben añadir más IFTHEN al OUTREC.
- Esto es válido también para el INREC.