UPDDTA(DFU)で監査ログが出力されたり、されなかったりする
現 象
UPDDTA(一時プログラムを使用したデータの更新)にて、DBの更新を行うと、通常、監査ログが出力されますが、しかしそれが出力されたり、されなかったりする場合があります。
原 因
これはDFUにて「監査報告書」を「N」 に指定してデータ更新用PGMを作成してしまったのが原因です。
その情報にひきずられ、UPDDTAのログ(スプールファイルQPDZDTALOG)出力が左右されてしまいます。
DFUで一度ファイルAに対する監査報告書Nのプログラムを作成してしまうと、その後、UPDDTAによるファイルAをはじめとしたその他全てのファイルの更新で、監査ログが出力されなくなります。
また、DFUで監査報告書Nのプログラムを作成した後、監査報告書Yのプログラムを実行しても、UPDDTAの監査ログは出力されることはありません。
解決方法
監査報告書の出力に関する情報は、ユーザー個々に持っているものですので、DFU作成ユーザーと、UPDDTA使用ユーザーを分ければ影響を受けることはありません。
また、同じユーザーでも監査報告書YのPGMの作成を行うと、出力されるようになります。
※BookShelves(ブックシェルフ: AS/400 V3R6 DISC)に、この現象についての記述があります。
5.0 第5章 一時プログラムを使用したデータの更新
本章では、データ・ファイルにデータを迅速に入力する方法について説明します。DFU プログラムを最初に定義する必要はありません。変更しようとするデータ・ファイルを指定すると、DFU が、そのデータ・ファイル用の外部記述ファイル仕様に基づいて、ユーザーに代わって一時プログラムを定義します。データ入力が終了すると、DFU は一時プログラムを削除します。
注:
次の省略時値は、一時プログラムを使用してデータを更新するたびに異なる可能性があります。一般情報の定義画面および監査制御の指定画面(一般情報の定義画面で 監査報告書 が選択されている場合)の Yes および No 値は、ユーザー・プロファイルに保管されるため、新しいプログラムを定義するたびにこれらの値が変わることがあります。ユーザー・プロファイルは、一時プログラムまたは Cl コマンド (CHGDTA, DSPDTA, UPDDTA,DLTDFUPGM,CRTDFUSPF) では更新されません。