Processes Table

General structure

Processes are stored in SF_SYSProcess table. Each row of this table contains a complete definition of the Process, including the executable object of the Process in an archived form.

The table has the following structure:

Column Generalized data type Use
ProcessName VARCHAR(20) Name of the user-defined Process
DescriptionText BLOB Archived text of the Process's description
ProcessVisual BLOB Archived graphical flowchart of the Process
Parameters BLOB Archived array of the Parameter objects
ReturnType INT Data type of the return variable
ReturnVariable VARCHAR(255) Name of the return variable
ProcessExec BLOB Archived executable object
ProcessType CHAR(1) Type of Process (full process or component)
ProcessIsValid LOGICAL Flag to track readiness of the Process
SF_UserId VARCHAR(255) Login account of the user that last updated the row
SF_DateChanged CHAR(8) Date of the last update of the row (CCYYMMDD)
SF_TimeChanged CHAR(6) Time of the last update of the row (HHMMSS)
SF_TimeStamp SMALLINT Version of the row (incremented with each update)

Notes:

The table contains one row for each Process used by STEPforward.

DescriptionText is an archived NSString object extracted from NSText that displays the Process's legend.

ProcessVisual is an archived SFVisualTemplate object that encapsulates the contents of the Workspace window when the Process is constructed. When the Process is loaded into the Process Builder, its Workspace, Palette and Inspector windows are populated from this object that is unarchived for this purpose.

Parameters is an archived NSArray object that stores objects carrying information about parameters accepted by the Process.

ReturnType is the integer data type of the returned value. Processes that do not return any value have this field set to -1.

ProcessExec is an archived object that stores executable objects that implement the logic of the Process. The objects are linked together in a chain of references and are executed at the run time.

ProcessType is a flag that marks the Process as a full-featured report that can be selected from the list at the run time and executed (type R), or a component that can only be used in constructing other report much like a user-defined Function (type C).

ProcessIsValid is a logical flag that is set to FALSE if the Process has been saved with syntactical errors. In this case ProcessExec field is set to NULL, and the Process cannot be executed.