Page 1 of 1

About update parameter of define path

PostPosted: Sun Jun 19, 2011 6:33 pm
by Pumpkin
hi,
i have some confuse about define aix's parameter upgrade/noupgrade and define path'parameter update/noupdate.
if i change the record of cluster, and the aix's parameter is noupgrade,the path's parameter is update, the change didn't reflect in the aix.
if i change the record of cluster, and the aix's parameter is upgrade, the path's parameter is noupdate, the change reflect in the aix.
help to explain,thanks!

Re: About update parameter of define path

PostPosted: Sun Jun 19, 2011 7:24 pm
by Robert Sample
From the AMS for Catalogs manual on the DEFINE PATH command:
UPDATE specifies that, when records in the base cluster are modified or deleted, or when records are added to the base cluster, each alternate index in the base cluster's upgrade set is modified to reflect the change in the cluster's data, just as a key-sequenced cluster's index is modified each time the cluster's data changes. Abbreviation: UPD NOUPDATE specifies that, when opening the path, the path's base cluster is to be allocated and the base cluster's upgrade set is not to be allocated. You can specify the NOUPDATE attribute for the path even though the UPGRADE attribute is set for one of the base cluster's alternate indexes. When a path points to a base cluster that has a large upgrade set (that is, many alternate indexes are associated with the base cluster), and the path is defined with the NOUPDATE attribute, you can open the path, and consequently the base cluster, and none of the alternate indexes will be opened. NOUPDATE will be overridden by opening the path, allowing sharing of a control block structure that permits UPDATE. Abbreviation: NUPD
so the behavior you saw is exactly what the manual describes.

Re: About update parameter of define path

PostPosted: Mon Jun 20, 2011 5:24 am
by Pumpkin
thanks,Robert.
i have checked manual,but still not fully understand, the manual says"update|noupdate specifies whether the base cluster's upgrade set is to be allocated when the path is opened for processing", what does this mean?
i thought whether the change of base cluster will reflect in aix, it depends on define aix's parameter upgrade\noupgrade, if set to upgrade, whether path set to update or noupdate, the change will reflect in the aix, so don't see the purpose of this paramter.

Re: About update parameter of define path

PostPosted: Wed Jun 22, 2011 6:17 pm
by Robert Sample
From the CICS Information Center, CICS Functions manual:
VSAM allows KSDS and ESDS (but not RRDS) data sets to have alternate keys. When the data set is created, one secondary or alternate index is built for each alternate key in the record and is related to the primary or base key. To access records using an alternate key, you must define a further VSAM object, an alternate index path. The path then behaves as if it were a KSDS in which records are accessed using the alternate key.

When you update a record by way of a path, the corresponding alternate index is updated to reflect the change. However, if you update the record directly by way of the base, or by a different path, the alternate index is only updated if it has been defined to VSAM (when created) to belong to the upgrade set of the base data set. For most applications, you probably want your alternate index to be in the upgrade set.

A CICS application program disregards whether the file it is accessing is a path or the base. In a running CICS system, access to a single base data set can be made by way of the base and by any of the paths defined to it, if each access route is defined in the file control table (FCT).

It is also possible for a CICS application program to access a file that has been directly defined as an alternate index rather than a path. This results in index data being returned to the application program rather than file data. This operation is not supported for files opened in record-level sharing (RLS) mode.
I flagged the key part in red.

Re: About update parameter of define path

PostPosted: Sat Jun 25, 2011 6:44 am
by Pumpkin
thanks,Robert.
i haven't learned CICS, so my way to test is using Repro command to add records to base or path. strangely,the result is just opposite. i define one aix,set aix's parameter to upgrade,and define its path, set path's parameter to noupdate.
1, i use Repro command to add two records through path(outdataset(pathname)), then i use Print command to print the base and path. the new two records only appear in the base ,not in the path.
2, the same way as above, just change using Repro to add two records to base,print result is both base and path has the new two records .

Re: About update parameter of define path

PostPosted: Sat Jun 25, 2011 7:52 am
by dick scherrer
Hello,

So, you are "good to go" for now?

d