IMS データベースへのアクセスには、Java または COBOL のどちらかだけを使用することも、両方の言語を併用することもできます。
制約事項: IMS Java 従属領域で稼働する COBOL ルーチンでは、現在、DB2 データベース・アクセス用の EXEC SQL ステートメントはサポートされていません。
推奨: Java と COBOL の両方から同じデータベース・プログラム連絡ブロック (PCB) にアクセスしないでください。 アプリケーションの Java 部分と COBOL 部分は、同じデータベース位置を共用します。アプリケーションのある部分での呼び出しでデータベース位置が変化すると、アプリケーションの別の部分でのデータベース位置に影響があります。 (アプリケーションの影響を受ける部分が同じ言語で記述されていても、異なる言語で記述されていても、この問題は発生します。)
混合アプリケーションの Java コンポーネントが SQL SELECT 節を作成し、Java Database Connectivity (JDBC) を使用して、IMS データベースを照会して結果を取り出すものとします。IMS Java クラス・ライブラリーは、IMS に対する適切な要求を構成し、データベースの正しい位置を確立します。その後、セグメント検索引数 (SSA) を作成し、同じデータベース PCB に対する GU (Get Unique) 要求を IMS に対して発行する COBOL メソッドを呼び出すと、おそらく、その PCB に対するデータベース中の位置がその要求によって変化します。この場合、 最初の SQL SELECT 節を使用してさらにレコードを取り出そうとする後続の JDBC 要求は、データベース位置が変化しているため誤りになります。複数の言語から同じ PCB にアクセスする必要がある場合は、言語間呼び出しの後で、データベースのレコードにさらにアクセスする前に、データベース位置を確立し直してください。
関連タスク
IMS Java 手引きおよび解説書