Cobol-environment-setup
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で指定されます。