Research Division EED/Controls Software<P> Release Note 47.0<P> <b> AUTO LOAD:</b> EPICURE Static Relation Loader<P> V1.0

Research Division EED/Controls Software

Release Note 47.0

AUTO LOAD: EPICURE Static Relation Loader


David M. Kline

The EPICURE Central Database consists of several relations that change infrequently and are used mainly for reporting purposes. These relations are termed as ``static'' due to their infrequent modification. The AutoLoad application is a product of the EPICURE control system and provides a means for automatically loading the static relations. This document provides a description of the product and its operation.

Product Description

The EPICURE control systems AutoLoad application is a product that maintains the static relations that exist in the central database. The purpose of this application is to provide an automatic means of populating the static relations, reduce the screens and logic required by the database-o-matic product, and eliminate the responsibility of the transaction sequencer to provide special functions to maintain the relations. AutoLoad has been implemented using the DCL command language and executes as a batch job using the ``everynite'' utility supported by the control system.


The AutoLoad product attempts to startup by initially translating a logical and searching for a ``boot/configuration'' file name that has been equated to a symbol within the command procedure. If the logical fails to translate AutoLoad will write an error message in its logfile and terminate execution. Furthermore, if the logical does translate but the ``boot/configuration'' file can not be found, AutoLoad writes the appropriate error message into its logfile and terminates execution. However, if the ``boot/configuration'' is found, AutoLoad begins a configuration phase by reading each line of the file and interpreting keywords and data in order to setup a default environment. Data within the file consists of other logicals and file names which contain additional data that AutoLoad uses to populate the static relations. Part of the configuration requires that AutoLoad determine what batch queue to use. The configuration file contains a keyword that identifies another file which lists the batch queue names available that are licensed to execute the VAX-Rdb Relational Database Operator (RDO) layered product. AutoLoad reads each queue name until it has found one that is neither stopped nor stalled. In the event that a batch queue can not be found, AutoLoad writes an error message to its logfile and terminates the command procedure. However, if the batch queue is found, AutoLoad defines it as the one that will be used for the static relation updates. Additionally, the file containing the batch queue list, is maintained by the Rdb administrator. Batch queues are added, modified, or deleted by the administrator editing the file. The new/modified batch queues will then be used for when AutoLoad executes next.

The configuration phase identifies a ``static relation names'' file that determines which relations are to be populated and the file name that contains the new data to load. After AutoLoad verifies the existence of the ``static relation names'' file it is opened for read access. Each line of the file consists of elements which identify the internal function name AutoLoad will execute, the data file which contains the relation data to load, the location of the data file, the current relation name, and the batch file name that is used to perform the actual updates.

The function name identifies which function AutoLoad will execute internally. It also acts as a keyword as to which relation will be populated. If AutoLoad encounters a function name that has not been implemented, an error message is written to the logfile. Processing will continue however since the error is not fatal. The data file name element identifies the file name containing the actual data to be loaded into the static relations. These data files are maintained by individuals who have been assigned the responsibility of the static relations. In order to change the data in the static relations, the responsible individual will modify the file data so the next time AutoLoad executes, the modified contents will be loaded. If the individual requires that the modifications be performed immediately, they may contact the Rdb administrator to startup AutoLoad. The data file location is a logical that points to the directory of where the data file can be found . This element has not been implemented and is intended for future use. The database relation name is used by AutoLoad internally to supply the appropriate data to generic functions.

AutoLoad uses the data file name to retrieve the information that gets loaded into the identified static relation. It maps the data into a series of RDO commands and creates an RDO command procedure using the batch file name element. After the batch file is completely written, it is closed and submitted as a batch job using the batch queue name that was identified during the ``boot/configuration'' phase. AutoLoad creates and submits a batch job for every entry in the ``static relation names'' data file. The ``static relation names'' data file is closed after all the lines have been processed and jobs are submitted to the batch queue. AutoLoad attempts to synchronize with the batch job loading a specific relation in order to submit another batch job to generate a report of the information contained in the relation. These reports are to be electronically mailed to the individuals who are responsible for the static relations on a monthly basis. AutoLoad continues to synchronize and submit reporting batch jobs until all static relations are modified.


The AutoLoad application works in conjunction with the ECDBmailer application. The AutoLoad application, through batch jobs, provide the mailer with current reports of the static relations. The function of the ECDBmailer application is to provide reports to the individuals who are responsible for the static relations on a monthly basis.

Security, Privacy, Legal