Each object within the Trialex
System has a dependency relationship with other objects. For example, if a SAS
program produces an analysis file, the analysis dataset object is dependent upon the SAS
program. It is very useful to have the dependencies between objects properly managed
since this is used for refreshing and documenting groups of dependent objects.
The Trialex System manages the
dependencies with tools found in the study design area. The tools assist to visually
manage groups of dependent objects known as root objects. For example, a root object
used for analysis files is shown here:

The dependencies can be updated
manually by adding and deleting objects in the diagram to reflect what is being executed.
For more information on how to add and delete objects within the dependency
diagram, refer to the reference documentation.
Since data and programs go through frequent updates, it is recommended to automate
the updates. The auto-update feature is available through an interactive menu
selection or in a batch program. The following section will further describe these
two methods.
Updates to the dependency diagram
can be accomplished automatically through an interactive user interface. The Trialex
System evaluates the log files associated with the program of the current diagram to
determine what is the proper data flow. It will then redraw the diagram reflecting
what has occurred at that moment. This update can be accomplished by doing the
following:
- Select the dependency root object
which needs to be updated through the pull down menu.

- Once the current dependency is
selected, click on the "Auto-Update" button.
- Click on the OK button to confirm
this request from the following dialog box:

A separate process will then start to update the dependency diagram. An email will
be sent to the requestor once this task is completed.
Note that during the refreshing of
a specific dependency object, the dependency diagram is not available for viewing.
For large dependency diagrams, this process may hinder the viewing of the dependency
diagram for longer periods of time. In cases of large dependency diagrams, it is
recommended that the update be done in batch mode and scheduled during off hours for more
optimal usage.
Updates to the dependency diagram
can be accomplished automatically in batch mode. The Trialex System evaluates the
log files associated with the program of the current diagram to determine what is the
proper data flow. It will then redraw the diagram reflecting what has occurred at
that moment. The following section will describe how this can be accomplished in
batch mode and how it can be scheduled.
- Edit a new SAS program and give it
a distinctive name, for example: dependex.sas
- Define a libname inlib
which points to the location of the current study. Invoke the dependex
macro specifying the proper root as shown in this example:
libname inlib 'd:\projectx\studyx';
%dependex (root=Analysis Files);
%dependex (root=Listings);
Note that multiple calls to the macro is recommended for multiple dependency root objects.
- Save this new program and submit it
in batch mode.
- In order for this to be scheduled,
import this program into the program object.
- Schedule this through the refresh method as a regular SAS program.

It is recommended that large
dependency objects be scheduled to be refreshed during off peak times so it spreads out
the load on the server. This will also allow users to view the dependency diagrams
during the day because they are locked during updates. Another advantage to
programming the updates in batch is that multiple root dependency objects can be updated
with one program rather than with many time consuming mouse clicks.
Note that if macros are used in
the programs, the system relies on the use of SAS options MPRINT and MLOGIC to resolve
macro variables. These options needs to be included in the program or else the macro
references will not be captured in the dependency diagrams.
|