Forced Synchronous Processing
Overview
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 1 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1
Forced Synchronous Processing
System References
None
Distribution
Job Title*
Ownership
The Job Title [list@YourCompany.com?Subject=EDUxxxxx] is responsible for ensuring that this document is necessary and that it reflects actual practice.
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 2 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1
Forced Synchronous Processing
Schedule:
Timing 10 minutes 0 minutes 10 minutes
Topic Lecture Practice Total
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 3 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1
Objectives
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 4 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1
Forced Synchronous Processes
Forced Synchronous Processing To create a forced synchronous process, you must set the item key of your process to #SYNCH, or to wf_engine.eng_synch, which returns the #SYNCH constant, when you call the necessary WF_ENGINE APIs. Because a forced synchronous process never writes to the database, using a non-unique item key such as #SYNCH is not an issue. Also because a forced synchronous process never writes workflow information to the database, it completes faster than a normal synchronous process. However, for the same reason, the process cannot be viewed from the Workflow Monitor, and no auditing is available for the process. Note: Although the Workflow Engine does not write workflow information to the database during a forced synchronous process, you can still use custom function activities that write to database tables as part of a forced synchronous process.
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 5 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1
Process Definition Restrictions
Process Definition Restrictions • No notification activities are allowed. • Limited blocking-type activities are allowed. A process can block and restart with a call to WF_ENGINE.CompleteActivity only if the blocking and restarting activities: - Occur in the same database session - Contain no intervening calls to Oracle Workflow - Contain no intervening commits • No error processes can be assigned to the process or the process’s activities. • Each function activity behaves as if On Revisit is set to Loop, and is run in non-canceling mode, regardless of its actual On Revisit setting. Loops are allowed in the process. • No master/detail coordination activities are allowed. • No parallel flows are allowed in the process, as transitions from each activity must have a distinct result. This also means that no transitions are allowed, because they cause parallel flows.
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 6 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1
Process Definition Restrictions
Process Definition Restrictions • None of the following Standard activities are allowed: - And - Block (restricted by the conditions stated for limited blocking) - Defer Thread - Wait - Continue Flow/Wait for Flow - Role Resolution - Voting - Compare Execution Time - Notify • No use of the background engine is allowed; that is, activities are never deferred. • No data is ever written to the Oracle Workflow tables, and as a result: - The process cannot be viewed from the Workflow Monitor. - No auditing is available for the process.
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 7 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1
Process Definition Restrictions
Process Definition Restrictions • Only the following WF_ENGINE API calls are allowed to be made, and in all cases, the item key supplied to these APIs must be specified as #SYNCH or wf_engine.eng_synch: - WF_ENGINE.CreateProcess - WF_ENGINE.StartProcess - WF_ENGINE.GetItemAttribute - WF_ENGINE.SetItemAttribute - WF_ENGINE.GetActivityAttribute - WF_ENGINE.CompleteActivity (for the limited usage of blocking-type activities) • WF_ENGINE API calls for any item except the current synchronous item are not allowed.
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 8 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1
Summary
Copyright © Oracle Corporation, 2004. All rights reserved.
Forced Synchronous Processing Effective mm/dd/yy
Page 9 of 9
706D706A-DD62-4E20-A6C9-B689E17B8F65.DOC Rev 1