F Pro*COBOL for Windows
この項では、Windowsオペレーティング・システム用のPro*COBOLを使用したOracle Databaseアプリケーション作成の概要について説明します。
この項の内容は次のとおりです。
F.1 Pro*COBOLアプリケーションのコンパイルおよびリンク
Pro*COBOLは、Windowsの32-bit版対応のMicro Focus Net Express 5.0をサポートしています。この項では、Micro Focusコンパイラを使用したPro*COBOLアプリケーションのコンパイルおよびリンク方法を説明します。
Micro Focus COBOLアプリケーションを作成および実行するには、次の2つの方法があります。
-
IDEの使用方法(Net Expressのみを使用)
-
Animatorの使用方法(Net Express以外の製品)
-
COBOLおよびCBLLINKコマンド(すべての製品)
いずれの場合も、次の利点からCOBSQLユーティリティが使用される場合があります。
-
Pro*COBOLはMicro Focusコンパイラで実行され、別の処理として実行する必要はありません。
-
アニメーションは、Pro*COBOLによって生成された.cblファイルではなく.pcoソース・ファイルを使用して行われます。
-
MAKEYSYNディレクティブは、自動的に指定され、手動で指定する必要はありません。
F.1.1 IDEの使用方法
Pro*COBOLによって生成されたプログラムは、Micro Focus Net ExpressのIDEからコンパイルおよび実行できます。Pro*COBOLによって生成された.cbl
ファイルをNet Expressプロジェクトに追加します。Oracleライブラリのルーチンをコールするときに矛盾が生じないように、次のディレクティブを使用してプログラムをコンパイルします。
MAKESYN "COMP-5" = "COMP"
このディレクティブは、ソース・ファイル作成の設定またはプロジェクト設定で、あるいはソース・ファイルの先頭の$SET
行で指定できます。「Rebuild」または「Rebuild All」を選択すると、IDEによって「Run」または「Animate」が使用できる実行可能ファイルが生成されます。
F.1.2 Animatorの使用方法
Micro Focus COBOLのデバッガであるAnimator V2を使用して、プログラムをコンパイルおよび実行できます。
Oracleライブラリのルーチンをコールするときに矛盾が生じないように、メニュー・オプションの「Compiler Directives」を選択し、次のように入力します。
Micro Focus COBOLでは、2進数がビッグ・エンディアン形式で格納されるので、このステップが必要です。Oracleライブラリでは、2進数はリトル・エンディアン形式(マシン形式)で格納されていることを前提としています。
MAKESYN "COMP-5" = "COMP"
F.1.3 COBOLおよびCBLLINKコマンド
プログラムを作成する場合、COBOL
およびCBLLINK
は、Pro*COBOLランタイムが静的にリンクされるか、実行時にDLLを通してアクセスされるかによって2通りの方法で使用されます。
動的リンクの場合のコマンドは次のとおりです。
COBOL sample1 /MAKESYN"COMP-5"="COMP"; CBLLINK sample1
静的リンクの場合のコマンドは次のとおりです。
COBOL sample1 /LITLINK /MAKESYN"COMP-5"="COMP";
CBLLINK sample1 ORACLE_BASE\ORACLE_HOME\precomp\lib\orasql12.lib
前述のコマンドによりsample1.exe
が作成されます。このファイルは、他のWindows 用プログラムと同様に実行できます。
ノート:
ファイルを正常に実行するには、Pro*COBOLと同じシステムにMicro Focus COBOLがインストールされている必要があります。
F.1.4 COBSQLコマンド
COBSQL
を使用すると、前処理およびデバッグが簡単にできます。COBSQL
を使用するには、COBOLコンパイラに次のディレクティブを指定します。
PREPROCESS(COBSQL) COBSQLTYPE=ORACLE8 ENDP
または次の短い形式を使用します。
P(COBSQL) CSQLT=ORA8 ENDP
リリース8.0より前のPro*COBOLの場合、COBSQLTYPE
はORACLE
またはORA
に設定します。ディレクティブは、ソース・ファイルの先頭の$SET
行、COBOLのコマンドライン、Net Expressのプログラム作成の設定またはプロジェクト設定か、AnimatorのSQLコンパイラ・ディレクティブ設定によって設定できます。コンパイル時に、COBSQLではPro*COBOLをバックグラウンド・タスクとして実行し、Animatorで.cbl
ファイルではなく.pco
ファイルを使用して実行を追跡できるよう、必要な追加情報と一緒にその出力がCOBOLコンパイラに渡されます。
COBSQL
を使用している場合、.cbl
ファイルを直接処理する必要はありません。かわりに、.pco
ファイルをNet Expressプロジェクトに追加するか、Animatorで開きます。
F.2 サンプル・プログラム
Oracle Databaseの機能でPro*COBOLを使用する方法を示すためにサンプル・プログラムが提供されています。これらのプログラムのリストは、「サンプル・ファイル」を参照してください。
この項では、サンプル・プログラムをビルドするための基本的なプリコンパイル、コンパイルおよびリンクのコマンドの使用方法を説明します。また、Pro*COBOLのサンプル・プログラムの実行に必要な準備についても説明します。
F.2.1 デモ表の作成
Pro*COBOLのサンプル・プログラムを実行するには、ユーザー名がscott
でパスワードがtiger
のデータベース・アカウントが必要です。データベースにこのアカウントがない場合は、アカウントを作成してからサンプル・プログラムを実行してください。
scottアカウントには、emp表およびdept表が含まれている必要があります。アカウントにこれらの表がない場合は、demobld.sqlスクリプトを使用して作成してください。
demobld.sqlスクリプトを実行するには:
-
SQL*Plusを起動します。
-
ユーザー名scott、パスワード
tiger
でデータベースに接続します。 -
demobld.sqlスクリプトを実行します。次に例を示します。
SQL> @ORACLE_BASE\ORACLE_HOME\sqlplus\demo\demobld.sql
F.2.2 サンプル・プログラムのビルド
Pro*COBOLでは、Micro Focus COBOLのサンプル・ファイルのビルド用に次の項で説明するmakeit.batファイルが提供されます。
バッチ・ファイルはORACLE_BASE\ORACLE_HOME \precomp\demo\procob2
にあります。
サンプル・プログラムをビルドするには:
-
任意のサンプル・ファイルでバッチ・ファイルを実行します。ファイル拡張子は入力しないでください。次に例を示します。
C:\ORACLE\ORA90\PRECOMP\DEMO\PROCOB2> makeit sample1
-
サンプル・プログラムをビルドしているときにエラーが発生した場合は、すべてのパスおよびファイル名がシステム構成と一致しているかを確認してください。
サンプル・プログラムを実行するコマンドは、次のディレクトリが現行の作業ディレクトリであると想定します。
ORACLE_BASE\ORACLE_HOME \precomp\demo\procob2
システム構成に合せてサンプル・リンク・スクリプトの変更が必要な場合があります。詳細は、「Pro*COBOLアプリケーションのコンパイルおよびリンク」を参照してください。
makeit.batには、次の内容が含まれています。
procob iname=%1.pco ireclen=132 cobol %1 /anim /litlink makesyn "COMP-5" = "COMP"; cbllink %1 /M%1 ORACLE_BASE\ORACLE_HOME\precomp\lib\orasql12.lib
F.2.3 サンプル・ファイル
表F-1にリストされているPro*COBOLのサンプル・ファイルは、ORACLE_BASE\ORACLE_HOME\precomp\demo\procob2
ディレクトリにあります。SQLスクリプトは、ORACLE_BASE\ORACLE_HOME\precomp\demo\sql
ディレクトリにあります。
表F-1 Pro*COBOLのサンプル・プログラム
サンプル・プログラム | 説明 |
---|---|
|
単純な問合せ |
|
カーソル操作 |
|
ホスト表 |
|
データ型の同値化 |
|
動的SQL方法1 |
|
動的SQL方法2 |
|
動的SQL方法3 |
|
ストアド・プロシージャ・コール |
|
ストアド・プロシージャ・コール |
|
動的SQL方法4 |
|
カーソル変数操作 |
|
カーソル変数操作 |
|
|
|
ネストされたプログラム |
|
単純な問合せおよび挿入 |
|
ホスト表x |
|
LOBデータ型 |
|
LOBデータ型 |