Initializing help system before first use

insightpopulate

Purpose
This procedure is called to inject the input data from the Xpress Insight scenario into the model's entity data structures.
Synopsis
procedure insightpopulate
procedure insightpopulate(entities:set of string)
procedure insightpopulate(entities:list of string)
procedure insightpopulate(baseidorpath:string)
procedure insightpopulate(baseidorpath:string, entities:set of string)
procedure insightpopulate(baseidorpath:string, entities:list of string)
Arguments
baseidorpath 
The UUID or path of the scenario from which to read. When this parameter is specified, the local model's input entities will be populated from the entities of a different scenario. When not specified, the model's entities will be populated from the input data of the current scenario.
entities 
Set or list of the names of entities to populate. Any entities not in this list will not be populated, except for index sets of array entities in the list.
Example
 procedure loaddata
  writeln('Loading initial input data')
 end-procedure

 procedure solvemodel
  writeln('Constructing and solving model')
 end-procedure

 !@insight.execmodes.LOAD
 public procedure doload
  ! Scenario is being 'loaded' through Xpress Insight
  ! Call user function to initialize input data then terminate
  loaddata
 end-procedure

 !@insight.execmodes.RUN
 public procedure dorun
  ! Scenario is being 'run' through Xpress Insight
  ! Populate with Insight scenario data and solve model
  insightpopulate
  solvemodel
 end-procedure

 !@insight.execmodes.NONE
 public procedure doloadandrun
  ! Model is being run outside of Xpress Insight
  ! Call user function to initialize input data then solve model
  loaddata
  solvemodel
 end-procedure
 insightdispatch
Example of the basic flow of an Insight model, calling loaddata to populate the input data entities when the scenario is loaded or the model is run from outside of Insight, and insightpopulate to populate them when scenario is run within Insight.
Further information
1. If the supplied entity names are not recognized as input entities of the current scenario, the model will abort with an error.
2. When passing the UUID or path to a different scenario to insightpopulate, the other scenario must have identical Insight schema entities to this one. It is recommended that the other scenario be within the same app as this one.
3. When passing the UUID or path to a different scenario to insightpopulate, updates to progress entities of the other scenario made by the insightsendprogress subroutine will not be available.
4. Parameter-type entities are not populated by this function. The parameters are always set to the values for the current scenario at the start of the model; when passing the UUID or path of a different scenario to insightpopulate, the model parameters are not updated.
5. When test mode has been activated by setting the insight_testmode parameter, the 0-argument insightpopulate will invoke the procedure previously configured by calling the insightsetcbpopulate procedure, or do nothing if this has not been called.
6. When test mode has been activated by setting the insight_testmode parameter, the supplied entity names not be validated.
7. When the model is executed outside of an Insight scenario, calling insightpopulate without the baseidorpath parameter will not populate any entities, but will not abort the model with an error.
8. When the model is executed outside of an Insight scenario, calling insightpopulate with the baseidorpath parameter will cause the model to abort with an error, even if test mode has been activated by setting the insight_testmode parameter.
9. When the model is in run mode INSIGHT_MODE_LOAD, calling insightpopulate without the baseid parameter will cause the model to abort with an error.
Related topics

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.