The DELFN function allows you to logically delete fields from an Adabas database file. Logically deleting a field from a file removes the field from the FDT for the file, but does not delete the data in the database. This means that a logically deleted field will not:
appear in data selected by the ADASEL utility.
be decompressed in ADACDC utility runs; the output from the run will not contain logically deleted fields.
be decompressed by ADACMP DECOMPRESS utility runs; the output from the run will not contain logically deleted fields.
But a logically deleted field will:
appear in data unloaded by the ADAULD utility.
be present in ADAORD utility output and the ADAORD STORE utility functions will load the data for logically deleted fields.
Report output produced by the ADAICK FDTPRINT and DSCHECK utility functions lists logically defined fields as asterisks (**). Report output produced by the ADAREP utility identifies and reports on logically deleted fields in the database files. In addition, you cannot use the ADACNV utility to revert to a version of the database older than Adabas 8.2 if logically deleted files exist in the database files.
Warning: ADACMP COMPRESS utility runs that specify an FDT (via the FDT parameter) but do not specify a FORMAT parameter and that run against a file with logically deleted fields require that the data include the values for the logically deleted fields. Failure to include these values could lead to incorrectly compressed records. |
Descriptor fields, parents of descriptor fields, subfields, superfields, phonetic fields, collating fields, and fields in large object (LOB) files cannot be deleted.
This document covers the following topics:
FILE specifies the database file number from which the fields should be logically deleted. The file number may not be the number of a large object (LOB) file; fields in LOB files cannot be deleted.
FIELDLIST specifies a list of one or more fields. At least one field must be specified. If more than one field will be deleted, separate the field names with commas (,). A maximum of 800 fields may be specified. A field may only be listed once in an ADADBS DELFN run.
Descriptor fields cannot be deleted, so they cannot be included in the list. Likewise, parent fields of subdescriptor, superdescriptor, hyperdescriptor, phonetic descriptor, and collating descriptor fields cannot be deleted.
PASSWORD specifies the password of the file containing fields to be logically deleted. This parameter is required if the file is password-protected.
When a parameter error or a functional error occurs while this utility function is running, the utility ordinarily prints an error message and terminates with user abend 34 (with a dump) or user abend 35 (without a dump). If NOUSERABEND is specified, the utility will not abend after printing the error message. Instead, the message "utility TERMINATED DUE TO ERROR CONDITION" is displayed and the utility terminates with condition code 20.
Note:
When NOUSERABEND is specified, we recommend that it be specified
as the first parameter of the utility function (before all other parameters).
This is necessary to ensure that its parameter error processing occurs
properly.
The TEST parameter tests the operation syntax without actually performing the operation. Only the syntax of the specified parameters can be tested; not the validity of values and variables. See Syntax Checking with the TEST Parameter for more information on using the TEST parameter in ADADBS functions.
In the following example, fields AA, AB, and AC are logically deleted from file 12.
ADADBS DELFN FILE=12,FIELDLIST='AA,AB,AC'