Accessing databases
You can use either Java™, COBOL, or a mixture of the two languages to access IMS databases.
Limitation: EXEC
SQL
statements for Db2® database access are not supported in COBOL
routines that run in a Java dependent
region.
Recommendation: Do not access the same database program communication block (PCB) from both Java and COBOL. The Java and COBOL parts of the application share the same database position. Changes in database position from calls in one part of the application affect the database position in another part of the application. (This problem occurs whether the affected parts of an application are written in the same language or in different languages.)
Suppose that a Java component
of a mixed application builds an SQL SELECT
clause
and uses Java Database Connectivity
(JDBC) to query and retrieve results from an IMS database. The Java class libraries for IMS construct the appropriate request
to IMS to establish
the correct position in the database. If you then invoke a COBOL method
that builds a segment search argument (SSA) and issues a GU
(Get
Unique) request to IMS against
the same database PCB, the request probably altered the position in
the database for that PCB. If so, subsequent JDBC requests to retrieve
more records by using the initial SQL SELECT
clause
are incorrect because the database position changed. If you must access
the same PCB from multiple languages, reestablish the database position
after an interlanguage call before you access more records in the
database.
IMS Application Programming Guide