12.9.2 ファイルに関する注意事項
- 〈この項の構成〉
(1) DAMファイル・TAMファイルの排他
DAMファイルやTAMファイルの排他は,ファイル単位で行います。このため,本来なら並行に動作してもデッドロックしないUAP間(同じDAMファイルの別ブロックをブロック排他するUAP間など)で,デッドロックが発生することがあります。
この場合,次のように処理して対処してください。
-
オフラインテスタ環境定義の指定で排他を抑止します。
-
utfstartコマンドの-cオプションの指定で更新を抑止します。
-
オフラインテスタ開始後にstartサブコマンドでUAPを順に起動して,UAPを並行動作させないようにします。
(2) DAMファイルの一括処理ブロック数
オフラインテスタでは,dc_dam_create関数およびdc_dam_iopen関数発行時に設定される一括処理ブロック数の値に関係なく,1ブロック単位で処理します。ただし,0より小さい値では処理されません。
(3) DAMファイル・TAMファイルのクローズ処理
dc_dam_open関数またはdc_tam_open関数を発行したあとは,必ずdc_dam_close関数またはdc_tam_close関数を発行してください。
dc_dam_close関数またはdc_tam_close関数を発行しないままサービスグループが終了した場合,そのサービスを再度実行すると,DAM(TAM)ファイルの二重オープンエラーや,排他エラーが発生することがあります。
この場合は,stopサブコマンドで該当するサービス(グループ)を停止し,startサブコマンドで再度起動してください。
(4) COBOL UAPでのTAMファイルの排他
COBOL言語のUAPでは,TAMファイルは排他しません。COBOL言語を使用してUAPを作成する場合は,オフラインテスタ環境定義のTAMファイルの定義で,排他の抑止を指定してください。排他の抑止を指定しないと,TAMファイルにアクセスするサービスを再度実行した際に,排他エラーが発生することがあります。
この場合は,stopサブコマンドで該当するサービス(グループ)を停止し,startサブコマンドで再度起動してください。