Initializing help system before first use

Using Custom Execution Modes from the Model

Within a model you can call insightgetmode to get the execution mode.

You can use this in a switch statement to determine which branch of code to run. As a minimum you must check for the LOAD and RUN execution modes using the constants INSIGHT_MODE_LOAD and INSIGHT_MODE_RUN respectively.

In the example below there are two custom execution modes:
model mymodel
uses "mminsight" 
uses "mmxprs"

!@insight.execmodes.LOAD_ALL.preferredservice=BACKGROUND_SERVICE 
(!@insight.execmodes.LOAD_ALL.descr=Long running background task to load complete data set from 
external datasource !)
!@insight.execmodes.LOAD_ALL.clearinput=true

!@insight.execmodes.EVALUATE_SEGMENTS.threads=1
!@insight.execmodes.EVALUATE_SEGMENTS.preferredservice=FAST_SERVICE 
(!@insight.execmodes.EVALUATE_SEG MENTS.descr=Quick job to evaluate segments. Does not perform any 
optimization !)

!@mc.flush

forward procedure datainput 
case insightgetmode of
  INSIGHT_MODE_LOAD: do
    datainput 
    exit(0)
  end-do 
  "LOAD_ALL": do
    writeln("load all data from external data source") 
    exit(0)
  end-do 
  "EVALUATE_SEGMENTS": do
    writeln("evaluate segments")
  end-do 
  INSIGHT_MODE_RUN: do
    insightpopulate 
  end-do
else
  datainput 
end-case

! load input data 
procedure datainput
  writeln("loading data") 
end-procedure

! create model constraints
! optimize
! post-process results

end-model