COBOL - Configuración del entorno

Pruébelo en línea

Hemos configurado el entorno de programación COBOL en línea, para que pueda compilar y ejecutar todos los ejemplos disponibles en línea. Le da confianza en lo que está leyendo y le permite verificar los programas con diferentes opciones. Siéntase libre de modificar cualquier ejemplo y ejecutarlo en línea.

Pruebe el siguiente ejemplo utilizando nuestro compilador en línea disponible en CodingGround

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

PROCEDURE DIVISION.
   DISPLAY 'Hello World'.
STOP RUN.

Para la mayoría de los ejemplos dados en este tutorial, encontrará una opción Pruébelo en las secciones de código de nuestro sitio web en la esquina superior derecha que lo llevará al compilador en línea. Así que utilícelo y disfrute de su aprendizaje.

Instalación de COBOL en Windows / Linux

Hay muchos emuladores de mainframe gratuitos disponibles para Windows que se pueden usar para escribir y aprender programas COBOL simples.

Uno de esos emuladores es Hercules, que se puede instalar fácilmente en Windows siguiendo unos sencillos pasos como se indica a continuación:

  • Descarga e instala el emulador de Hercules, que está disponible en el sitio de inicio de Hercules: www.hercules-390.eu

  • Una vez que haya instalado el paquete en la máquina con Windows, creará una carpeta como C:/hercules/mvs/cobol.

  • Ejecute el símbolo del sistema (CMD) y acceda al directorio C: / hercules / mvs / cobol en CMD.

  • La guía completa sobre varios comandos para escribir y ejecutar programas JCL y COBOL se puede encontrar en:

    www.jaymoseley.com/hercules/installmvs/instmvs2.htm

Hercules es una implementación de software de código abierto de las arquitecturas mainframe System / 370 y ESA / 390, además de la última arquitectura z / de 64 bits. Hercules se ejecuta en Linux, Windows, Solaris, FreeBSD y Mac OS X.

Un usuario puede conectarse a un servidor mainframe de varias formas, como cliente ligero, terminal ficticia, sistema de cliente virtual (VCS) o sistema de escritorio virtual (VDS). Cada usuario válido recibe una identificación de inicio de sesión para ingresar a la interfaz Z / OS (TSO / E o ISPF).

Compilación de programas COBOL

Para ejecutar un programa COBOL en modalidad de proceso por lotes utilizando JCL, es necesario compilar el programa y crear un módulo de carga con todos los subprogramas. El JCL utiliza el módulo de carga y no el programa real en el momento de la ejecución. Las bibliotecas de carga se concatenan y se entregan al JCL en el momento de la ejecución utilizandoJCLLIB o STEPLIB.

Hay muchas utilidades de compilación de mainframe disponibles para compilar un programa COBOL. Algunas empresas corporativas utilizan herramientas de gestión del cambio comoEndevor, que compila y almacena todas las versiones del programa. Esto es útil para rastrear los cambios realizados en el programa.

//COMPILE   JOB ,CLASS=6,MSGCLASS=X,NOTIFY=&SYSUID             
//*            
//STEP1     EXEC IGYCRCTL,PARM=RMODE,DYNAM,SSRANGE
//SYSIN     DD DSN=MYDATA.URMI.SOURCES(MYCOBB),DISP=SHR
//SYSLIB    DD DSN=MYDATA.URMI.COPYBOOK(MYCOPY),DISP=SHR
//SYSLMOD   DD DSN=MYDATA.URMI.LOAD(MYCOBB),DISP=SHR
//SYSPRINT  DD SYSOUT=*
//*

IGYCRCTL es una utilidad de compilación de IBM COBOL. Las opciones del compilador se pasan mediante el parámetro PARM. En el ejemplo anterior, RMODE indica al compilador que use el modo de direccionamiento relativo en el programa. El programa COBOL se pasa utilizando el parámetro SYSIN. Copybook es la biblioteca utilizada por el programa en SYSLIB.

Ejecución de programas COBOL

A continuación se muestra un ejemplo de JCL en el que el programa MYPROG se ejecuta utilizando el archivo de entrada MYDATA.URMI.INPUT y produce dos archivos de salida escritos en el spool.

//COBBSTEP  JOB CLASS=6,NOTIFY=&SYSUID
//
//STEP10    EXEC PGM=MYPROG,PARM=ACCT5000
//STEPLIB   DD DSN=MYDATA.URMI.LOADLIB,DISP=SHR
//INPUT1    DD DSN=MYDATA.URMI.INPUT,DISP=SHR
//OUT1      DD SYSOUT=*
//OUT2      DD SYSOUT=*
//SYSIN     DD *
//CUST1     1000
//CUST2     1001
/*

El módulo de carga de MYPROG se encuentra en MYDATA.URMI.LOADLIB. Es importante tener en cuenta que el JCL anterior solo se puede utilizar para un módulo COBOL que no sea DB2.

Ejecución de programas COBOL-DB2

Para ejecutar un programa COBOL-DB2, se utiliza una utilidad de IBM especializada en el JCL y el programa; La región DB2 y los parámetros necesarios se pasan como entrada a la utilidad.

Los pasos que se siguen para ejecutar un programa COBOL-DB2 son los siguientes:

  • Cuando se compila un programa COBOL-DB2, se crea un DBRM (Módulo de solicitud de base de datos) junto con el módulo de carga. El DBRM contiene las sentencias SQL de los programas COBOL con su sintaxis verificada para que sea correcta.

  • El DBRM está vinculado a la región (entorno) de DB2 en la que se ejecutará COBOL. Esto se puede hacer utilizando la utilidad IKJEFT01 en un JCL.

  • Después del paso de vinculación, el programa COBOL-DB2 se ejecuta utilizando IKJEFT01 (nuevamente) con la biblioteca de carga y la biblioteca DBRM como entrada al JCL.

//STEP001  EXEC PGM=IKJEFT01
//*
//STEPLIB  DD DSN=MYDATA.URMI.DBRMLIB,DISP=SHR
//*
//input files
//output files
//SYSPRINT DD SYSOUT=*
//SYSABOUT DD SYSOUT=*
//SYSDBOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//DISPLAY  DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *
   DSN SYSTEM(SSID)
   RUN PROGRAM(MYCOBB) PLAN(PLANNAME) PARM(parameters to cobol program) -
   LIB('MYDATA.URMI.LOADLIB')
   END
/*

En el ejemplo anterior, MYCOBB es el programa COBOL-DB2 que se ejecuta con IKJEFT01. Tenga en cuenta que el nombre del programa, el ID del subsistema DB2 (SSID) y el nombre del plan DB2 se pasan dentro de la declaración SYSTSIN DD. La biblioteca DBRM se especifica en STEPLIB.