Key properties define the characteristics of a key in an indexed
file. You define keys in numerical order, starting with 0. By
default, Key 0 always has a value of DATA_AREA 0.
A segmented key allows you to define a key that accesses non-
contiguous fields in a record. You can specify from 2 to 8
segments for each segmented key in an indexed file. For example:
o A field in a record
o A field in a record that is in a record
o A field in a structure in a record
You must specify a segment for each key you define. A segmented
key can contain up to 8 segments.
The field element or elements specified by the keyword SEGMENT
determine the data type of the key. A key with only 1 segment can
point to a field that has any of the following RMS data types:
DSC$K_DTYPE_B
DSC$K_DTYPE_BU
DSC$K_DTYPE_W
DSC$K_DTYPE_WU
DSC$K_DTYPE_L
DSC$K_DTYPE_LU
DSC$K_DTYPE_Q
DSC$K_DTYPE_QU
DSC$K_DTYPE_P
DSC$K_DTYPE_T
See the OpenVMS documentation on RMS for more information on
valid RMS data types.
Each segment of a key can contain up to 255 characters. The
sum of all characters for all key segments must not exceed 255
characters.
When defining a segment, you cannot use a field that is in the
variant portion of a record.
If you specify NULL_VALUE without specifying NULL_KEY, CDO
automatically specifies NULL_KEY. If you specify NULL_KEY without
specifying NULL_VALUE, the default value for NULL_VALUE is
0. When you display a RMS database element with a NULL_VALUE
property, the null value appears as a decimal value.
For a description and valid values for a particular keyword, see
the OpenVMS documentation on RMS.
For a mapping of CDO keywords to symbolics, see RMS_Keyword_
Mapping_Tables.