CA Datacomデータベースに対して、追加(ADD)・削除(DELETE)等のレコード更新処理を行った後、DBUTLTYユーティリティのCXXレポート(FAQ文書:「CXXファイル内の情報をレポートする⽅法はありますか?」)によりレコード件数を確認したところ、更新前のレコード件数と同じで更新処理によるレコード件数の増減分が正しく反映されていないように見えるが、その理由を教えてください。
OS: z/OS
DBUTLTYユーティリティのCXXレポート機能は、CXXエリアのディスク・ファイル内にある各データベース情報(レコード件数も含む)を参照してレポート出力します。
MUFタスクを起動時、CXXエリアのディスク・ファイルから仮想メモリに各データベース情報(レコード件数も含む)をコピーします。
MUFタスクが起動中、データベースへの追加(ADD)・削除(DELETE)等のレコード更新処理に対して、仮想メモリ内の当該データベース情報のレコード件数を更新しますが、同時にCXXエリアのディスク・ファイルへ更新したレコード件数の書込みはしません。
したがって、MUFタスクが起動中に特定のデータベース(DBID=nnn)に対して最新のレコード件数をCXXレポートにより確認するには、以下のDBUTLTYユーティリティのSYSINパラメータ指定により、仮想エリアからCXXエリアのディスク・ファイルへ書込む方法があります。
1) データベースを一旦クローズして仮想エリアからCXXエリアのディスク・ファイルへ書込む方法
//SYSIN DD *
COMM OPTION=CLOSE,DBID=nnn
REPORT AREA=CXX,DBID=nnn,TYPE=A
または
REPORT AREA=CXX,DBID=nnn
ACCESS STATUS=WRITE,DBID=nnn
/*
2) 即時に仮想エリアからCXXエリアのディスク・ファイルへ書込む方法
//SYSIN DD *
COMM OPTION=STATS,DBID=nnn
REPORT AREA=CXX,DBID=nnn,TYPE=A
または
REPORT AREA=CXX,DBID=nnn
/*