Páginas

miércoles, 26 de enero de 2011

Principiantes COBOL

Hola hola! Cansado de leer manuales de IBM en inglés? Harto de descargarte traducciones automáticas de google? No busques más!

En esta ocasión os traemos el "manual de COBOL para principiantes"!
El único, el inconfundible, el del Consultorio Cobol!

Habrás visto más, pero no mejores. Bienvenido.

Manual de COBOL para principiantes

1. Esquema de un programa cobol.
  • Secciones en que se divide todo programa cobol.

2. WORKING-STORAGE: definiendo variables.
  • Cálculo de longitudes.
  • Visualización de campos.

3. PROCEDURE DIVISION: proceso del programa.
  • Informando variables.
  • Inicializando campos.
  • Bucles y condiciones.

4. Ejemplo 1: Leer de SYSIN y escribir en SYSOUT.
  • JCL que ejecuta un programa sin DB2.
  • Programa que realiza un ACCEPT de la SYSIN y un DISPLAY de la información recibida para mostrarla por SYSOUT.

5. Ejemplo 2: leer de SYSIN y escribir en fichero.
  • JCL con 2 pasos: borrado de ficheros; ejecución de un programa sin DB2 con fichero de salida.
  • Programa que realiza un ACCEPT de la SYSIN y escribe la información recogida en un fichero de salida.

6. Ejemplo 3: leer de fichero y escribir en fichero.
  • JCL con 2 pasos: borrado de ficheros; ejecución de un programa sin DB2 con fichero de entrada y fichero de salida.
  • Programa que lee del fichero de entrada, formatea los datos, y escribe en el fichero de salida. Uso de las sentencias SEARCH y EVALUATE.

7. Ejemplo 4: generando un listado.
  • JCL con 3 pasos: borrado de ficheros; ordenación de un fichero, ejecución de un programa sin DB2 con fichero de entrada y fichero de salida tipo listado.
  • Programa que escribe un listado. Incluye control de número de líneas, paginación, etc.

8. Ejemplo 5: programa con DB2.
  • JCL que ejecuta un programa con DB2.
  • Descripción de la tabla DB2 a la que accederemos a través de una SELECT.
  • Programa con DB2 que accede a una tabla de nuestra base de datos a través de una SELECT. Control del SQLCODE.

9. Ejemplo 6: programa que llama a otro programa.
  • JCL que ejecuta un programa sin DB2.
  • Programa que llama a una rutina.
  • Rutina que calcula la letra del NIF a partir del número.

10. Ejemplo 7: ficheros VB (longitud variable)
  • JCL que ejecuta un programa sin DB2 y crea un fichero de longitud variable.
  • Programa que lee de un fichero de longitud fija (FB) y escribe un fichero de longitud variable (VB).

11. Ejemplo 8: ficheros VSAM
  • JCL que ejecuta un programa sin DB2 actualiza un fichero VSAM.
  • Programa que lee de 2 ficheros GDGs y graba en un fichero VSAM existente.

Continuará...

