🚀 Welcome to MDriven Learn –  Don’t miss the latest Release Notes.
Server Wide Variables

In the MDrivenServer, you can declare Server Wide Variables. This is useful if you want access to global variables in your ServerSide ViewModels for a different purpose. Remember to click Submit to save your Server Wide Variables.

When you want to access your Server Wide Variables, add the variables with the same names as the Server Wide Variables to your ServerSide ViewModel. When the ServerSide ViewModel runs on the server, you will find the matching variable by name. In your ServerSide ViewModel, the Server Wide Pre EAL will execute before the rest of your job actions.

This is a practical way to give your jobs environment-specific information.

The normal use case is to inform jobs that this is a Production environment and every action can be executed, or that this is NOT a production environment and, thus, you may want to hold off on exporting data or maybe export data to a different external system than the one you use in production.

Special Variables - vServerRestartedTime and vSkipQueryAndSkipJob

If you declare a variable vServerRestartedTime:DateTime, this will be set to the time when the system was most recently restarted because of a model evolution or some external event that killed the application. Use this as a flag to execute a job depending on whether this value is new compared with what you saw before—or log restarts of your system.

If you declare a Serverside ViewModel variable named vSkipQueryAndSkipJob:Boolean - and this happens to evaluate to true - the PS-query for the job is skipped.

This new variable would make it possible to execute a job only 1 time after the system starts - consider this for Job EAL code:

vSkipQueryAndSkipJob:=SysSingleton.oclSingleton.LastTimeTheInitJobWasExecuted>vServerRestartedTime  -- remember to set SysSingleton.oclSingleton.LastTimeTheInitJobWasExecuted in the initjobb to DateTime.Now