Allowed Access Changes details the changes that can be made to an Access during an update, reorganization, or modeling process. Numbers in parentheses refer to explanatory notes following the table.
Table 42. Allowed Access Changes
Option |
Model |
Update |
File Format Conversion (No Key Changes) |
Record Format Conversion (Key Changes) |
---|---|---|---|---|
Add disjoint Access for new data set. |
No |
Yes |
Yes |
Yes |
Add embedded Access for new data set. |
No |
Yes (1) |
Yes (1) |
Yes (1) |
Delete existing Access. |
No |
Yes (2,6) |
Yes (2,6) |
|
Change data set referenced by Access. |
No |
No |
No |
|
Change Access key items. |
No |
No |
No |
|
Change ASCENDING/DESCENDING option. |
No |
No |
No |
|
Change DUPLICATES option. |
No |
Yes (3) |
Yes (3,4,5) |
|
Change RECORDCOUNT option. |
No |
No |
Yes |
Yes |
Change MODULUS option. |
No |
No |
Yes |
Yes |
Explanatory Notes
-
A new embedded Access can be added only if both the data set containing the Access and the data set referenced by the Access are new.
-
Existing Accesses can be deleted only if the data set they reference is deleted also.
-
The NO DUPLICATES option can be changed to DUPLICATES FIRST or DUPLICATES LAST. A reorganization is required if NO DUPLICATES is changed to DUPLICATES. No other changes are permitted.
Note: For information on the DUPLICATE options and SINGLEABORT recovery, see “DUPLICATES Option” under “Accesses” in Sets, Subsets, and Accesses. -
The NO DUPLICATES option can be changed to DUPLICATES. However, in the BUILDREORG input, both UPDATE and GENERATE options must be specified for the underlying data set.
-
The DUPLICATES option cannot be changed for an embedded or a manual structure.
-
When the structure with the highest number has been deleted from the database schema (DASDL), the application programs that have not been recompiled might receive an OPEN ERROR 17. The error results from invoking the deleted structure and occurs regardless of whether the application actually uses the structure. OPEN ERROR 17 messages continue to occur as long as the number of the highest structures invoked by the program is greater than the number declared in DASDL.
An error can also occur when the application does not specify the deleted structure for some operation. If a subsequent DASDL update process adds a new structure and reuses the number from the previously deleted structure, the application receives a VERSION ERROR 2.
You can avoid these errors by recompiling the program.