Workflow processing

When a workflow with a SYSTEM DC PROCESS JOB event and Job Control business object is triggered, the DataConnect task in the workflow runs certain steps. This process assumes that the workflow was defined with the Integration property on (true).

The DataConnect task runs the following steps:
  • Use the configured information to determine what type of record to process, the state to leave the new record, the correlation type, and the transaction setting. Use the record on the Start task as the source for the job number to use.
  • In the DataConnect tasks, get the staging table name for the record it needs to process and query for rows with the corresponding job number. Depending on the configuration setting for the correlation number, use the correlation number to order by, or in a Where clause to find entries with the correlation number. Get the staging table entries based on job number, correlation number, sequence number, action, and path.
  • For each row fetched, create or update a smart record. Put the record in the state that is dictated in the DataConnect task definition (it is not transitioned to that state). Change the state of the row in the staging table. Set the project and form. Depending on the Use Temporary Data flag, the changes might be permanent or made in session. Run steps that are defined within the iterator, creating parent-child relationships and following business logic processing.
  • Run the pre-create workflow on the new records. If you do not want the pre-create workflow to run, update the pre-create workflow to check the Integration flag, so when called by an Integration workflow it is skipped.
  • If there is a call to another workflow, check the setting of the Integration status to change processing based on whether the workflow was called from an Integration process.
  • If there is an event, check the FROM_INTEGRATION column to determine whether the Integration status is set in the workflow context.
  • Process the transaction based on the DataConnect task configuration setting.