Los ficheros pueden contener campos numéricos en hexadecimal. Si los editamos no veremos números sino caracteres extraños. Si quisiéramos ver el valor de dichos campos tendríamos que ejecutar el comando HEX ON. Si ese fichero con campos numéricos en hexadecimal tuviéramos que enviarlo a un usuario, y no quisiéramos que viera esos caracteres extraños, deberíamos ponerlo en claro. Ese fichero que se ha generado en claro es el que se envía puesto que los campos numéricos se ven con números y no con caracteres extraños. ¿Y cómo se pone un fichero en claro? Muy fácil. Se hace con un simple paso de SORT como el siguiente:
//SORT01 EXEC PGM=SORT
//SORTIN DD DSN=FICH.PRUEBA.ENTRADA,DISP=SHR
//SORTOUT DD DSN=FICH.PRUEBA.SALIDA,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,1,1)
//SORTWK01 DD SPACE=(CYL,(1,1),RLSE)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
OUTREC FIELDS=(1,10,
11,8,
19,2,BI,M11,LENGTH=4,
21,2,BI,M11,LENGTH=4,
23,2,
25,2,
27,3,PD,M11,LENGTH=5,
30,5,PD,M11,LENGTH=9,
35,26,
61,8)
Lo que está marcado en rosa es para campos alfanuméricos (PIC X(-)). Como verás, todos tienen dos números: el primero indica la posición donde empieza el campo en el fichero FICH.PRUEBA.ENTRADA y el segundo indica la longitud del campo.
Lo que está marcado en morado son campos numéricos de tipo:
S9(4)COMP
Lo que está marcado en azul es un campo numérico de tipo:
S9(3)V9(2)COMP-3
Lo que está marcado en verde oscuro es un campo numérico de tipo:
S9(9)COMP-3
Como observarás, al inicio de todas las filas que hacen referencia a campos numéricos empiezan con dos números: el primero indica la posición donde empieza el campo en el fichero FICH.PRUEBA.ENTRADA y el segundo indica la longitud del campo.
Con el anterior paso de SORT, a partir de un fichero con campos numéricos en hexadecimal llamado FICH.PRUEBA.ENTRADA, generamos un fichero en claro llamado FICH.PRUEBA.SALIDA en el que los campos numéricos no se visualizan en hexadecimal sino que se representan mediante números.