Cobol - Editar Fichero Host en servidor Unix

 
Vista:

Editar Fichero Host en servidor Unix

Publicado por Jose Angel (1 intervención) el 04/11/2003 10:50:38
Tengo un fichero de salida de una aplicacion Host, que contiene campos del Tipo PIC y COMP-3, y deseo leerlo en un servidor unix. He probado a utilizar el comando type de MS-DOS y el editor vi de Unix pero los campos comprimidos no se leen correctamente. Sabe alguien de que manera podria editar dicho Fichero?? GRACIAS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Lectura de campos COMP-3 en archivos de aplicaciones host en Unix

Publicado por Alejandro (299 intervenciones) el 05/09/2023 20:23:25
Para leer un archivo de salida de una aplicación Host que contiene campos del tipo PIC y COMP-3 en un servidor Unix y asegurarte de que los campos COMP-3 se lean correctamente, es importante entender cómo se almacenan estos campos y cómo convertirlos correctamente. Los campos COMP-3 (también conocidos como campos BCD) son representaciones compactas de números en formato decimal codificados en bytes.

Puedes utilizar herramientas en Unix como `od` (octal dump) para leer y entender la estructura del archivo y luego escribir un programa o secuencia de comandos para interpretar los campos COMP-3 correctamente. Aquí hay algunos pasos para lograrlo:

1. Usa `od` para inspeccionar el archivo:
Ejecuta el siguiente comando en Unix para obtener una vista octal del archivo y entender su estructura:

1
od -t x1 -A n archivo_salida.dat

Esto mostrará una representación hexadecimal del archivo. Los campos COMP-3 estarán codificados en esta vista.

2. Escribe un programa o secuencia de comandos:
Basándote en la salida de `od`, puedes escribir un programa o secuencia de comandos en Unix para interpretar los campos COMP-3. Esto implica extraer y convertir los datos COMP-3 a su formato decimal correspondiente.

3. Conversiones de campos COMP-3:
Los campos COMP-3 generalmente se almacenan en formato BCD, donde cada dígito decimal se representa por medio de 4 bits en un byte. Puedes utilizar herramientas de programación en Unix, como `awk`, `Perl`, o `Python`, para realizar las conversiones necesarias. Por ejemplo, en `awk`:

1
awk 'BEGIN {FIELDWIDTHS = "2 1 1 1 1"; OFS=""} {print $1, $2, $3, $4}' archivo_salida.dat

Esto divide los campos COMP-3 en dígitos individuales. Luego, puedes realizar la conversión adecuada para obtener el valor decimal.

4. Reconstruye el archivo:
Una vez que hayas interpretado y convertido los campos COMP-3, puedes reconstruir el archivo en el formato deseado utilizando herramientas de procesamiento de texto en Unix.

Este enfoque implica un trabajo personalizado para interpretar los campos COMP-3 en función de la estructura específica de tu archivo. La complejidad de la tarea dependerá de la estructura y la cantidad de datos en el archivo de salida. Si tienes acceso a las especificaciones de la estructura del archivo, será más fácil realizar la conversión.

Si necesitas realizar esta tarea de manera recurrente o en grandes volúmenes de datos, podría ser beneficioso desarrollar un programa personalizado para automatizar el proceso de conversión.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar