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つの方法があります。

いずれの場合も、次の利点から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の場合、COBSQLTYPEORACLEまたは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スクリプトを実行するには:

  1. SQL*Plusを起動します。

  2. ユーザー名scott、パスワードtigerでデータベースに接続します。

  3. 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にあります。

サンプル・プログラムをビルドするには:

  1. 任意のサンプル・ファイルでバッチ・ファイルを実行します。ファイル拡張子は入力しないでください。次に例を示します。

    C:\ORACLE\ORA90\PRECOMP\DEMO\PROCOB2> makeit sample1
    
  2. サンプル・プログラムをビルドしているときにエラーが発生した場合は、すべてのパスおよびファイル名がシステム構成と一致しているかを確認してください。

サンプル・プログラムを実行するコマンドは、次のディレクトリが現行の作業ディレクトリであると想定します。

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のサンプル・プログラム

サンプル・プログラム 説明

sample1.pco

単純な問合せ

sample2.pco

カーソル操作

sample3.pco

ホスト表

sample4.pco

データ型の同値化

sample6.pco

動的SQL方法1

sample7.pco

動的SQL方法2

sample8.pco

動的SQL方法3

sample9.pco

ストアド・プロシージャ・コール

calldemo.sql

ストアド・プロシージャ・コール

sample10.pco

動的SQL方法4

sample11.pco

カーソル変数操作

sample11.sql

カーソル変数操作

sample12.pco

ANSI動的SQLを使用する動的SQL方法4

sample13.pco

ネストされたプログラム

sampleco.pco

単純な問合せおよび挿入

sample14.pco

ホスト表x

lobdemo1.pco

LOBデータ型

lobdemo1.sql

LOBデータ型