abstract class %Library.Populate

%Populate is a utility class that provides the ability to create instances of an object populated with random data.

To use the %Populate class do the following:

  1. Create a persistent object class, such as Employee.
  2. Add %Populate to the end of the class' super class list:
    super = %Persistent,%Populate
  3. Save and compile the class.
  4. %Populate will add a class method, Populate(), to your class.
Run this method to create instances of your class in the database:
Do ##class(Employee).Populate(100)

For more information refer to The Populate Utility.

Method Inventory


parameter POPSPEC;
The POPSPEC parameter provides a way to control how %Populate generates data for properties.

For more information refer to The Populate Utility.


abstract method OnPopulate() as %Status [ Language = objectscript ]
classmethod Populate(count As %Integer = 10, verbose As %Integer = 0, DeferIndices As %Integer = 1, ByRef objects As %Integer = 0, tune As %Integer = 1, deterministic As %Integer = 0) as %Integer [ Language = objectscript ]
Creates up to count instances an object and stores them in the database.

If verbose is true, then details are echoed to the console.

If DeferIndices is true, then indices are sorted at the end of the operation.

If objects is true, then each object that is created is returned in the objects array

If tune is true, then $SYSTEM.SQL.TuneTable is called after the instances of the class have been created. If tune>1, then $SYSTEM.SQL.TuneTable is also called for any tables projected by persistent superclasses of this class

If deterministic is true, then the set of objects produced by identical calls to Populate at different times will be identical.

Returns the number of instances successfully created.

For more information refer to The Populate Utility.

classmethod PopulateSerial() as %String [ Language = objectscript ]
Create a single instance of a serial object.