COBOL - Настройка среды

Попробуйте вариант онлайн

Мы настроили онлайн-среду программирования COBOL, чтобы вы могли компилировать и выполнять все доступные примеры онлайн. Это дает вам уверенность в том, что вы читаете, и позволяет вам проверять программы с различными параметрами. Не стесняйтесь изменять любой пример и выполнять его онлайн.

Попробуйте следующий пример, используя наш онлайн-компилятор, доступный на CodingGround

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

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

Для большинства примеров, приведенных в этом руководстве, в разделах кода нашего веб-сайта в правом верхнем углу вы найдете параметр «Попробовать», который приведет вас к онлайн-компилятору. Так что просто используйте это и получайте удовольствие от обучения.

Установка COBOL в Windows / Linux

Для Windows доступно множество бесплатных эмуляторов мэйнфреймов, которые можно использовать для написания и изучения простых программ на COBOL.

Одним из таких эмуляторов является Hercules, который можно легко установить в Windows, выполнив несколько простых шагов, как указано ниже:

  • Загрузите и установите эмулятор Hercules, который доступен на домашнем сайте Hercules: www.hercules-390.eu

  • После того, как вы установили пакет на компьютере с Windows, он создаст папку вроде C:/hercules/mvs/cobol.

  • Запустите командную строку (CMD) и перейдите в каталог C: / hercules / mvs / cobol на CMD.

  • Полное руководство по различным командам для написания и выполнения программ JCL и COBOL можно найти по адресу:

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

Hercules - это программная реализация с открытым исходным кодом архитектур System / 370 и ESA / 390 для мэйнфреймов в дополнение к новейшей 64-битной z / Architecture. Hercules работает под Linux, Windows, Solaris, FreeBSD и Mac OS X.

Пользователь может подключиться к серверу мэйнфрейма несколькими способами, такими как тонкий клиент, фиктивный терминал, система виртуального клиента (VCS) или система виртуального рабочего стола (VDS). Каждому действующему пользователю дается идентификатор входа для входа в интерфейс Z / OS (TSO / E или ISPF).

Компиляция программ COBOL

Чтобы выполнить программу COBOL в пакетном режиме с использованием JCL, необходимо скомпилировать программу и создать загрузочный модуль со всеми подпрограммами. JCL использует модуль загрузки, а не фактическую программу во время выполнения. Библиотеки загрузки объединяются и передаются в JCL во время выполнения с использованиемJCLLIB или же STEPLIB.

Для компиляции программы на языке COBOL доступно множество утилит компилятора мэйнфрейма. Некоторые корпоративные компании используют такие инструменты управления изменениями, какEndevor, который компилирует и хранит все версии программы. Это полезно для отслеживания изменений, внесенных в программу.

//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 - это утилита компилятора IBM COBOL. Параметры компилятора передаются с помощью параметра PARM. В приведенном выше примере RMODE инструктирует компилятор использовать режим относительной адресации в программе. Программа COBOL передается с помощью параметра SYSIN. Записная книжка - это библиотека, используемая программой в SYSLIB.

Выполнение программ COBOL

Ниже приводится пример JCL, в котором программа MYPROG выполняется с использованием входного файла MYDATA.URMI.INPUT и создает два выходных файла, записанных в спул.

//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
/*

Загрузочный модуль MYPROG находится в MYDATA.URMI.LOADLIB. Важно отметить, что приведенный выше JCL может использоваться только для модуля COBOL, отличного от DB2.

Выполнение программ COBOL-DB2

Для запуска программы COBOL-DB2 в JCL и программе используется специализированная утилита IBM; Регион DB2 и необходимые параметры передаются утилите в качестве входных данных.

Шаги, выполняемые при запуске программы COBOL-DB2, следующие:

  • Когда программа COBOL-DB2 компилируется, вместе с загрузочным модулем создается DBRM (модуль запроса базы данных). DBRM содержит операторы SQL программ COBOL, синтаксис которых проверяется на правильность.

  • DBRM привязан к региону (среде) DB2, в котором будет работать COBOL. Это можно сделать с помощью утилиты IKJEFT01 в JCL.

  • После этапа связывания программа COBOL-DB2 запускается с использованием IKJEFT01 (снова) с библиотекой загрузки и библиотекой DBRM в качестве входных данных для 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
/*

В приведенном выше примере MYCOBB - это программа COBOL-DB2, запускаемая с использованием IKJEFT01. Обратите внимание, что имя программы, идентификатор подсистемы DB2 (SSID) и имя плана DB2 передаются в операторе SYSTSIN DD. Библиотека DBRM указана в STEPLIB.