Page 1 of 2

Complete data table in CICS program memory

PostPosted: Tue Jul 16, 2013 8:39 am
by MFUser1
Hi, We have a requirement to keep a complete table of values in CICS program memory and use the values as and when needed in the program instead of keeping the values in a VSAM file and making multiple reads to it. Can somebody point me to possible ways of doing it ? Should we use a TDQ ?

Thanks.

Re: Complete data table in CICS program memory

PostPosted: Tue Jul 16, 2013 12:21 pm
by mongan
You need to supply a lot more information. First, it sounds like a bad idea. How big is the table ? Will it be updated ? How are you planing on doing it, how will you load the table, ....

Re: Complete data table in CICS program memory

PostPosted: Tue Jul 16, 2013 12:27 pm
by MFUser1
It sounded like a bad idea to me too. I was storing the data in a VSAM file and accessing the required records. But people in my shop want me to investigate ways to do it without using a VSAM. They keep saying keeping the table in memory is faster than reading VSAM from DASD.
1. The table will have less than 20 records.
2. It may be updated by a batch process but very infrequently like once a month.
3. Somebody suggested something called PCD table in CICS which can be loaded with the data and it will be available in program memory for use. I havent heard of PCD tables earlier and not sure how it is loaded or used in a CICS COBOL program.

Thanks.

Re: Complete data table in CICS program memory

PostPosted: Tue Jul 16, 2013 1:51 pm
by Monitor
What makes you think a TDQ is CICS-memory?
If you want to have the file/table in memory, you can always load it at CICS statup-time in e.g Common Work Area (CWA) using a PLT-program. Then it is easily accessed by just a CICS ADDRESS CWA(cwa-ptr).

Re: Complete data table in CICS program memory

PostPosted: Tue Jul 16, 2013 9:07 pm
by dick scherrer
Hello,

Are these 20 records/rows read-only for this process?

If there are to be cumulative updates throughout the time period, what will keep track of the changes if there is a crash of that program?

Re: Complete data table in CICS program memory

PostPosted: Wed Jul 17, 2013 5:19 am
by MFUser1
Hello, Yes these 20 records will only be for read only purpose in online. They may be updated by a batch process once a month.

Re: Complete data table in CICS program memory

PostPosted: Wed Jul 17, 2013 6:59 am
by dick scherrer
Hello,

Then keeping them in memory for reference should be no problem.

Good luck!

Re: Complete data table in CICS program memory

PostPosted: Wed Jul 17, 2013 7:19 am
by MFUser1
Thanks Dick. The thought is that keeping them in memory rather than in a VSAM file should make the response time smaller. As suggested above, I am exploring the option to load into Common Work Area (CWA) using a PLT-program.

At the same time, I was also exploring of using a VSAM file but defining it as a CICS data table. Should that be an efficient solution ? Because data table is loaded from the source VSAM dataset and CICS file reads would take data from the data table in memory rather than from the DASD.

Re: Complete data table in CICS program memory

PostPosted: Wed Jul 17, 2013 7:41 am
by dick scherrer
Hello,

I suspect you will get the best performance by having the table in memory.

If you want to see if there is any performance difference, try multiple ways, but make sure the number of iterations is enough to see a difference.

Re: Complete data table in CICS program memory

PostPosted: Thu Jul 18, 2013 7:13 am
by MFUser1
Hello Dick, In case of CICS maintained data table, if the source VSAM dataset is updated by a batch process how does it get reflected in the data table maintained in virtual storage?