| # 監査: 監査設定の最終結果を判断するには 構成をランタイムに変換するときに構成の最終結果を表示するセッションはありません。特定のテーブルやフィールドの最終結果を表示するには、監査テーブルの使用先 (ttaud3521m000) および監査テーブルフィールドの使用先 (ttaud3526m000) セッションを使用できますが、これらのセッションでは、テーブルやフィールドを監査する会社は特定されません。また、`$BSE\lib` ディレクトリの audit cols ファイルに保存された構成の正味結果を表示することもできます。このファイルは簡単に読み取れます。このファイルの情報は、次のようなフォーマットになっています。
    {audit_cols} ::= {line}*
    {line} ::= {tables}:{companies}:{audit_type}
    {tables} ::= '*'|{package}[{module}[{table}]]
    {companies} ::= '*'|{company}[,{company}]*
    {company} ::= (0-9)+(0-9)+(0-9)
    {audit_type} ::= 'C'|'A':[{field_name}[{field_name}]*]
コードは次のように読みます。audit_cols ファイルには 1 つまたは複数の行があります。各行は、1 つまたは複数のテーブル、1 つまたは複数の会社、および監査タイプを指定します。テーブルは ｢*｣ で指定するか、パッケージコード (必須)、モジュールコード (省略可) およびテーブル番号 (省略可) で指定します。｢*｣ を指定すると、全テーブルが選択されます。パッケージコードのみを指定すると、全モジュールの全テーブルが選択されます。モジュールコードを指定し、テーブル番号を指定しない場合、そのモジュールの全テーブルが選択されます。会社は、全会社を指定する ｢*｣ または 1 つまたは複数の会社番号で指定する必要があります。監査タイプは C または A です。監査タイプ C は、フィールドが変更された場合のみトランザクションを記録します。監査タイプ A は、テーブルの任意のフィールドが変更された場合に、常にトランザクションを記録します。オプションで 1 つまたは複数のフィールドを指定できます。フィールドを指定した場合、監査タイプは、そのフィールドにのみ適用されます。フィールドを指定しない場合は、監査タイプは、テーブル内の全フィールドに適用します。フィールドを指定できるのは、行が 1 つのテーブルだけを指定した場合です。 例 `tdsls:*:C` すべての会社 (*) で、このモジュール (tdsls) 内のすべてのテーブルについて、すべてのフィールドが監査されます (フィールド指定なし) が、フィールドが変更された場合に限られます (C)。ただし、主キーのフィールドはデフォルトで常に監査されます。 `tdsls400:500:A:col1,col2` 会社 500 のテーブル tdsls400 について、col1 と col2 のみが監査され、これらは常に監査されます (つまり、このテーブルのあらゆるトランザクションについて)。別の行で `tdsls:*:C` などのように監査を指定しない限り、このテーブルの別のフィールドは監査されません。 注意 フィールドを監査するということは、そのテーブルセルの古い値と新しい値が記録されることを意味します。 キーフィールドは、指定されていない場合を除いて、常に監査されます。各フィールドの監査タイプを定義した場合のみ、キーフィールドを指定しなくても構いません。テーブル全体の監査タイプを定義した場合は、キーフィールドが常に監査され、この設定を変えることはできません。 監査タイプ (A または C) とフィールド指定の関係が分かりにくいかもしれないので、各組合せの意味を以下の表に示します。それぞれの組合せを 2 つの例を使用したテーブルで表しています。以下の略語を使用しています。 C: 列 (指定なし) K: キーフィールド (必須、オプションで指定、または指定なし) R: レコード A: 監査する (A): 指定されている場合は監査する (キーフィールド) T: トランザクション
監査タイプとフィールド指定の可能な組合せ
監査タイプ | すべてのフィールド | 指定フィールド
--- | --- | ---
A | 1 | 2
C | 3 | 4
例 1: テーブルでトランザクションが発生した場合、 関連するレコードのすべてのテーブルセルが 監査されます。
監査タイプ A、すべてのフィールド | K | C | C | C | C | C
--- | --- | --- | --- | --- | --- | ---
R | A | A T | A | A | A | A
R | A T | A | A | A | A | A
例 2: テーブルでトランザクションが発生した場合、 指定した列の関連するレコードの テーブルセルのみが監査されます。
監査タイプ A、指定フィールド | K | C | C | S | C | S
--- | --- | --- | --- | --- | --- | ---
R | (A) |  | T | A |  | A
R | (A) |  |  | A |  | A T
例 3: テーブルのすべての列のすべてのテーブルセルを 監査できますが、実際にはトランザクションが発生した テーブルセルのみが監査されます。
監査タイプ C、すべてのフィールド | K | C | C | C | C | C
--- | --- | --- | --- | --- | --- | ---
R | A |  | A T |  |  |
R | A |  |  |  | A T |
例 4: 指定した列のテーブルセルのみ を監査できます。指定した列でトランザクションが発生した場合に、 テーブルセルが監査されます。
監査タイプ C、指定フィールド | K | C | C | S | C | S
--- | --- | --- | --- | --- | --- | ---
R | (A) |  | T |  |  |
R | (A) |  |  | A T |  |