ここでは、ファイル操作のトレースのために用意された機能の使用法について説明します。これらの機能は、ファイル処理の問題での調査に役立ちます。
ファイル ハンドラーの機能のファイル操作のトレースでは、次の操作を行うことができます。
ファイル ハンドラー構成パラメーターの TRACE、TRACEFILEEXTEND、TRACEFILENAME、LOG および LOGFILENAME を使用して、トレースとログのアクティビティを次のように制御します。
TRACE と LOG は、グローバルにまたは個別のファイルに設定することができます。TRACEFILEEXTEND、TRACEFILENAME、および LOGFILENAME は、グローバルにしか設定できません。
構成オプションをグローバルに設定する方法や個別ファイルに設定する方法の詳細については、『ファイル ハンドラーの構成』の章の『構成ファイル』の項を参照してください。
次に構成ファイルの例を示します。
[XFH-DEFAULT] TRACE=OFF TRACEFILENAME=c:\trace\mftracefile.xfh TRACEFILEEXTEND=ON LOG=ON LOGFILENAME=c:\temp\mflogfile.log [datafile1.dat] TRACE=ON [datafile2.dat] LOG=OFF
この例では、ファイルトレースはグローバルにはオフ、datafile1.dat データファイルに対してはオンです。新しいトレースレコードは、既存のトレースファイル c:¥trace¥mftracefile.xfh がある場合、このファイルに追加されます。 ログは、グローバルではオン、データファイル datafile2.datに対してはオフです。
注: トレースファイルのサイズが 4 GBを超える場合は、構成オプションの FILEMAXSIZE=8 および IDXFORMAT=8 も指定する必要があります。
FCD に適切なフラグを設定するか、ライブラリ ルーチンを使用するかで、COBOL プログラム内からトレースのオン/オフを切り替えることができます。 これは、アプリケーションの動作のサブセットで、ファイル処理の問題に対処したい場合に便利です。 FCD フラグを設定する場合は、特定のファイルに対してこれを行います。 ライブラリ ルーチンを使用する場合は、トレース設定は、その時点以降のプログラムで実行されるすべてのファイル操作に影響します。
動的トレースを実行する場合には、2 つのフラグを同時に使用します。 これは、READ や WRITE などのファイル操作をトレースするには、OPEN 操作がトレースされている必要があるためです。 トレースをオフにしてプログラムを起動し、ファイルを開いた後に動的にトレースをオンにした場合、トレースの仕組みでは、後続の操作をトレースすることはできません。 最も良い方法は、プログラムの始めに OPEN と CLOSE の動的トレースをオンにしてから、すべての操作のオン/オフを必要に応じて切り替えることです。 OPEN 操作と CLOSE 操作のトレース自体もまた役に立つことがあります。
FCD フラグを使用するには、FCD にアクセスする必要があります。『ファイル ハンドラーとソート API』の章の『FCD へのアクセス』の項を参照してください。
ファイルのトレースは FCD 内の 2 つのフラグビットの設定によって制御されます。
これらのビット設定は、個別のファイルのトレースを制御するために必要に応じて変更できます。
ライブラリ ルーチンでは、FCD を持っていない場合でも、FCD フラグを設定するのと同様にトレースを操作することができます。 ライブラリ ルーチンを使用して変更したトレース動作はすべて、これ以降にアクセスするすべてのファイルに影響します。
トレースを制御するには、MFFH_MODIFY_TRACE ライブラリ ルーチンを呼び出します。次の設定ができます。
設定したすべての変更を無効にするには、ライブラリ ルーチンの MFFH_MODIFY_DISABLE を呼び出します。
詳細については、ヘルプトピック 『MFFH_MODIFY_TRACE』および 『MFFH_MODIFY_DISABLE』を参照してください。