Archivos generados por COBOL

429 views
Skip to first unread message

Foxero

unread,
Dec 30, 2016, 4:08:44 PM12/30/16
to Comunidad de Visual Foxpro en Español
Buenas tardes foro

Antes que nada, mis mejores deseos para todos en este proximo 2007, que sea un año lleno de exitos!

Entrando en materia:

La empresa con la cual colaboro, esta efectuando un levantamiento de informacion para una empresa contratante, el sistema para capturar y procersar esa informacion lo estoy desarrollando en VFP 7.0 con tablas libres.

Resulta que uno de los modulos de dicho sistema debera ser capaz de leer y escribir (actualizar) archivos de tipo indexado y/o plano generados por COBOL. (El sistema de la contratante esta programado en ese lenguaje). Alguien sabe como acceder a esos archivos y poder leerlos y escribirlos desde VFP? algun ODBC que exista? Cualquier ayuda o comentario es bienvenido.

Saludos y gracias anticipadas por sus respuestas.

David



Antonio Meza

unread,
Dec 30, 2016, 4:16:44 PM12/30/16
to Comunidad de Visual Foxpro en Español
Con razón usas VFP 7 pues estas en el 2006 y a penas vas a llegar al 2007, acá ya estamos por llegar al 2017, posiblemente un desajuste en tu maquina del tiempo jejejej

Si vas a crear un proyecto nuevo mejor usa un servidor de base de datos y dejar que los dbf descansen en paz!!! jeje

saludos
Antonio Meza

Foxero

unread,
Dec 30, 2016, 5:58:52 PM12/30/16
to Comunidad de Visual Foxpro en Español
Antonio, en respuesta a tus comentarios:

1.- Uso vfp 7.0 porque es del que tengo licencia legal, no me gusta usar software pirata.

2.- Lo hare con tablas libres pues asi lo solicita el cliente (el las puede abrir con excel cuando lo requiera), ademas de que es un sistemita de uso por solo 3 meses (lo que dura el levantamiento de informacion y despues nunca mas sera usado), asi que no hay caso de desgastarse convenciendo al cliente de que se instale un motor de base de datos en sus equipos y programando para ellos.

Espero que ademas de tus comentarios tengas alguna respuesta a la pregunta inicial.

Saludos
David

Antonio Meza

unread,
Dec 30, 2016, 6:01:50 PM12/30/16
to Comunidad de Visual Foxpro en Español
lo bueno que ya es casi año nuevo y espero y mejore tu humor!!! jajaja

En que versión de Cobol están los datos? pues te desahogaste en mi comentario pero no así en tu petición jajajaja

saludos
Antonio Meza

Foxero

unread,
Dec 30, 2016, 6:17:24 PM12/30/16
to Comunidad de Visual Foxpro en Español
Antonio

No estoy de mal humor, solo trate de explicarte el porque se esta desarrollando el sistema con esas caracteristicas.

Respecto a tu pregunta, no me han podido responder  que version (dialecto) de COBOL es. Mi problema es que hay un intermediadio (la empresa con la que estoy colaborando (yo soy freelance) y el contratante del levantamiento (una tercera empresa) lo unico que he podido obtener como respuesta es que se trata; te transcribo textualmente la respuesta que obtuve via email a la pregunta de sobre que base de datos corria su sitema: "... Archivos indexados o planos generados por COBOL..."

Considera que ambas empresas (la que me contrata a mi y la que contrata a esta el levantamiento) son microempresas que no poseen un area de sistemas ni programadores.

Sospecho que ni ellos saben que dialecto de COBOL usaron para desarrollarles su sistema que me imagino debe ser bastante antiguo.

Saludos y Feliz Año 2017

David

integral

unread,
Dec 30, 2016, 8:00:04 PM12/30/16
to Comunidad de Visual Foxpro en Español

Estimado Amigo FOXERO :

Para empezar recuerda que hoy es viernes y se ha hecho costumbre hacer comentarios de ese tipo...

Referente al COBOL lenguaje de programación de alto nivel que lo estudie haya por el año 1988 por aquel entonces existían 2 versiones

a) MS COBOL
b) RM COBOL

MS COBOL creaba a sus archivos con extension DAT

Deberás tener en cuenta lo siguiente :

1) Debes Crear una tabla con la estructura de los campos idénticos al archivo DAT

2) Desde VFP utilizas el siguiente codigo de ejemplo
     
     APPEND FROM archivo.txt SDF


Es mas o menos lo que recuerdo...

Saludos,

INTEGRAL

Marcos Godoy

