Initializing help system before first use

# Loading and Capturing Partial Data Sets

By default, the `insightpopulate` procedure populates all input entities with data from Xpress Insight, and all result entities are captured and persisted by Xpress Insight when the model exits. For an execution mode that uses only a subset of the Insight data, you can specify that only certain entities should be populated or captured.
There are several situations in which you might want to do this:

- You might be able to improve performance by populating only the input entities an execution mode requires, and capturing only the entities that it has changed when the model exits. This limits the amount of data that must be loaded and transmitted over the network, which can improve performance with large data sets.
- Similarly, you might be able to reduce the resource requirements of an execution mode by limiting the amount of data that must be read into memory.
- You might want to preserve results from previous model executions with different execution modes. If you have an execution mode that changes only a few entities from their initial values, you can choose to capture only those entities when the model exits. Other entities are unaffected, which means that result values from previous model executions are preserved. You can use this approach to overlay the results of multiple model runs using different execution modes.

To populate only the required entities from Insight, pass a list of entity names to `insightpopulate`, as in this example:

    !@insight.execmodes.LOAD
    public procedure doload
      insightpopulate(['UserNames', 'UserEmails'])

      ! Log out the user names and emails
      forall (id in UserIDs) do
        writeln('User #', id, ': ', UserNames[id], ' (', UserEmails[id], ')')
      end-do

    end-procedure

When the model runs using this execution mode, only the specified entities and any required index sets are populated. All other input entities retain their default initial values as defined by the model.

To capture only certain result entities when the model exits, call the `insightcapture` procedure and pass a list of entity names.
Note: If an error causes the model to exit before `insightcapture` is called, all result entities and update-after-execution entities are captured with their values at the time of the error. To avoid this, your model should call `insightcapture` as early as possible with an empty list, and then again with the list of entities to capture after their values have been set.

This example calls `insightcapture` to capture only the entities that are updated by the model:

    @insight.execmodes.RUN
    public procedure dorun
      ! Capture no entities if the model exits before the model is solved
      insightcapture([])
      ! Populate with Insight scenario data and solve model 1
      insightpopulate
      solvemodel1
      ! Set this execution mode to capture just the entities updated by model 1
      insightcapture(['profit1', 'factories'])
    end-procedure

When the model exits, Xpress Insight captures and persists only the specified entities and any required index sets. All other entities retain their existing values.
Note: Calling `insightcapture` is optional. If you do not call `insightcapture`, Insight will capture all result entities when the model exits.
Parent Topic The Lifecycle of Scenario Data

© 2001-2026 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.