47 comentarios:

  1. Hola, me ha gustado el diseño de esta web. Estoy empezando en Cobol y a ver si podéis de paso que ampliáis la sección explicar el uso de FILLER y REDEFINES en la declaración de variables.
    Un saludo.

    ResponderEliminar
  2. Sin problema, marchando una de REDEFINES.
    Te agradecería mucho mucho si te hicieses seguidor (aquí on facebook) o al menos dejases un nombre :D

    Talli.

    ResponderEliminar
  3. Añadido en "WORKING-STORAGE: definiendo variables"
    (http://consultoriocobol.blogspot.com/2011/01/working-storage-definiendo-variables.html)

    ResponderEliminar
  4. hola te estoy siguiendo...pero ya tengo la teoria pero k uso para programar en cobol?? k editor uso ??? y k es cics??? es un editor de cobol??...

    ResponderEliminar
  5. Una introducción a ¿Qué es CICS?:
    http://www.consultoriocobol.com/2011/04/cics-ese-desconocido-transaccional.html

    ResponderEliminar
  6. Tienes todo esto en un pdf?
    Gracias,
    Ana

    ResponderEliminar
  7. Cuando esté terminado el manual (faltaría al menos un ejemplo del uso de ficheros VSAM) crearemos un pdf y lo colgaremos en Lulu como hicimos con JCL y SORT : )

    ResponderEliminar
  8. Hola.
    Estoy experimentando con el visual cobol de Microfocus, tratando de manejar db2 mediante sentencias sql y me esta dando un error con la sentencia INSER.
    El error que me dá es el siguiente:
    Error 1 COBCH0801 : SQL0206N "WASEG" no es válida en el contexto donde se usa. SQLSTATE=42703
    WASEG es una variable definida en el programa cobol para usar en la cláusula VALUES
    No se si tengo un problema de sintaxis o bien de la configuración del proyecto para que enlace con db2
    Agradezco todos los comentarios y aportes

    ResponderEliminar
  9. La sentencia completa sql es la que sigue, donde he comentado algunas de las variables para ver si el problema estaba en algún nombre:
    EXEC SQL
    INSERT INTO polizas
    (
    * POLIZA,
    * PRODUCTO, POBLACION, DIRECCION, ZONA, HOGAR, HORARIO,
    * DIACOBRO, OBSERVACIONES, TELEFONOS, NOMBRE, DNI,
    ASEG, FORMPAG)
    VALUES (
    * WPOLIZA,
    * WPRODUCTO, WPOBLACION, WCALLE, WZONA, WHOGAR, WHORARIO,
    * WDIACOBRO, WOBS, WTELS, WNOMBRE, WDNI,
    WASEG, WFORMPAGO)
    END-EXEC.

    ResponderEliminar
  10. He visto que cuando da en el VALUES, puede ser porque el nombre de l avariable coincide con el nombre de una columna de la tabla.
    ¿Puedes probar a cambiar el nombre de la variable?

    Un saludo.

    ResponderEliminar
  11. Hola Tallian:

    Gracias por tu consejo. Lo voy a probar y luego te cuento.

    ResponderEliminar
  12. En realidad los nombres son distintos porque las variables comienzan con "w" aunque el resto del nombre sea igual.
    Voy a probar igual pero no me parece que sea eso.
    Luego te comento.
    Gracias igualmente. Si se te ocurre alguna otra cosa para probar me escribes

    ResponderEliminar
  13. hola felicitaciones por este gran sitio , mi consulta es si existe alguna informacion para integrar cobol con una base de datos postgresql , mi sistema corre sobre acucobol y no se que tipo de licencia debo adquirir para poder usar base de datos con mis sistemas

    gracias por su atencion y ayuda
    saludos desde Ecuador

    ResponderEliminar
  14. Hola:
    ¿Alguien tiene experiencia en utilizar el Cobol de Cobos en Eclipse?
    He bajado e instalado todo pero no logro que compile.
    Creo que tengo un problema en la configuracion del workspace.
    Si alguien sabe de algún manual o tutorial sobre el tema le agradecería mucho si me lo indican
    Saludos
    Pablo

    ResponderEliminar
  15. Vengo del Cobol en modo texto y quisiera pasarme a programar en Cobol bajo Windows. Llevo tiempo mirando y muchas dudas:

    - Compilador adecuado.
    - Manuales de uso del entorno, no del lenguaje en sí.
    - Licenciamiento: Quisiera probar concienzudamente el entorno/compilador adecuado antes de comprar nada. Y un mes no me llega.

    Alguna sugerencia?
    Muchas gracias.

    ResponderEliminar
  16. donde puedo descargar el framework de cobol para instalarlo en mi maquina? Tengo win7 started... gracias! y la pagina es muy completa, sigan asi! Saludos!

    ResponderEliminar
  17. sabeis de donde puedo sacar el compilador para ubuntu 12.04?

    Estaria muy muy agradecido, gracias.

    ResponderEliminar
  18. Hola.
    He descargado e instalado PikeCobol pero cuando voy a compilar el programa me salta un error 53 archivo no encontrado.
    Yo creo que el programa intenta usar algún dll del Windows que no encuentra. Yo estoy usando Windows XP.
    ¿Alguna sugerencia?
    Gracias

    ResponderEliminar
  19. Por mi parte decirte que nunca he usado PikeCobol (solo entornos mainframe) así que me temo que no puedo ayudarte : (

    ResponderEliminar
  20. que bueno leer un manual sin tantos "ordenador", estareís, y demases... jejeje gran aporte...

    ResponderEliminar
  21. muy bueno estoy recien empesando espero que no se me haga muy dificil desde ya gracias por tu aporte

    ResponderEliminar
  22. Muchas Gracias!! Espero saques más temas y/o ejemplos para orientarnos en este lenguaje de programación. Saludos y gracias!!

    ResponderEliminar
  23. Hola a todos, tengo una duda sobre el compilador de cobol II, para que acepte FUNCTION, ya que el actual compilador me da error ¿podéis pasarme uno que acepte las funciones de cobol II?

    ResponderEliminar
  24. No nos vendría mal a más de uno que se siguiera actualizando este consultorio... ¡¡ buen trabajo !!

    ResponderEliminar
  25. Hola Anónimo. No siempre disponemos de todo el tiempo que nos gustaría para dedicar al consultorio. Esto es algo que hacemos sin ánimo de lucro y dedicando horas de nuestro tiempo libre. Siempre estamos abierto a que cualquier persona que desee colaborar nos envíe un post y lo publicaremos en su nombre. Un saludo.

    ResponderEliminar
  26. MUY BUENA LA PAGINA PARA PERSONAS QUE SE ESTAMOS INICIANDO EN EL LENGUAJE COBOL PERO ESTARIA BUENO QUE SE ACTUALIZARAN A LO VISUAL COMO EL ACUBENCH, LA VERDAD HAY MUY POCA INFO SOBRE EL COMPILADOR Y ESTA MUY BUENO...!

    ResponderEliminar
  27. Muchas gracias! El principal motivo para que todos nuestros ejemplos estén en ISPF/TSO es que la mayoría de clientes del sector todavía lo utilizan, pero está claro que los entornos visuales más modernos ofrecen grandes ventajas.

    ResponderEliminar
  28. Yo lo vi hace años, (14 años exactamente), bajo OS/2 warp 4.0, Cobol Micro Focus y como entorno grafico de desarrollo (las ventanas) Dialog System, vamos que esto ha cambiado un monton fijo, supongo que ahora el el entorno grafico se creara desde visual studio o swing dependiendo del IDE de desarrollo sobre el que instalemos Cobol Micro Focus no?

    ResponderEliminar
  29. HOLA UNA VES MÁS, YA HABIA ESCRITO UN COMENTARIO PERO NO LO PUDE PUBLICAR, ESPERO QUE AHORA NO ME FALLE.
    BUENO DESPUES DE APROXIMADAMENTE 15 AÑOS DE NO PROGRAMAR PUES DELIBERADAMENTE HABIA BORRADO MI MEMORÍA, EL GUSANITO ME VUELVE A PICAR, Y NI SIQUIERA PENSE QUE SE PUDIERA PROGRAMAR EN PCs, YA QUE LO HACIA EN MAQUINAS GRANDES, Y AQUI ESTOY COMO PRINCIPIANTE Y CON POCO TIEMPO LIBRE, LE VOY A ECHAR MUCHAS GANAS Y ESPERO NO PERDER ESTA PAGINA ASÍ COMO TAMPOCO LA AYUDA DE TODOS LOS QUE COLABORAN CON LA MISMA.
    DE ANTEMANO MUCHAS GRACIAS.

    ResponderEliminar
  30. Hola a todos. No soy programador, agradeceré su ayuda para solucionar el siguiente problema
    Cobol I/O error 39,03 on MOVREP file C:\DATOS\MOVREP
    Cobol I/O error at line 862 in ST 7100
    Cobol traceback at line 260 in ST7000
    Cobol traceback at line 278 in ST0000
    Saludos y gracias

    ResponderEliminar
  31. Excelente iniciativa...me viene muy bien para repasar y aprender. El ejemplo 1 lo cargue en Micro Focus Mainframe Express 3.1 y anduvo muy bien(salvo un toque en el JCL).

    ResponderEliminar
  32. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  33. Buenas noches,

    De verdad agradezco lo que hacen en este grandioso blog, espero no pierdan el impulso y que todos podamos seguir creciendo en conocimiento. Gracias de nuevo.

    ResponderEliminar
  34. Hola buenas tardes soy nuevo en esto y me gustaría saber si me podrías pasar un enlace para descargarme COBOL así puedo practicar con el manual, desde ya muchas gracias por su tiempo

    ResponderEliminar
  35. Excelente tu pagina, podrías poner ejemplos de programación con SO390, gracias.

    ResponderEliminar
  36. Excelente tu pagina, podrías poner ejemplos de programación con SO390, gracias.

    ResponderEliminar
  37. Buen día, muchas gracias por todo el material, muy didáctico. Vi cobol hace mucho, por obligación -ahora por motivación propia- estoy desoxidando el cerebro, necesito varias orientaciones básicas por favor. Hace mucho no programo.
    Transcribir un archivo fuente de los famosos “holamundo.cbl”, intento compilar con RMCOBOL y me arroja: “Open error for file”. He cambiado el archivo de directorio, incluso al raíz, a ver si lo localiza y nada. Si me pueden orientar, gracias.
    Por otro lado recuerdo que se podía compilar completamente, si mal no recuerdo, en dos pasos. El RMCOBOL produce un .COB, necesito compilar completamente, obtener un .EXE. ¿Con que compilador puedo?
    También necesito un enlace P2P para descargar AD/CD z/OS 1.10 por favor, que sea seguro que se descarga el paquete completo, pues mi equipo tarda mucho en descargar y es un problema después descubrir que el fichero está dañado, de ser posible.
    Por todo gracias de antemano.

    ResponderEliminar
  38. Henry, encontre esto por si sirve. Para el primer error

    http://web.cse.ohio-state.edu/~sgomori/314/filerr.html

    ResponderEliminar
  39. Buenas, agradeciendo tu post que sirve en gran medida para adentrarse a este mundo de cobol y mainframes. Asi mismo quisiera ver la posibilidad de que me recomienden algun compilador que funcione bajo Win 7/64; intente con visual cobol de microfocus pero es de licencia igual intente con OpenCobol IDE pero me saltan errores, alguna otra opcion al respecto ?... gracias

    ResponderEliminar
  40. Hola, soy principianete en cobol, sabeis donde me puedo descargar de forma gratuita z/OS ?

    ResponderEliminar
  41. tienes todo estos manuales en PDF? Gracias

    ResponderEliminar
  42. Hola soy Miguel.
    He trabajado con Oracle y MySQL y he accedido a ellas desde php y java.
    Tengo conocimientos de SQL y Cobol pero no he trabajado con DB2 y Cobol.
    Me he instalado en mi ordenador sobre W10 el DB2 y OpenCobol pero no se como precompilar, compilar y ejecutar los programas Cobol en el ambiente de la Base de datos.
    Si alguien conoce algún manual (en español) de como realizar paso a paso estas operaciones , se lo agradecería.
    Un saludo.

    ResponderEliminar
  43. Me encanta el contenido, por favor actualicen mas para principiantes

    ResponderEliminar