Policy-1
Db2アプリ内のSQLエラーをプログラム変更なしでコントロール
Db2
SQL呼び出しのリターンコード(SQLCODE)は、Db2がバージョンアップするたびに追加変更されます。Db2アプリケーションが新しいSQLCODEを処理できない場合、予期せぬ不具合を引き起こす可能性があります。そのような時、アプリケーションを修正しなければなりません。
Policy-1はDb2アプリケーション内のSQLエラー処理を、アプリケーションプログラムの変更をせずにコントロールする製品です。
Db2リターンコード管理の課題
リターンコードを処理するアプリケーションコードを作成することは、プログラマーにとって時間と生産性を損なうタスクです。アプリケーションプログラムコードの最大80%は、例外や特殊なケースを処理するように記述されている場合があります。
Db2リターンコードには頻繁に発生するもの(SQLCODE = +100:表の終わり等)と、まれにしか発生しないもの(SQLCODE=-913:自動ロールバックを伴わないのデッドロックまたはタイムアウト等)があります。アプリケーションのコードでは、Db2が返す数100のリターンコードコードの内、10%程度の頻繁に発生するリターンコードはチェックされますが、まれにしか発生しない残りの90%のリターンコードはチェックされない可能性があります。
アプリケーション処理の通常の過程では、これは問題ではありませんが、まれにしか発生しないリターンコードが返る場合、本番環境への影響は大きくなる可能性があります。
レガシーアプリケーションには、まれにしか発生しないリターンコード処理の多くが省略されています。考えられるすべてのリターンコードをチェックするようにすべてのアプリケーションを修正することは不可能です。ソースコードにすぐにアクセスできる場合でも、考えられるすべてのリターンコードのテストはプロジェクトとして承認されません。
Db2リターンコードの集中管理
- Policy-1は、オンラインとバッチ両方のDb2アプリケーションに対応する、強力なリターンコードチェックユーティリティです。プログラムを変更することなく、簡単に実装できます。
- Policy-1は、各Db2呼び出しのリターンコードをチェックし、テーブル駆動型メカニズムを通じて、定義された「ポリシー」に従って動作します。リターンコードに応じ、ポリシーごとに、何もせずに処理を継続させたり、リターンコードレポーティングしたり、ABENDさせることが可能です。
- Policy-1は、アプリケーションコードを変更または再コンパイルすることなく、これらの機能を実現しました。必要に応じて、ツールを非アクティブ化でき、アプリケーションに影響を与えることはありません。
- Policy-1を使用すると、開発者はDb2リターンコードを処理するために必要なコードを追加、またはテストする必要がなくなります。アプリケーションコードで処理されない、あまり頻繁に発生しないリターンコードの潜在的な悪影響にさらされることがなくなります。
- Policy-1は、インストール標準に従ってすべてを処理および適用し、アプリケーションにコード化された既存のリターンコード処理に統合します。アプリケーションに余分なコードを記述せず、テストすることなく、特定の各Db2リターンコードを均一に処理できるようになります。将来、新しいリターンコードが新しいDb2バージョンに追加された場合、Policy-1のアクションテーブルにエントリを追加するだけで、すぐに新しいリターンコードをサポートします。
導入効果
- SQL呼び出し用のバッチ、CICS、およびIMS/TMプログラムの共通リターンコード処理を定義および実施できるようにします。
- エラー状況を処理するためにアプリケーションコードを記述してテストする必要がなくなります。
- 考えられるすべてのエラーコードが考慮され、「処理」される準備ができていることを確認します。
- Policy-1を使用すると、すべてのアプリケーションは、新しいバージョンのDb2の新しいリターンコードに関して上位互換性を持つことができます。
主な機能
- アプリケーション・プログラムを変更せずに、TSO、CAF、RRSAF、CICS、およびIMA/TMでDB2SQL呼び出しをサポートします。
- 特定のリターンコードに対するユーザー定義のポリシーに基づき、次のことを実行できます。
- SQL呼び出しからのリターンコードがゼロでない場合は、WTOを発行します。
- 特定のDB2戻りコードを別のユーザー定義のリターンコードに置き換えます。
- 定義されたインストール標準に従ってタスク/プログラムを異常終了します。
- エラー状況をさらに処理するためにサブルーチンを呼び出します。
- ゼロ以外のSQLCODESをPolicy-1ログテーブルに文書化します。 - アプリケーション・プログラムを変更することなく、新しいDB2リリースによって導入された新しいリターンコードをサポートします。
- アプリケーションにすでにコード化されているリターンコード処理に統合します。
動作環境
- z/OS v1.7以上
- Db2 v10,v11,v12における全てのモード
- 静的SQL
- CICS、IMS/TM、IMS/BMP、バッチ