DDM プログラミングに関する考慮事項
一般に、iSeries と非 iSeries のどちらのターゲット・システムの場合も、ILE COBOL での DDM ファイル名の指定は、
データベース・ファイルを指定できるところであればどこででも行うことができます。
この部分では、DDM ファイルについての ILE COBOL プログラミングに関する考慮事項を取りまとめます。
- DDM ファイル名は、バインド COBOL プログラムの作成 (CRTBNDCBL) コマンド、COBOL モジュールの作成 (CRTCBLMOD) コマンド、
および COBOL プログラム作成 (CRTCBLPGM) コマンド上で指定することができます。
- iSeries システムまたは非 iSeries システム上で、ソース・ステートメントが入っているリモート・ファイルにアクセスするには、SRCFILE パラメーターで DDM ファイル名を指定し、SRCMBR パラメーターでメンバー名を指定することができます。
- i5/OS またはシステム /38 ターゲット・システムの場合は、
ローカルのソース・ファイルおよびメンバーと同じ方法で、
リモートの i5/OS またはシステム /38 のソース・ファイル (およびオプションで、メンバー) にアクセスすることができます。
- 非 i5/OS ターゲット・システムの場合は、CRTBNDCBL または CRTCBLPGM コマンドで、PGM と SRCMBR の両パラメーターにデフォルトが使用された場合は、
リモート・ソース・ファイルにアクセスすることができます。
すなわち、メンバー名を指定する場合は、SRCFILE パラメーターで指定される DDM ファイル名と同じでなければなりません。
CRTCBLMOD コマンドが従う規則は、PGM および SRCMBR パラメーターが MODULE および SRCMBR パラメーターによって置き換えられる点を除き、類似しています。
- コンパイラー・リストをターゲット・システムのデータベース・ファイルに入れるには、CRTCBLPGM コマンドの PRTFILE パラメーターで DDM ファイル名を指定することができます。
- DDM ファイル名は、ILE COBOL SORT および MERGE 操作の入出力ファイルとして指定することができます。
- COPY ステートメントの DDS オプションを用いて、外部記述レコード様式の 1 つまたはすべてを、DDM ファイルが参照するリモート・ファイルからコンパイルされるプログラムにコピーするときは、ILE COBOL のそのステートメントで DDM ファイルを使用することができます。
リモート・ファイルが i5/OS システムまたはシステム /38 上にないときにこれを行っても、
レコード記述のフィールド宣言の名前は無意味となります。
代わりに、フィールド名はすべて Fnnnnn と宣言され、
キー・フィールドは Knnnnn と宣言されます。
ターゲットが i5/OS システムでもシステム /38 でもないときに、リモート・ファイルを記述する方法としてお勧めするのは、
ローカル・システム上にデータ記述仕様 (DDS) を持って、物理ファイル作成 (CRTPF) コマンドまたは論理ファイル作成 (CRTLF) コマンドをそのローカル・システムで入力することです。
ローカル・ファイル名を用いて、プログラムをコンパイルします。
リモート・システムのファイルが、対応するフィールド・タイプとフィールド長を持つようにしてください。
リモート・ファイルにアクセスするには、たとえば次のように、プログラムの前にデータベース・ファイル指定変更 (OVRDBF) コマンドを使用してください。
OVRDBF FILE(PGMFIL) TOFILE(DDMFIL) LVLCHK(*NO)
- DDM ファイル名は、COPY ステートメントで指定することができます。
- ライブラリー名をファイル名と一緒に指定しない場合は、
ユーザーのライブラリー・リストのそのファイル名で検出された最初のファイルが、組み込みファイルとして使用されます。
- ターゲット・システムが i5/OS システムでもシステム /38 でもない場合は、COPY ステートメント上で DDM ファイル名を組み込みファイルとして指定できますが、
メンバー名は DDM ファイル名と同じでなければなりません。
- ターゲット・システムがシステム/36 の場合は、関連するリモート・ファイルの論理ファイルがその上に作成されていると、ILE COBOL を用いて出力用に DDM ファイルをオープンすることはできません。
論理ファイルのシステム/36 の場合は、ILE COBOL のプログラミング言語がファイルを使用する前にクリアしようとするので、オープン操作 (出力のオープン) は失敗します。
- ILE COBOL プログラムでソース・システム上の DDM ファイルをオープンするときは、i5/OS および非 i5/OS の両方のターゲットの場合、CLOSE、
DELETE、OPEN、READ、REWRITE、START、および WRITE のステートメントを用いて、
ターゲット・システムのリモート・ファイルに対して入出力操作を行うことができます。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.