unread,
Dec 31, 2016, 9:50:55 AM12/31/16
to publice...@googlegroups.com
No se si existe algun tipo de interfase para que puedas grabar desde fox en esos archivos.dat, de ser así debes tener en cuenta por
ejemplo que en cobol los decimales no se guardan separados por una coma, el valor  decimal solo esta dado por la posicion relativa
indicada en la definicion del archivo  en cobol (programé como 15 años en varias versiones) un campo numerico puede ser  de dos tipos, standard 99999999v99 , esto es un nro de diez digitos cuyos dos ultimos deben representar la parte decimal (la coma no ocupa un lugar es solo la posición, y luego tenes los campos de tipos computational-3 que son empaquetados , 

standard ejemplo el nro 92348 se escribiria asi por ejemplo usaria tres bytes  y en ascii sería "5750515256" (5 bytes)
comp-3   ejemplo el nro 92348 se escribiría asi por ejemplo usaria menos byes '92348C' (3 bytes)

esto era asi por que el espacio en disco era muy caro.......

Víctor Hugo Espínola Domínguez

unread,
Dec 31, 2016, 11:00:05 AM12/31/16
to publice...@googlegroups.com
Además en la tabla no se almacena la configuración del registro (los campos), los campos se definen en cada programa y pueden variar de un programa a otro. Esto significa que si no tienes la definición de la tabla es imposible descifrar los datos almacenados, podrías hacerlo si dispones de un listado impreso completo y con ayuda de un editor hexadecimal y mucha paciencia y tiempo.

http://www.ispirer.es/application-conversion/cobol-to-sqlserver-conversion
http://www.netltda.cl/productos/acuodbc.htm 

Saludos,
Víctor.
Lambaré - Paraguay.

Foxero

unread,
Dec 31, 2016, 1:19:14 PM12/31/16
to Comunidad de Visual Foxpro en Español
Les agradezco a todos por su ayuda. Por lo que entiendo, si no me pueden proporcional el codigo fuente para averiguar la estructura de los datos, tendre que hacer labor detectivesca para poder dilucidarla, eso me solucionaria el problema de lectura de la tabla, pero aun sigo con total desconocimiento de como actualizar los datos de la misma, obviamente tendre que utilizar acceso de bajo nivel (fopen, fread, etc), pero segun he podido investigar, en algunios casos los archivos indexados guardan el indice en el mismo archivo y en otros casos el indice es un archivo separado de la data, lo mas complicado es que en alguna parte lei que al agregar un nuevo registro a la tabla de datos se agrega tambien al indice y dicho indice se reordena al momento (sort), alguien sabe si es asi,(reordenar el indice al hacer insert a los datos?.

FELIZ 2017 a todos, que los exitos se multipliquen es el año por venir.

Saludos
David

Foxero

unread,
Dec 31, 2016, 1:51:49 PM12/31/16
to Comunidad de Visual Foxpro en Español
Gracias Victor, ya baje el acuODBC, sera cosa de experimentar con el a ver si es posible solucionar el problema.

Feliz Año!

David

El sábado, 31 de diciembre de 2016, 10:00:05 (UTC-6), Víctor Hugo Espínola Domínguez escribió:

Foxero

unread,
Dec 31, 2016, 1:53:07 PM12/31/16
to Comunidad de Visual Foxpro en Español
Gracias Marcos
Con lo que me dices, ya me das algunas pistas para poder decifrar el contenido de los archivos, en cuanto los tenga en mi poder tratare de entenderlos. Ya les comentare.

Feliz 2017
David

Arnaldo Toledano

unread,
Jan 1, 2017, 7:27:02 PM1/1/17
to publice...@googlegroups.com

Los archivos INDEXADOS, son imposibles de leer con otra cosa que no sea las fuentes de cobol.
Son archivos que contienen los datos y los indices, todo junto.


En el caso de los archivos PLANOS, con un editor de texto, puedes ver la estructura, la cual es fácil de leer.
Cada campo o columna siempre serán iguales en longitud.
A partir de allí, puedes crear un programita y utilizar los FOPEN y compañía para armar un archivo DBF.



Arnaldo Toledano

HernanCano

unread,
Jan 2, 2017, 12:29:29 AM1/2/17
to Comunidad de Visual Foxpro en Español

Foxero

unread,
Jan 2, 2017, 12:02:13 PM1/2/17
to Comunidad de Visual Foxpro en Español
Gracias por sus respuestas Arnaldo y Hernan.

Por lo que me dicen y lo que se comenta en la liga que me envio Hernan, es posible que pueda yo resolver la mitad de mi problema, la lectura de datos, pero no veo como, en el caso de archivos indexados, pueda escribirlos para actualizarlos, a no ser contactando a alguien que sepa COBOL y pueda generar una interfase que los actualice.

Gracias por todo

Saludos
David



El domingo, 1 de enero de 2017, 23:29:29 (UTC-6), HernanCano escribió:

Arnaldo Toledano

unread,
Jan 2, 2017, 2:57:11 PM1/2/17
to publice...@googlegroups.com

En el caso de los archivos INDEXADOS, necesitas la Estructura de los archivos, incluso los indices.
Caso contrario no podrás hacer nada.
Quizás alguien que conozca en profundidad cobol, tenga algún "truco" para leer y después componer
la estructura y los indices del archivo.



Arnaldo Toledano

HernanCano

unread,
Jan 2, 2017, 11:12:50 PM1/2/17
to Comunidad de Visual Foxpro en Español
Hola, amigo.

A falta de otra opinión, te doy mi apreciación:
Mientras no tengamos un ODBC para Cobol desde VFP, no podrás "actualizar" los datos de Cobol desde VFP.

Foxero

unread,
Jan 3, 2017, 11:24:19 AM1/3/17
to Comunidad de Visual Foxpro en Español
Gracias Hernan

eso estoy dilucidando a partir de las respuestas obtenidas del foro, creo que no me sera posible actualizar los archivos de COBOL, sin embargo cuando los reciba; vere si logro entender la estructura de archivos lo suficiente para escribirlos con acceso de bajo nivel.

Gracias a todos!
David
Reply all
Reply to author
Forward
0 new messages