SQL呼び出しのリターンコード(SQLCODE)は、Db2がバージョンアップするたびに追加変更されます。Db2アプリケーションが新しいSQLCODEを処理できない場合、予期せぬ不具合を引き起こす可能性があります。そのような時、アプリケーションを修正しなければなりません。Policy-1はDb2アプリケーション内のSQLエラー処理を、アプリケーションプログラムの変更をせずにコントロールする製品です。Db2リターンコード管理の課題リターンコードを処理するアプリケーションコードを作成することは、プログラマーにとって時間と生産性を損なうタスクです。アプリケーションプログラムコードの最大80%は、例外や特殊なケースを処理するように記述されている場合があります。+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リリースによって導入された新しいリターンコードをサポートします。アプリケーションにすでにコード化されているリターンコード処理に統合します。有効にする必要があります。