How an Application Uses a Data Source Description

Master Files and Access Files are stored separately, apart from the associated data source. Your application uses a data source Master File (and if required, the corresponding Access File) to interpret the data source in the following way:

  1. Identifies, locates, and reads the Master File for the data source named in a request.

    If the Master File is already in memory, your application uses the memory image and then proceeds to locate and read the data source.

    If the Master File is not in memory, the application locates the Master File on a storage device and loads it into memory, replacing any existing Master File in memory.

    If your Master File references other data sources as cross-referenced segments, or if a JOIN command is in effect for this file, the cross-referenced Master Files are also read into memory.

  2. If there is a profile for the Master File, indicated by the presence of the MFD_PROFILE attribute in the FILE declaration, that profile is executed.
  3. Reads the security rules if Information Builders data source security (DBA) has been specified for the data source, and ensures that user access is allowed based on any DBA security specified.
  4. Locates and reads the Access File for the data source named in the request, if that data source requires an Access File.
  5. Locates and reads the data source.

    The data source contents are interpreted based on the information in the Master File and, if applicable, the Access File.

Note: You can encrypt a Master File using the ENCRYPT command described in Hiding Restriction Rules: The ENCRYPT Command. However, the first line of a Master File that is going to be encrypted cannot be longer than 68 characters. If it is longer than 68 characters, you must break it up onto multiple lines.