View previous topic :: View next topic
|
Author |
Message |
harshal
New User
Joined: 29 Dec 2005 Posts: 21
|
|
|
|
Hi,
1)
I have an online program which reads a VSAM online dataset and puts it into the main memory of CICS and this main memory and then used for further processing.
I want to do the following now,
I want to have a transaction which will be used to update the VSAM file and at the same time it will also put it into the main memory so that my online program can read the main memory of CICS.
Please help on this.
2) I have one program that reads a VSAM file multiple times. Is there any utility provided by CICS or some VENDOR or anything that can solve issue of multiple reads as it is a great performance issue.
Please help me on these two points. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10872 Location: italy
|
|
|
|
Hi !
in order to answer at the right wording level we ( forum lurkers ) would like to know the skill level of the initial requestor :-)
the way You posed the questions seems to imply a very basic level of skill ( no offense meant )
1)
the syntax for reading a record as far as the issue being discussed is concerned is
Code: |
EXEC CICS READ FILE(filename) INTO(data-area) ... other parameters not influent
|
at this point the "data-area" containing the record just read is available to Your program for the duration of the transaction
so all Your doubt about main memory reading and so on should not be a problem
2)
why do You feel that reading a VSAM file multiple times should have any performance issues ??
do You have any documented evidence of it
sometimes what is felt as a performance issue is just a "process definition" issue which cannot be otherwise optimized
regards
e.s |
|
Back to top |
|
|
munikumar Currently Banned New User
Joined: 18 Apr 2007 Posts: 24 Location: India
|
|
|
|
In CICS, we have two different system tables
1. CICS maintained data tables (CMT)
2. User maintained data tables (UMT)
A data table is a VSAM KSDS file mapped to a MVS data space. CICS copies the contents of the data set into an MVS data space when the file is opened and uses that copy whenever possible.
The KSDS is called the source data set. The copy in memory is called the data table.
When the file is read by a CICS application, the record is normally retrieved from the data table.
When the file is updated by a CICS application, the effect depends on the type of data table that you have defined for the file.
A CICS-maintained data table is a data table whose records are automatically reflected in the source data set; when you update the file, CICS changes both the source data set and the data table.
A user-maintained data table is a data table whose records are not automatically reflected in the source data set; when you update the file, CICS changes only the data table.
A user-maintained data table lets you optimize the benefits of using a data table by allowing you to eliminate activity on the source data set, for update requests as well as read requests.
A small number of file operations are not supported for user-maintained data tables. Thus, you might need to make minor changes to existing application programs.
The source data set must be a base VSAM KSDS, not an alternate index. However, updates made to the KSDS via an alternate index are reflected in a CICS-maintained data table.
The VSAM definition of the KSDS supplies the values for maximum record length and key length.
All CICS file control commands can be used in applications that access a CICS-maintained data table. This means that the benefits of data tables can be obtained immediately without any changes to existing applications.
The use of an on-line VSAM file will reflects based on SHAREOPTS.
I hope the above information will give you some idea on file processing in on-line applications.
Regards
Munikumar G |
|
Back to top |
|
|
harshal
New User
Joined: 29 Dec 2005 Posts: 21
|
|
|
|
Thanks a lot. It was really very useful |
|
Back to top |
|
|
|