I'm not a expert, but I'd look at two possibilities. The first is perhaps the easiest. I assume your code only reads the UNIX file. So I'd load the data into a VSAM ESDS (entry sequenced data set, equivalent to a sequential file). You can then simply EXEC CICS READ it. For better performance, you can make this what is called a CICS Maintained Data Table. That's similar in concept to mmap()ing a UNIX file. There's an entire book on it here:
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dfhf1c00/CONTENTS Another possibility, but more difficult to implement, is to continue to use your UNIX code. This can be done in CICS, but only in what is called an Open Transaction Environment (OTE) or OPENAPI. This environment runs the code on a separate TCB from the normal quasi-reentrant TCB (QR) that most CICS programmers are used to. This requires the program to be written to be threadsafe, which restricts which EXEC CICS functions can be used. And requires more careful coding of the program. Few there are who are really good enough programmers to do it (in my not-so-humble opinion). http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dfha2c00/3.1.1 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dfha3c00/1.2.3.1 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dfhp4c00/1.1.10 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dfha8c00/1.9 I really think the first option is the better of the two because it is more likely to be understood by the average CICS programmer. Good luck! On Sat, 2011-03-19 at 11:03 +0100, Bernd Oppolzer wrote: > Hello, > > we (suddenly) feel the need to give our large insurance math package, > which is written in C, to a fellow company, so that they can use it, too. > > The problem is: the math package needs to do fopen to get access to > some large (kind of) database files, where it gets its calculation base > informations from. Now we are told, that doing fopen below CICS > is a problem. We are no CICS wizards, because we are an IMS shop - > and we are using other techniques in "our" mainframe environment > to do the same thing (a table system using dataspaces, or DB2), but > these techniques are not present in the fellow companies environment, > so we tried the fopen solution in the first turn. > > We also could put all the information in a very large static array, > but this would be many megabytes, and this doesn't seem very > reasonable to us. > > My CICS experience dates back to mid 90s. Could some CICS experts > out there briefly outline some kind of solution, which might not involve > too much changes on our side and not too much configuration effort on > the CICS side? VSAM? DB2? Communication with another address space, > which holds the data? > > Kind regards > > Bernd > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: GET IBM-MAIN INFO > Search the archives at http://bama.ua.edu/archives/ibm-main.html -- John McKown Maranatha! <>< ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

