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

Reply via email to