How Changing the CA-DATADICTIONARY Database Affects Descriptor Files

Changes That Affect the Descriptor Files

Changes to the CA-DATADICTIONARY database can affect descriptor files. You must fix the descriptors manually if changes to the CA-DATADICTIONARY database invalidate the access or view descriptors. Use the ACCESS procedure to update the access descriptor. Also, update each view descriptor with the ACCESS procedure. You receive a message if the view descriptor differs from the access descriptor. Change the view descriptor as required.
The interface view engine validates a view descriptor when it opens it. If there is a problem, a message is sent to the LOG window and processing stops. Therefore, you must change the descriptor files manually when changes to CA-DATADICTIONARY invalidate them.
  1. When you change the CA-DATADICTIONARY database, you must re-create the access descriptor(s) with PROC ACCESS, using the same name(s).
  2. Then you must update each view descriptor with PROC ACCESS. You get a message if the view descriptor differs from its access descriptor. Change the view descriptor as needed.
  3. The SAS/ACCESS interface view engine does a rudimentary validation of a view descriptor when it opens it. For example, it checks the data type information. If it finds a problem, it writes a message to the log and stops.
Before changing CA-DATADICTIONARY, consider the guidelines discussed in the next three sections.

Changes That Do Not Affect Existing View Descriptors

The following changes to the CA-DATADICTIONARY database have no effect on existing view descriptors:
  • creating or deleting keys, unless you specified a deleted key as the Default Key.
  • adding new fields to a RECORD entity-occurrence.
  • deleting fields not referenced in any view descriptor. (Note that if an access descriptor includes the deleted item, users could eventually create a view descriptor using that item, which would be a problem.)
  • changing element definitions, as long as a set of one or more elements still exists that can satisfy view descriptors. The interface view engine does not require one element per view descriptor; it looks for the best set of elements for each view descriptor.
  • increasing the number of times a field repeats.

Changes That Might Affect Existing View Descriptors

The following changes to the CA-Datacom/DB database might have an effect on existing view descriptors: changing a field name or decreasing the number of times a field repeats.

Changes That Cause Existing View Descriptors to Fail

The following changes to the CA-Datacom/DB database cause existing view descriptors to fail:
  • inserting or deleting another level in repeating fields.
  • changing the attributes of a field. Specifically,
    • You can change the pictures for character fields, but you cannot change them to a numeric type field.
    • You cannot change a numeric data type to a character data type.
  • deleting fields that are referenced in a view descriptor.
The interface view engine validates the view against the current CA-DATADICTIONARY CA-Datacom/DB database and issues an informative error message if it detects discrepancies.