Updating Dependency Information

 

What is Dependency Information?

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:

dependency1.jpg (36344 bytes)

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.

Updating Dependencies Interactively

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.
    dependency2.jpg (16617 bytes)
  • 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:

    depend_confirm.gif (2961 bytes)

    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.

Updating Dependencies in Batch Mode

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. 

    dependency3.jpg (49020 bytes)

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.

 

 
     Meta-Xceed Inc.© 2007