このセクションは、主に、プログラムをワークステーションに転送しようとする OS PL/I ユーザーを対象としています。
ほとんどの場合、ENVIRONMENT(CONSECUTIVE) または ENVIRONMENT(INDEXED) を指定して宣言されたか、または PL/I ENVIRONMENT 属性を指定せずに宣言されたファイルを、PL/I プログラムが使用しているのであれば、このプログラムは修正しなくてもワークステーション VSAM データ・セットにアクセスできます。PL/I は、ワークステーション VSAM データ・セットがオープンされることを検出するため、正しいアクセスを提供できます。
ワークステーション VSAM データ・セットと共に使用できるように、CONSECUTIVE、INDEXED、REGIONAL(1)、または VSAM ファイルを用いる既存のプログラムを修正することが可能です。連続ファイルを用いるプログラムは修正が必要ない場合があり、また常に、ロジックが EXCLUSIVE ファイルに依存していなければ、索引付きファイルを用いるプログラムを修正する必要はありません。REGIONAL(1) データ・セットを用いるプログラムでは、小さな改訂のみ必要です。
以下のセクションでは、ファイルをワークステーション向けに修正するために必要な変更について説明します。
DDM には固定長レコードの概念はありませんが、ISAM および BTRIEVE にはあります。 DDM には固定長レコードの概念はありません。 プログラムが RECORD 条件に依存して不正な長さのレコードを検出している場合、プログラムが ワークステーション VSAM データ・セットを用いるときの 動作は、ワークステーション VSAM 以外のデータ・セットを用いるときとは異なります。
プログラムのロジックが、不正な長さのレコードの検出時に RECORD 条件を発生させることに依存している場合、レコード長を検査して必要な処理を行う独自のコードを作成する必要があります。これは、指定された最大長までの任意の長さのレコードをワークステーション VSAM データ・セットで使用できるようにするためです。
INDEXED ファイルについては、互換性があります。INDEXED ENVIRONMENT オプションを指定して宣言したファイルの場合 、PL/I はそのファイルをワークステーション VSAM キー・データ・セットに関連付けます。データ・セットが別のタイプである場合は UNDEFINEDFILE が発生します。
メインフレーム ISAM レコード処理はワークステーション VSAM レコード処理と細部で異なるため、ワークステーション VSAM 処理によって必要な結果が得られるとは限りません。
RECORD 条件への依存関係を除去し、必要であればレコード長を検査する独自のコードを挿入する必要があります。また、削除済みレコードの検査をすべて除去する必要があります。
REGIONAL(1) データ・セットを使用するプログラムを、ワークステーション VSAM 直接データ・セットを使用するように修正することができます。ファイル宣言から REGIONAL(1) およびその他のインプリメンテーション依存のオプションを除去し、ENV(ORGANIZATION(RELATIVE)) で置き換えます。また、ワークステーション VSAM の削除済みレコードにはアクセスできないため、削除済みレコードの検査をすべて除去する必要があります。