Tom Savor wrote: >For us, the programs that run in Batch and Online are DB2 i/o >programs. So your solution wont work for us as SQL and LP(64) >are in-compatible.
Don Poitras wrote: >There is a painful work-around. Use an assembler stub to call the DB2 >API in amode 31. Allocate all storage that will be written to or read >from DB2 in storage allocated below the bar. I've done this in C, so >I have to think it's possible to do in COBOL. I see there is an >ALLOCATE statement that can be used to get dynamic storage below the >bar. In C, we use __malloc31(). > >Of course, it would be much better if DB2 would provide a 64-bit API. >Now that C, COBOL and PL1 are able to run amode=64, I think there's >a good argument to be made that this should be a priority. I personally agree, Don. I encourage RFE submissions: https://www.ibm.com/developerworks/rfe/ The workaround you describe is one option, fairly well traveled. Here are a couple other possibilities that come to mind, "thinking out loud" again: 1. Use an AMODE 64 C or C++ stub that accesses Db2 via the 64-bit ODBC driver, then your AMODE 64 COBOL program interfaces to that stub. There's also an AMODE 31 COBOL -> AMODE 31 C/C++ stub -> AMODE 31 ODBC driver path available. One current, documented limitation here is that data must still fit below the 2GB bar either way. 2. A Java stub (via JDBC), although this one might need a bit of "situationally aware" source code since COBOL's "INVOKE" is not available for use within CICS. 3. The Db2 Native REST Services. -------------------------------------------------------------------------------------------------------- Timothy Sipples IT Architect Executive, Digital Asset & Other Industry Solutions, IBM Z & LinuxONE -------------------------------------------------------------------------------------------------------- E-Mail: [email protected] ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
