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.