Tables

Overview

Before we describe each of the tables used to support business processes, let's take a moment and discuss the general needs and requirements of business processes and how tables support these requirements. A business process is defined by an Infinity SDK software developer through the creation of a BusinessProcessSpec. When you load the spec into the Infinity database, its metadata winds up in the BusinessProcessCatalog table. For more details, see the section titled BusinessProcessCatalog table.

When a business process starts, an instance of that business process is created. When an instance starts, the status of a business process instance is tracked within the BusinessProcessStatus table. This table can contain many rows for a given BusinessProcessCatalog table row. Of great importance is the fact that the BusinessProcessStatus table tracks the parameter set selected for a given business process instance.

A business process instance may require input parameters. Along with the status, the selected parameter set chosen for the instance can be tracked. During configuration and before a business process instance starts, individual input parameters are grouped together into a set and the set is labeled with a name. The table that holds the parameter sets is a custom table that is specific to a business process and is referenced by the ParameterTableName attribute within the BusinessProcessSpec. Within the system, an end user can configure and secure multiple parameter sets for a given business process. Before a business process instance can start, an end user must select a specific parameter set. For more details, see Business Process Parameter Table.

Typically, before starting an instance, an end user may select a reference to a specific QueryViewSpec as one of the input parameters into a process. After a parameter set is selected and a business process instance starts, the Infinity platform calls upon .NET code to process a set of records. The basis for the set of records to be retrieved and processed by the .NET code is defined with a QueryViewSpec. The selected QueryViewSpec for a business process also determines the columns for the output of a business process. A business process instance may be run with one of several associated QueryViewSpecs that are tracked within the BusinessProcessView table.

A business process may be designed to produce one or several tables filled with data as its output. This is where the BusinessProcessOutput table comes into play. Each table created by a business process should have a representative row within the BusinessProcessOutput table. This table is a child table of the BusinessProcessStatus table and aids the developer in finding the table or tables generated by a specific business process instance.

Each business process has one or more sets of parameter data. A business process should be secured at the parameter set level. The BusinessProcessInstance table supports the securing of a parameter set for a business process to a particular site and/or selected security roles. For more information on securing parameter sets for a business process, see BusinessProcessInstance table.