Cobol-environment-setup

提供:Dev Guides
移動先:案内検索

COBOL-環境設定

'__ === オンラインで試す

COBOLプログラミング環境をオンラインで設定したため、利用可能なすべてのサンプルをオンラインでコンパイルして実行できます。 読んでいるものに自信を与え、さまざまなオプションでプログラムを検証することができます。 サンプルを自由に変更して、オンラインで実行してください。

CodingGroundから入手できるオンラインコンパイラを使用して、次の例を試してください。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

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

このチュートリアルに記載されているほとんどの例では、オンラインコンパイラにアクセスできる右上隅のWebサイトコードセクションに[試用]オプションがあります。 だからそれを利用して、あなたの学習を楽しんでください。 '__

Windows/LinuxでのCOBOLのインストール

Windowsには、単純なCOBOLプログラムの作成と学習に使用できる無料のメインフレームエミュレータが多数あります。

そのようなエミュレータの1つはHerculesです。これは、以下に示すいくつかの簡単な手順に従うことで、Windowsに簡単にインストールできます。

  • Herculesエミュレーターをダウンロードしてインストールします。Herculesのホームサイトから入手できます:http://www.hercules-390.eu [www.hercules-390.eu]
  • Windowsマシンにパッケージをインストールすると、 C:/hercules/mvs/cobol のようなフォルダーが作成されます。
  • コマンドプロンプト(CMD)を実行し、CMDのディレクトリC:/hercules/mvs/cobolに到達します。 JCLおよびCOBOLプログラムを作成および実行するためのさまざまなコマンドに関する完全なガイドは、次の場所にあります。 + www.jaymoseley.com/hercules/installmvs/instmvs2 *

Herculesは、最新の64ビットz/Architectureに加えて、メインフレームSystem/370およびESA/390アーキテクチャのオープンソースソフトウェア実装です。 Herculesは、Linux、Windows、Solaris、FreeBSD、およびMac OS Xで動作します。

ユーザーは、シンクライアント、ダミーターミナル、仮想クライアントシステム(VCS)、仮想デスクトップシステム(VDS)など、さまざまな方法でメインフレームサーバーに接続できます。 すべての有効なユーザーには、Z/OSインターフェース(TSO/EまたはISPF)に入るためのログインIDが与えられます。

COBOLプログラムのコンパイル

JCLを使用してCOBOLプログラムをバッチモードで実行するには、プログラムをコンパイルする必要があり、すべてのサブプログラムでロードモジュールが作成されます。 JCLは、実行時に実際のプログラムではなく、ロードモジュールを使用します。 ロードライブラリは連結され、 JCLLIB または STEPLIB を使用して実行時にJCLに渡されます。

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パラメーターを使用して渡されます。 Copybookは、SYSLIBのプログラムで使用されるライブラリです。

COBOLプログラムの実行

以下に示すのは、プログラムMYPROGが入力ファイルMYDATA.URMI.INPUTを使用して実行され、スプールに書き込まれる2つの出力ファイルを生成するJCLの例です。

//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が非DB2 COBOLモジュールにのみ使用できることに注意することが重要です。

COBOL-DB2プログラムの実行

COBOL-DB2プログラムを実行するには、JCLおよびプログラムで専用のIBMユーティリティーが使用されます。 DB2領域および必須パラメーターは、ユーティリティーへの入力として渡されます。

COBOL-DB2プログラムを実行する際の手順は次のとおりです-

  • COBOL-DB2プログラムがコンパイルされると、DBRM(データベース要求モジュール)がロードモジュールとともに作成されます。 DBRMには、COBOLプログラムのSQLステートメントが含まれており、構文が正しいことが確認されています。
  • DBRMは、COBOLが実行されるDB2領域(環境)にバインドされます。 これは、JCLでIKJEFT01ユーティリティーを使用して実行できます。
  • バインド手順の後、ロードライブラリとDBRMライブラリをJCLへの入力としてIKJEFT01(再び)を使用して、COBOL-DB2プログラムが実行されます。
//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はIKJEFT01を使用して実行されるCOBOL-DB2プログラムです。 プログラム名、DB2サブシステムID(SSID)、およびDB2プラン名はSYSTSIN DDステートメント内で渡されることに注意してください。 DBRMライブラリーはSTEPLIBで指定されます。