COBOL - Configuração de Ambiente

Experimente a opção online

Configuramos o ambiente de programação COBOL online, para que você possa compilar e executar todos os exemplos disponíveis online. Dá a você confiança no que está lendo e permite que você verifique os programas com diferentes opções. Sinta-se à vontade para modificar qualquer exemplo e executá-lo online.

Experimente o seguinte exemplo usando nosso compilador online disponível em CodingGround

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

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

Para a maioria dos exemplos fornecidos neste tutorial, você encontrará uma opção Experimente nas seções de código do nosso site no canto superior direito que o levará ao compilador online. Portanto, faça uso dele e aproveite seu aprendizado.

Instalando COBOL no Windows / Linux

Existem muitos emuladores de mainframe gratuitos disponíveis para Windows que podem ser usados ​​para escrever e aprender programas COBOL simples.

Um desses emuladores é o Hercules, que pode ser facilmente instalado no Windows seguindo alguns passos simples, conforme mostrado abaixo -

  • Baixe e instale o emulador Hercules, que está disponível no site da Hercules: www.hercules-390.eu

  • Depois de instalar o pacote na máquina Windows, ele criará uma pasta como C:/hercules/mvs/cobol.

  • Execute o Prompt de Comando (CMD) e alcance o diretório C: / hercules / mvs / cobol no CMD.

  • O guia completo sobre vários comandos para escrever e executar programas JCL e COBOL pode ser encontrado em:

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

Hercules é uma implementação de software de código aberto das arquiteturas mainframe System / 370 e ESA / 390, além da arquitetura z / de 64 bits mais recente. Hercules é executado em Linux, Windows, Solaris, FreeBSD e Mac OS X.

Um usuário pode se conectar a um servidor mainframe de várias maneiras, como thin client, terminal fictício, Virtual Client System (VCS) ou Virtual Desktop System (VDS). Cada usuário válido recebe um ID de login para entrar na interface Z / OS (TSO / E ou ISPF).

Compilando programas COBOL

Para executar um programa COBOL em modo batch usando JCL, o programa precisa ser compilado e um módulo de carregamento é criado com todos os subprogramas. O JCL usa o módulo de carregamento e não o programa real no momento da execução. As bibliotecas de carga são concatenadas e fornecidas ao JCL no momento da execução usandoJCLLIB ou STEPLIB.

Existem muitos utilitários de compilador de mainframe disponíveis para compilar um programa COBOL. Algumas empresas corporativas usam ferramentas de gerenciamento de mudanças, comoEndevor, que compila e armazena todas as versões do programa. Isso é útil para rastrear as alterações feitas no 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 é um utilitário compilador IBM COBOL. As opções do compilador são passadas usando o parâmetro PARM. No exemplo acima, RMODE instrui o compilador a usar o modo de endereçamento relativo no programa. O programa COBOL é passado usando o parâmetro SYSIN. Copybook é a biblioteca usada pelo programa em SYSLIB.

Executando Programas COBOL

A seguir é fornecido um exemplo de JCL onde o programa MYPROG é executado usando o arquivo de entrada MYDATA.URMI.INPUT e produz dois arquivos de saída gravados no 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
/*

O módulo de carregamento de MYPROG está localizado em MYDATA.URMI.LOADLIB. É importante observar que o JCL acima pode ser usado apenas para um módulo COBOL não-DB2.

Executando programas COBOL-DB2

Para executar um programa COBOL-DB2, um utilitário IBM especializado é usado no JCL e no programa; A região do DB2 e os parâmetros necessários são passados ​​como entrada para o utilitário.

As etapas seguidas na execução de um programa COBOL-DB2 são as seguintes -

  • Quando um programa COBOL-DB2 é compilado, um DBRM (Módulo de Solicitação de Banco de Dados) é criado junto com o módulo de carregamento. O DBRM contém as instruções SQL dos programas COBOL com sua sintaxe verificada para estar correta.

  • O DBRM está vinculado à região do DB2 (ambiente) na qual o COBOL será executado. Isso pode ser feito usando o utilitário IKJEFT01 em um JCL.

  • Após a etapa de ligação, o programa COBOL-DB2 é executado usando IKJEFT01 (novamente) com a biblioteca de carregamento e a biblioteca DBRM como a entrada para o 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
/*

No exemplo acima, MYCOBB é o programa COBOL-DB2 executado usando IKJEFT01. Observe que o nome do programa, o ID do subsistema do DB2 (SSID) e o nome do plano do DB2 são transmitidos na instrução SYSTSIN DD. A biblioteca DBRM é especificada no STEPLIB.