![]() |
Pasar CSV a texto plano
Buenos días, tengo un ejercicio de practica, y tengo que pasar de CSV a texto planto, con ciertos requisitos (2 campos ordenados en ascendente).
Y me da 1 error mi programa que es al abrir el fichero, pero no sé que más hacer. Agradecería que alguien me lo explicara, un saludo. Os dejo aquí el programita: Código COBOL:
|
theezraak, qué error te da exactamente? Si no te sale cual es, usa el FILE-STATUS y haz un DISPLAY para ver qué ocurre.
Además, para qué mantienes los FILLER en el fichero de salida? Si estás pasando a texto plano, no son necesarios. |
Cita:
De pongo el error que me da: Código:
Sort-merge key is not defined in record associated with sort |
Cita:
Por cierto, los párrafos XXXXX-FIN no sirven de nada si no haces PERFORM THRU. El THRU no es recomendado, por lo tanto los puedes suprimir (en vez de añadir los THRU XXXXX-FIN). En realidad, yo nunca he usado el SORT interno, pero me parece que error viene de tus párrafos CARGAR y SALIDA. Son párrafos que están en un bucle implícito, no puede haber OPEN ni CLOSE dentro. Sólo hay que dejar las instrucciones que quieres que se ejecuten con cada iteración de lectura/escritura. |
Hola Amigo, este código lee un archivo y graba otro ordenado por dos campos. Saque y cambie algunas cosas, no recuerdo bien como era el tema del sort interno, pero si compila debería funcionar.
Coboleros si leen esto revisar por favor. Saludos a todos Código COBOL:
|
Cita:
Ahora solo me graba 1 registro, poco a poco. ---------- Post añadido : 08:45 ---------- Post anterior : 08:43 ---------- Cita:
Un saludo! |
Lo primero: La definicion del fichero para hacer el sort.
o defines la variable sortwork o bien la pones como una constante entre comillas. Asi: Código COBOL:
Segundo, quita lo de las "SECTION' no son necesarias. Pero si las utilizas no puedes llamar a procedimientos que estan fuera de la 'SECTION'. Mejor quitalas. Tercero, inicalizar-ficheros no lo tienes implementado. Cuarto , END-PROGRAM ponlo al final o quitalo. No hace falta Quinto, CLOSE FICH2 pon el punto porque es final de parrafo CLOSE FICH2. sexto, quita los exit. septimo cambia "PERFORM INICIAR-SALIDA" por "PERFORM INICIAR-SALIDA thru iniciar-salida-fin". Ya con eso, compila y nos cuentas. Saludos ---------- Post añadido : 09:24 ---------- Post anterior : 09:16 ---------- Te quedaria asi: Código COBOL:
---------- Post añadido : 09:27 ---------- Post anterior : 09:24 ---------- Lo he probado: fichero csv Código COBOL:
fichero dat Código COBOL:
|
JCantero, los párrafos de XXXX-FIN no sirven de nada tampoco. Además, muchos compiladores no compilan un párrafo vacío, así que el EXIT se convierte en obligatorio.
Las SECTION, los párrafos con -FIN y el THRU no son recomendados, yo no los uso nunca. Los puntos tampoco. El único punto obligatorio es el del final del párrafo. Los GO TO tampoco son recomendados, suelen ser prohibidos por estándar. Es preferible usar los PERFORM. |
Cita:
Te pongo el codigo que tengo ahora, de momento ahora me da 1 error al leer el fichero. Un saludo y gracias! Código COBOL:
theezraak, usa el resalto de sintaxis! ---------- Post añadido : 11:01 ---------- Post anterior : 10:12 ---------- Ya me funciona gracias al codigo de JCantero. La verdad que parecía más facil de lo que era. Muchas gracias a todos por las aportaciones!!! |
| 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.