Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL NetCOBOL
NetCOBOL El IDE basado en Eclipse para Windows, Linux y para .NET
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Duda] Leer dos archivos y crear uno nuevo. dariodr COBOL - General 5 19 de diciembre de 2023 11:46
[Herramienta] Pasar datos de Cobol (Archivos RMKF) a txt/Excel JuanPelaez COBOL - General 10 3 de enero de 2020 12:58
[Herramienta] Programa para crear archivos de ayuda HLP/CHM Josber COBOL - General 9 8 de noviembre de 2017 01:58
[Sintaxis] Crear generar un TXT Dasije WinDev 1 12 de noviembre de 2016 03:21
[Duda] Crear archivos DBF desde COBOL (sin ODBC) Joseg PowerCOBOL (ActiveX, v4 - v11) 4 16 de marzo de 2016 16:36

Respuesta
 
Herramientas

  #1
Antiguo 21 de septiembre de 2017, 19:41
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0
Predeterminado Crear Rutina que exporte archivos DAT a TXT?
0 Inactivo Inactivo

Que tal amigos, soy muy nuevo en cobol, pero lo único que necesito es crear un pequeño programa que exporte la información de los archivos .dat a txt, con los respectivos nombres de columna.

Tengo los archivos CPY y FD, que creo son necesarios para poder hacer la exportación.
El fin de todo esto es poder tomar la información para trabajarla con sistemas de Business Intelligence.

Como puedo empezar a hacerlo? Alguien tiene alguna rutina de ejemplo?

Desde ya muchas gracias.
KalEl is offline   Responder Con Cita
  #2
Antiguo 21 de septiembre de 2017, 20:26
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

KalEl, No hay rutinas ya hechas para eso, es muy sencillo de hacer, abres el fichero origen para lectura, (OPEN INPUT fichero_origen), el de destino para escritura, (como tiene que ser un fichero LINE SEQUENTIAL, has de abrirlo con OPEN EXTEND fichero_destino), y después, te posicionas en el fichero_origen con un START, lo lees de manera secuencial con un READ NEXT, montas en una variable alfanumérica los campos con un STRING, grabas esa variable en el fichero destino con un WRITE y cuando termines, haces un CLOSE de los dos ficheros y ya lo tienes.

Sólo has de tener en cuenta, si los campos en el fichero destino, son de longitud fija o variable, porque lo que yo te he puesto es para longitud fija.

Si no lo entiendes bien, dilo e intentaremos poner algún ejemplo sencillo.

Un saludo.-
Josber is offline   Responder Con Cita
  #3
Antiguo 21 de septiembre de 2017, 23:39
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0

@Josber, Gracias por responder.
Lo voy a probar.
Te paso un .dat de ejemplo, para ver si me puedes orientar con este y hacer algunas pruebas. Y Así sigo yo con todos los demas. Lo deje adjunto en este mensaje.


Muchas gracias!
Archivos Adjuntos
Tipo de Archivo: zip AR86.zip (35,6 KB)Descargas: 253
KalEl is offline   Responder Con Cita
  #4
Antiguo 21 de septiembre de 2017, 23:55
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

KalEl, es un fichero indexado RMKF, o sea que puede ser perfectamente tratado por PowerCOBOL.

¿Tú lo que quieres es aprender COBOL o simplemente una "herramienta" que te haga la conversión? Si quieres aprender, intenta ir haciendo cosas y te iremos guiando y ayudando. Si es una necesidad puntual, podemos hacerte el programa nosotros.

¿Los ficheros CPY y FD que tienes son los mismos para todos los ficheros o hay juego para cada fichero de datos?

Para poder ver el fichero de datos que has colgado, tienes que pasarnos también esos 2 ficheros CPY y FD que corresponden al mismo.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #5
Antiguo 22 de septiembre de 2017, 01:37
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0

No me interesa mucho aprender Cobol, solo necesito poder extraer las información de los ficheros siempre que lo necesite a TXT.
Ya se otros lenguajes como PHP, Basic, JScript, etc. Asíque creo que puedo entender la lógica si logro tener al menos un ejemplo funcional de este tipo de extractores.

Tengo un CPY que es general y los FD son por cada archivo.

Acá los adjunto.
Archivos Adjuntos
Tipo de Archivo: zip Archivos-AR86.zip (3,2 KB)Descargas: 203
KalEl is offline   Responder Con Cita
  #6
Antiguo 22 de septiembre de 2017, 08:34
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

KalEl, de todos estos ficheros, el único que nos interesa es el FD, que contiene lo siguiente:

Código COBOL:
  1.        FD  LOCA.
  2.        01  R86.
  3.            02 CO86 PIC 9999.
  4.            02 DE86 PIC X(25).
  5.            02 HS86 PIC 999.

Lo cual quiere decir, que:
  • Los primeros 4 bytes es númro
  • Los siguientes 25 bytes es texto
  • Los siguientes 3 bytes es númro

Siendo tán pequeño, te puede interesar el siguiente programa genérico que extrae los datos: [Información] Visor archivos RM/COBOL modo texto - COBOL Foro

Luego según la información que te he dado, puedes formatear el fichero de texto en Excel.

Ya nos cuentas qué tal te ha ido.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #7
Antiguo 22 de septiembre de 2017, 13:26
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0

Gracias Kuk, acabo de probar el link que me pasaste al programita genérico, pero no me extrae la información.. Solo me muestra un resumen del archivo que abro, O no lo estoy usando bien jeje.

Al menos no me extrajo la información en ningún lado.

Luego de saber como es la estructura del archivo, como puedo indicarle esto a un script para que me genere un txt?
KalEl is offline   Responder Con Cita
  #8
Antiguo 22 de septiembre de 2017, 14:01
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

KalEl, en cuanto que abras el fichero, en el mismo directorio te aparece un nuevo fichero con el mismo nombre terminando por *.out. Es decir, te generará AR86.DAT.out

Lo he comprobado y extrae bien las primeras 2 columnas, la tercera por lo visto simepre contiene nulos.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #9
Antiguo 22 de septiembre de 2017, 15:51
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0

Perfecto, ahora lo que necesitaría es el código de ese programa, ya que necesito pasar unos 15 archivos a txt cada 2 días.
O al menos que ese programa se pueda usar por línea de comando con un .bat digamos y así armarle el script para que pase uno por uno atomaticamente.
KalEl is offline   Responder Con Cita
  #10
Antiguo 22 de septiembre de 2017, 17:02
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

KalEl, entonces este programa no te sirve.

Como has dicho que todos los ficheros tienen el mismo formato, te puedo crear el programa que necesitas. Eso sí, ando un poco mal de tiempo, a ver si este fin de semana te lo puedo hacer.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:38.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.