The modObjects Table
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
The modObjects table is the repository for application objects. It complements the information in the sysObjects table that exists in each SQL Server database. Objects are entered in the modObjects table only if they have workflow-specific attributes that are not stored in sysObjects.
The modObjects table stores information about user tables and their hierarchy. It also stores other objects, such as SQL views, user views, triggers, or stored procedures, if they require workflow-specific properties.
The object ID for each object is an identity column in modObjects and is used throughout the workflow application schema tables. The Name column is used to link modObjects with sysObjects. If the table name is changed in sysObjects, you should explicitly propagate the name change in modObjects.
**Note **You should not alter the modObjects table manually. Use the Workflow Designer for SQL Server and the Workflow Manager to make changes. Schema integrity is not guaranteed if you make manual changes to any system tables.
The following table provides descriptions for the types of objects registered in the modObjects table.
Objects | Description |
---|---|
Workflow tables | For each table, modObjects stores a Script flag that indicates whether the code for conditions and events should be run by a script engine and the progID for the code execution component. |
User tables | The modObjects table provides a list of the user tables in a workflow application. This information is required by the design-time and run-time user interface. For each detail user table, it stores its parent and defines the user table's hierarchy. It also associates a caption string with each user table. |
Lookup tables | A lookup table should be entered in the modObjects table if other tables in the hierarchy use it. |
Workflow triggers | The modObjects table keeps track of auto-generated triggers that must be managed by the Workflow Designer. A trigger entry contains the trigger object ID and its type. |
Code Library | The code library is a database that is available globally to all the workflow functions in the application. |
Auto-generated objects | A list of SQL objects (views, stored procedures, triggers, and so on) that must be managed by the Workflow Designer for SQL Server. A view entry will contain the view object ID and its type. |
The following table lists the modObjects table columns and their data types and provides a brief description of each.
Column | Data type | Description |
---|---|---|
Id | identity (int) | Unique identifier for a table. |
Name | nvarchar(128) | Table name. |
Type | char(2) | Type of object:
|
Parent_id | int | Parent object ID. This column is Null for main user tables and holds the parent table ID for detail user tables. |
Permission | bit | 1 if permissions are enabled on this table; otherwise, 0. |
WFOutOfProcess | bit | 1 if the workflow engine works out of process (default); otherwise, 0. |
WFEnable | bit | 1 if workflow is enforced (default); otherwise, 0. |
WFOriginalValues | bit | 1 if the original column values of a row that is changed should be available at run time. If so, the original values are returned by the Session.OriginalItem recordset; otherwise, 0 (default). Note that making the original values available slows down the performance of data changes to the table. |
Script | bit | 1 if the workflow associated with the user table uses a scripting engine; 0 if it uses an active designer. |
Prog_id | nvarchar(64) | The progID of the component used to execute workflow code. It can indicate a scripting engine or an active designer. |
Code | text | Common script code for a workflow table. |
Caption | nvarchar(256) | Friendly name of the object component used as the caption for tables or columns (for example, "Issue due date"). |
Properties | ntext | Reserved for user-defined properties. |
Diagram | image | Persists the workflow diagram for workflow user tables. |
LockedBy | sysname | Current computer and user that have put a lock on the table. |
rowguid | uniqueidentifier | Unique identifier used for application objects. |
See Also
Workflow-Enabled Database Tables | The modColumns Table | The modObjectTypes Table | The modPermissions Table | The modProperties Table (Workflow-Enabled Database) | The modUserRoles Table | The Workflow Tables | The WorkflowActions Tables | The Lookup Table