3.10.2 カバレージ情報の管理
カバレージ情報はカバレージ情報ファイル(ascファイル)で管理します。
- 〈この項の構成〉
(1) カバレージ情報ファイルのファイル名と格納ディレクトリ
(a) ファイル名
カバレージ情報はジョブ定義スクリプトとユーザー単位にまとめられます。このため,デフォルトのascファイル名には,ジョブ定義スクリプト名とユーザー名が含まれます。
実行環境の場合,コマンドオプションで任意のascファイル名を指定できます。
エディタの場合,デフォルトのascファイル名となります。任意のascファイル名は指定できません。
デフォルトのascファイル名を次に示します。
ジョブ定義スクリプト名(拡張子を除きます)_ユーザー名.asc
ascファイルの名称のバイト数がOSの上限値を超えた場合,カバレージの取得に失敗します。実行するジョブ定義スクリプトのファイル名の文字数に注意してください。
(b) 格納ディレクトリ
実行環境の場合,デフォルトのascファイルは,コマンド実行時のカレントディレクトリに作成します。
開発環境の場合,Windowsのエディタからカバレージ情報を蓄積しているときは,ジョブ定義スクリプトファイルがあるディレクトリにascファイルを作成します。
(2) ascファイルの更新
ascファイルは,カバレージ情報の蓄積,またはマージ時に更新されます。
ascファイルは複数のユーザーで同時に共用できません。ほかのユーザーで使用中のascファイルを使おうとすると,KNAX6211-Eメッセージを出力してコマンドがエラーとなります。
(3) ascファイルの出力処理
ディスク容量不足などの理由で,ascファイルへのカバレージ情報の書き込みが失敗すると,カバレージ情報が失われます。
指定されたascファイル(デフォルトのascファイル名の場合を含む)がすでに存在する場合,前に採取したカバレージ情報を失わないように,次のようにascファイルが更新されます。指定されたascファイル(デフォルトのascファイル名の場合を含む)は直接更新しません。
-
一時ascファイルに新しいカバレージ情報を出力する。
-
既存のascファイルをバックアップascファイルに変更する。
-
一時ascファイルを指定されたascファイル(デフォルトのascファイル名の場合を含む)に変更する。
-
バックアップascファイルを削除する。
このため,ascファイルへのカバレージ情報の出力処理が途中で終了しても,コマンドの再実行時にカバレージ情報が適切に回復して,コマンドの処理を続行します。
一時ascファイルとバックアップascファイルは,コマンドの処理が正常に終了した場合は残りませんが,ascファイルへのカバレージ情報の出力処理が途中で終了すると残る場合があります。これらのファイルは,コマンドを再実行した場合,またはコマンドを処理して正常に終了した場合,削除されます。
一時ascファイルは手動で削除してもかまいませんが,バックアップascファイルは削除しないでください。削除すると,コマンドがエラー終了する直前までに蓄積してきたカバレージ情報を失うことになります。
カバレージ機能を使用する場合,通常,上記のことを意識する必要はありません。
指定されたascファイル(デフォルトのascファイル名の場合を含む)が,新しいカバレージ情報で更新されたかどうかは,直近のコマンドの実行で,KNAX6242-Iメッセージの出力の有無で判断できます。KNAX6242-Iメッセージを出力した場合,指定されたascファイル(デフォルトのascファイル名の場合を含む)の内容は,新しいカバレージ情報で更新されています。
(4) ascファイルに関連するファイル名
カバレージ情報をascファイルに採取するとき,一時的に格納するファイルを作成します。このファイルを一時カバレージ情報ファイル(一時ascファイル)と呼びます。
- 一時ascファイルのファイル名
-
次のように,ファイル名の先頭部分が固定の文字列となります。
-
adshexecコマンドの場合:adshexec_temp_任意
-
- バックアップascファイルのファイル名
-
ascファイルを一時的にリネームするファイル名(バックアップascファイル)は次のようになります。
-
adshexecコマンドの場合:adshexec_backup_任意
-
コマンドの引数に指定するascファイル(デフォルトのascファイルを含む)は,前述したファイル名がOSが許容するパス名の最大バイト数以下となるように指定する必要があります。
コマンドの実行中に処理がキャンセルされると,一時ascファイルとバックアップascファイルが残ることがあります。残ったファイルの扱いを次に示します。
-
一時ascファイルが残っていても,コマンドを再実行できます。なお,一時ascファイルは手動で削除して再実行することもできます。
-
バックアップascファイルが残っている場合は,このバックアップファイルを削除しないでください。残っているバックアップascファイルは,adshexecコマンドが自動的に元のascファイル名に戻してカバレージ情報を採取します。また,手動で元のascファイル名に戻して再実行することもできます。
一時ascファイル,バックアップascファイルと同じ名称を持つユーザーファイルを作成しないでください。ascファイルと同一のディレクトリに,ascファイルに対応する一時ascファイルと同名のファイルがあると削除されます。ascファイルに対応するバックアップascファイルと同名のファイルがあると,ascファイルと扱ったり,削除されたりします。
(5) 一時ascファイルとバックアップascファイルの使用
実行環境では,adshexecコマンドの-tおよび-dオプションの指定によって,一時ascファイルとバックアップascファイルを使用するかどうかが変わります。実行環境での一時ascファイルとバックアップascファイルの使用を次の表に示します。
adshexecコマンドのオプション |
Windows |
UNIX |
|||
---|---|---|---|---|---|
-t |
-d |
一時ascファイル |
バックアップascファイル |
一時ascファイル |
バックアップascファイル |
なし |
なし |
× |
× |
× |
× |
なし |
あり |
− |
− |
○ |
× |
あり |
なし |
○ |
○ |
○ |
○ |
あり |
あり |
− |
− |
○ |
○ |
Windowsの開発環境では,[実行環境の設定]ダイアログボックスで指定する「カバレージの蓄積」の指定によって,一時ascファイルとバックアップascファイルを使用するかどうかが変わります。開発環境での一時ascファイルとバックアップascファイルの使用を次の表に示します。
「カバレージの蓄積」の指定 |
Windowsの開発環境(エディタ) |
|
---|---|---|
一時ascファイル |
バックアップascファイル |
|
蓄積しない |
× |
× |
蓄積する |
○ |
○ |
蓄積する(ジョブ定義スクリプトファイル更新時はカバレージ情報ファイルを上書き) |
○ |
○ |
(6) コマンドと一時ascファイル
コマンドの実行時,一時ascファイルを作業ファイルとして使用します。コマンドの実行前に一時ascファイルと同名のファイルがすでに存在する場合は,削除します。
(7) adshexecコマンド実行時のascファイルの処理方法
adshexecコマンド実行時のascファイルの処理方法は,次のようになります。
コマンド起動時の状態 |
コマンドの処理 |
|||
---|---|---|---|---|
job.asc |
adshexec_backup_job.asc |
job.asc |
adshexec_backup_job.asc |
ascファイルの状態と処理方法 |
× |
× |
新規作成 |
なし |
新旧のascファイルがない状態です。 ascファイルを新規に作成します。 |
× |
○ |
なし |
job.ascへ名称を変更 |
旧ascファイルjob.ascをバックアップファイルadshexec_backup_job.ascに名称を変更した状態です。 バックアップascファイルadshexec_backup_job.ascから,ascファイルjob.ascを回復します。 |
○ |
× |
このファイルを使用 |
なし |
job.ascは,旧ascファイル,新ascファイルのどちらかです。 新ascファイルである場合,直前の実行でKNAX6242-Iメッセージを出力しています。 |
○ |
○ |
このファイルを使用 |
このファイルを削除 |
job.ascは新ascファイル,adshexec_backup_job.ascは旧ascファイルです。 旧ascファイルであるadshexec_backup_job.ascを削除します。 新ascファイルであるjob.ascを使用します。 |