Developer Guide
Developer Guide
Developer Guide
Developer's Guide
Release 12.2
Part No. E22011-10
July 2014
Contents
iii
Messages.................................................................................................................................. 3-28
Defining Messages.................................................................................................................. 3-60
Activities.................................................................................................................................. 3-73
Defining Activities.................................................................................................................. 3-81
Voting Activity........................................................................................................................ 3-94
Example Voting Methods........................................................................................................ 3-97
Deleting Objects in Oracle Workflow Builder..................................................................... 3-100
Modifying Objects in Oracle Workflow Builder................................................................. 3-100
Workflow Objects That Support Versioning.................................................................... 3-102
Workflow Objects That Do Not Support Versioning....................................................... 3-103
iv
10
vi
11
Error Handling
Error Handling......................................................................................................................... 11-1
Error Handling for Workflow Processes............................................................................ 11-1
Error Handling for Event Subscription Processing............................................................ 11-4
System: Error Item Type and Item Attributes.................................................................... 11-8
Default Error Process....................................................................................................... 11-10
Retry-only Process........................................................................................................... 11-13
Default Event Error Process............................................................................................. 11-16
Default Event Error Process (One Retry Option)............................................................. 11-21
Error Process for Notification Response Processing........................................................ 11-28
vii
Logistics............................................................................................................................ C-41
Maintenance Applications................................................................................................. C-42
Manufacturing Applications............................................................................................. C-43
Order Management........................................................................................................... C-48
Procurement...................................................................................................................... C-49
Product Hub (PIM)............................................................................................................ C-52
Projects.............................................................................................................................. C-54
Sales, Marketing, and eCommerce.................................................................................... C-56
Service............................................................................................................................... C-59
Value Chain Planning....................................................................................................... C-60
Oracle Workflow Business Event System Implementation in Oracle E-Business Suite...... C-62
Oracle Workflow Support Policy........................................................................................... C-62
Customization Guidelines................................................................................................. C-63
Resolving Customization Issues........................................................................................ C-63
What Is NOT Supported....................................................................................................C-64
What Is Supported............................................................................................................ C-64
Glossary
Index
viii
Send Us Your Comments
Oracle Workflow Developer's Guide, Release 12.2
Part No. E22011-10
Oracle welcomes customers' comments and suggestions on the quality and usefulness of this document.
Your feedback is important, and helps us to best meet your needs as a user of our products. For example:
If you find any errors or have any other suggestions for improvement, then please tell us your name, the
name of the company who has licensed our products, the title and part number of the documentation and
the chapter, section, and page number (if available).
Note: Before sending us your comments, you might like to check that you have the latest version of the
document and if any concerns are already addressed. To do this, access the new Oracle E-Business Suite
Release Online Documentation CD available on My Oracle Support and www.oracle.com. It contains the
most current Documentation Library plus all documents revised or released recently.
Send your comments to us using the electronic mail address: [email protected]
Please give your name, address, electronic mail address, and telephone number (optional).
If you need assistance with Oracle software, then please contact your support representative or Oracle
Support Services.
If you require training or instruction in using Oracle software, then please contact your Oracle local office
and inquire about our Oracle University offerings. A list of Oracle offices is available on our Web site at
www.oracle.com.
ix
Preface
Intended Audience
Welcome to Release 12.2 of the Oracle Workflow Developer's Guide.
This guide assumes you have a working knowledge of the following:
See Related Information Sources on page xiii for more Oracle E-Business Suite product
information.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
xi
Structure
1 Overview of Oracle Workflow
This chapter introduces you to the concept of a workflow process and to the major
features of Oracle Workflow.
2 Defining a Workflow Process
This chapter tells you how to use Oracle Workflow Builder to define a workflow
process definition.
3 Defining Workflow Process Components
This chapter tells you how to use Oracle Workflow Builder to define the components
necessary to compose a workflow process diagram.
4 Defining a Workflow Process Diagram
This chapter tells you how to use Oracle Workflow Builder to define a workflow
process diagram and how to load roles from the database so you can assign notification
activities to specific roles.
5 Predefined Workflow Activities
This chapter tells you how to use Oracle Workflow's predefined activities.
6 Defining Procedures and Functions for Oracle Workflow
This chapter describes the standard APIs to use for Oracle Workflow PL/SQL and Java
procedures and functions.
7 Testing Workflow Definitions
This chapter tells you how to test your workflow definitions using the Developer
Studio.
8 Managing Business Events
This chapter tells you how to manage business events using the Oracle Workflow Event
Manager Web pages.
9 Predefined Workflow Events
This chapter tells you how to use Oracle Workflow's predefined events.
10 Sample Workflow Process
This chapter describes a sample workflow process that illustrates several Oracle
Workflow features.
11 Error Handling
This chapter describes how Oracle Workflow handles errors in workflow processes and
event subscription processing.
A Oracle Workflow Developer Navigation Paths
This appendix lists the navigation paths to Oracle Workflow developer Web pages in
the seeded Oracle Workflow responsibilities for Oracle E-Business Suite.
B Oracle Workflow Builder Menus and Toolbars
xii
This appendix provides a description of the menus and toolbars in Oracle Workflow
Builder.
C Oracle Workflow Implementation in Oracle E-Business Suite
This appendix lists embedded workflows in Oracle E-Business Suite, as well as Oracle's
support policy towards the customization of embedded workflows, events, and
subscriptions.
Glossary
Online Help - Online help patches (HTML) are available on My Oracle Support.
PDF Documentation - See the Oracle E-Business Suite Documentation Library for
current PDF documentation for your product with each release.
Release Notes - For information about changes in this release, including new
features, known issues, and other details, see the release notes for the relevant
product, available on My Oracle Support.
Related Guides
You should have the following related books on hand. Depending on the requirements
of your particular installation, you may also need additional manuals or guides.
Oracle Alert User's Guide
This guide explains how to define periodic and event alerts to monitor the status of
your Oracle E-Business Suite data.
Oracle Application Framework Developer's Guide
This guide contains the coding standards followed by the Oracle E-Business Suite
development staff to produce applications built with Oracle Application Framework.
xiii
xiv
Oracle Workflow Business Event System, and how to manage Web service security,
configure logs, and monitor SOAP messages.
Oracle E-Business Suite Integrated SOA Gateway User's Guide
This guide describes the high level service enablement process, explaining how users
can browse and view the integration interface definitions and services residing in
Oracle Integration Repository.
Oracle E-Business Suite Maintenance Guide
This guide explains how to patch an Oracle E-Business Suite system, describing the
adop patching utility and providing guidelines and tips for performing typical patching
operations. It also describes maintenance strategies and tools that can help keep a
system running smoothly.
Oracle E-Business Suite Security Guide
This guide contains information on a comprehensive range of security-related topics,
including access control, user management, function security, data security, and
auditing. It also describes how Oracle E-Business Suite can be integrated into a single
sign-on environment.
Oracle E-Business Suite Setup Guide
This guide contains information on system configuration tasks that are carried out
either after installation or whenever there is a significant change to the system. The
activities described include defining concurrent programs and managers, enabling
Oracle Applications Manager features, and setting up printers and online help.
Oracle E-Business Suite User's Guide
This guide explains how to navigate, enter and query data, and run concurrent requests
using the user interface (UI) of Oracle E-Business Suite. This guide also includes
information on setting user profiles and customizing the UI.
Oracle Workflow Administrator's Guide
This guide explains how to complete the setup steps necessary for any product that
includes workflow-enabled processes. It also describes how to manage workflow
processes and business events using Oracle Applications Manager, how to monitor the
progress of runtime workflow processes, and how to administer notifications sent to
workflow users.
Oracle Workflow API Reference
This guide describes the APIs provided for developers and administrators to access
Oracle Workflow.
Oracle Workflow Client Installation Guide
This guide describes how to install the Oracle Workflow Builder and Oracle XML
Gateway Message Designer client components for Oracle E-Business Suite.
Oracle Workflow User's Guide
xv
This guide describes how users can view and respond to workflow notifications and
monitor the progress of their workflow processes.
Oracle XML Gateway User's Guide
This guide describes Oracle XML Gateway functionality and each component of the
Oracle XML Gateway architecture, including Message Designer, Oracle XML Gateway
Setup, Execution Engine, Message Queues, and Oracle Transport Agent. It also explains
how to use Collaboration History that records all business transactions and messages
exchanged with trading partners.
The integrations with Oracle Workflow Business Event System, and the
Business-to-Business transactions are also addressed in this guide.
Integration Repository
The Oracle Integration Repository is a compilation of information about the service
endpoints exposed by the Oracle E-Business Suite of applications. It provides a
complete catalog of Oracle E-Business Suite's business service interfaces. The tool lets
users easily discover and deploy the appropriate business service interface for
integration with any system, application, or business partner.
The Oracle Integration Repository is shipped as part of the E-Business Suite. As your
instance is patched, the repository is automatically updated with content appropriate
for the precise revisions of interfaces in your environment.
Users who are granted the Integration Analyst role can navigate to the Oracle
Integration Repository through the Integration Repository responsibility. Users who
have the Integration Developer role or the Integration Administrator role can access the
Oracle Integration Repository through the Integrated SOA Gateway responsibility.
xvi
automatically checks that your changes are valid. Oracle E-Business Suite also keeps
track of who changes information. If you enter information into database tables using
database tools, you may store invalid information. You also lose the ability to track who
has changed your information because SQL*Plus and other database tools do not keep a
record of changes.
xvii
1
Overview of Oracle Workflow
This chapter introduces you to the concept of a workflow process and to the major
features of Oracle Workflow.
This chapter covers the following topics:
Routing Information
Business processes today involve getting many types of information to multiple people
according to rules that are constantly changing. With so much information available,
and in so many different forms, how do you get the right information to the right
people? Oracle Workflow lets you provide each person with all the information they
need to take action. Oracle Workflow can route supporting information to each decision
maker in a business process, including people both inside and outside your enterprise.
Integrating Systems
Oracle Workflow lets you set up subscriptions to business events which can launch
workflows or enable messages to be propagated from one system to another when
business events occur. You can communicate events among systems within your own
enterprise and with external systems as well. In this way, you can implement
point-to-point messaging integration or use Oracle Workflow as a messaging hub for
more complex system integration scenarios. You can model business processes that
include complex routing and processing rules to handle events powerfully and flexibly.
Workflow Engine
The Workflow Engine embedded in the Oracle Database implements process definitions
at runtime. The Workflow Engine monitors workflow states and coordinates the routing
of activities for a process. Changes in workflow state, such as the completion of
workflow activities, are signaled to the engine via a PL/SQL API or a Java API. Based on
flexibly-defined workflow rules, the engine determines which activities are eligible to
run, and then runs them. The Workflow Engine supports sophisticated workflow rules,
including looping, branching, parallel flows, and subflows.
Electronic Notifications
Oracle Workflow lets you include users in your workflows to handle activities that
cannot be automated, such as approvals for requisitions or sales orders. The
Notification System sends notifications to and processes responses from users in a
workflow. Electronic notifications are routed to a role, which can be an individual user
or a group of users. Any user associated with that role can act on the notification.
Each notification includes a message that contains all the information a user needs to
make a decision. The information may be embedded in the message body or attached as
a separate document. Oracle Workflow interprets each notification activity response to
decide how to move on to the next workflow activity.
Internet-Enabled Workflow
Any user with access to a standard Web browser can be included in a workflow. Web
users can access a Notification Web page to see their outstanding work items, then
navigate to additional pages to see more details or provide a response.
Workflow Processes
Oracle Workflow manages business processes according to rules that you define. The
rules, which we call a workflow process definition, include the activities that occur in
the process and the relationship between those activities. An activity in a process
definition can be an automated function defined by a PL/SQL stored procedure or an
external function, a notification to a user or role that may optionally request a response,
a business event, or a subflow that itself is made up of a more granular set of activities.
A workflow process is initiated when an application calls a set of Oracle Workflow
Engine APIs. The Workflow Engine takes over by driving the relevant work item
defined by the application, through a specific workflow process definition. According
to the workflow process definition, the Workflow Engine performs automated steps
and invokes appropriate agents when external processing is required.
The following diagram depicts a simplified workflow process definition that routes a
We refer to the whole drawing as a process or process diagram. The icons represent
activities, and the arrows represent the transitions between the activities. In the above
example, new items are created for the process when a user creates and submits a
requisition in the appropriate application.
This process contains several workflow activities implemented as PL/SQL stored
procedures, including:
Select Approver - to select, according to your business rules, who should approve
the requisition.
Verify Authority - to verify that a selected approver has the spending authority to
approve the requisition.
2
Defining a Workflow Process
This chapter tells you how to use Oracle Workflow Builder to define a workflow
process definition.
This chapter covers the following topics:
which can be opened and edited in a text editor so that the process
definition can be spoken by a screen reader for greater user
accessibility.
in Oracle Workflow Builder, you will not be able to access the menu
from your keyboard using the Alt key.
Attributes - lists the attributes for the current item type. Item type attributes
describe features of an item type. For example, if an item type is a purchase order
requisition, then an item type attribute can be the requisition amount or the
requisition ID. See: Item Type Attributes, page 3-2.
Processes - lists the process activities or workflow process definitions for the current
item type. See: Process Window, page 4-1 and Activities, page 3-73.
Notifications - lists the notification activities associated with the current item type.
A notification activity sends a message to a user or role. The message may prompt
for a response or may simply provide information. See: Activities, page 3-73.
Functions - lists the function activities associated with the current item type. A
function activity represents a PL/SQL stored procedure that the Workflow Engine
executes automatically. A function activity can also have activity attributes
associated with it. See: Activities, page 3-73.
Events - lists the event activities associated with the current item type. An event
activity represents a business event that the process receives, raises, or sends. See:
Activities, page 3-73.
Messages - lists the messages that a notification activity associated with the current
item type can send to a user or role. A message can have message attributes
associated with it. See: Messages, page 3-28.
Lookup Types - lists the lookup types associated with the current item type. A
lookup type has one or more values called lookup codes associated with it. A
lookup type is a list of values that can be referenced by a message, or by a
notification, function, or process as its possible result type. See: Lookup Types, page
3-23.
Note: Each data store also contains a Directory Service branch. The
Directory Service branch lists all the directory service roles that you
load from your Oracle Workflow database. See: Roles, page 4-23.
If the data store is a database connection and the database contains other item types that
you have not loaded into Oracle Workflow Builder, a branch called Hidden Item Types
appears. When you double-click on Hidden Item Types, you get a Show Item Types
window that lets you load other item types into Oracle Workflow Builder.
Navigator Window
Choose Find... from the Edit menu to display a Search window that lets you specify
search criteria to find an object in the navigator tree.
Search Window
2.
Enter the text to search for in the Search Text field. The search is case insensitive
and looks for the text pattern that you specify in the field that you specify.
3.
Specify to search for this text in the object's Display Name or Internal Name.
4.
Specify the object type to restrict this search to or check All Objects to search for the
text within the property pages of all objects.
5.
Choose Search.
6.
You can choose Find Again from the Edit menu to repeat the search using the
search criteria previously defined in the Search window.
Top-Down Design - If you prefer to approach your design from a high level, you
can first sketch out the process diagram with activities, then go back later to create
the supporting objects for each activity. See: To Create a Process Definition from
Top-Down, page 2-8.
To start Oracle Workflow Builder, double-click the Oracle Workflow Builder icon
located in the Application Development folder within the Oracle - <SID NAME>
program group, or select the Oracle Workflow Builder icon from the appropriate
program folder of the Start menu.
2.
Choose New from the File menu to create a workspace for your new process
definition.
Tip: Alternatively, you can use the Quick Start Wizard to first
create the framework for your new process definition. Once the
Quick Start Wizard creates your new item type and new process
activity, you can skip to step 4 below to begin defining the
supporting objects for the new item type and process activity. See:
To Use the Quick Start Wizard, page 2-16.
3.
Create a new item type. The item type classifies the work item to be managed by the
process. See: To Create an Item Type, page 3-7.
4.
You can define item type attributes to fully describe your item type and have the
activities in your process refer to these attributes for information. See: To Define an
Item Type or Activity Attribute, page 3-8.
5.
Create new lookup types. See: To Create Lookup Types, page 3-24.
Before defining an activity, you should define the lookup type that represents your
activity's Result Type. A Result Type is a list of possible results that an activity can
have upon completion. After defining a lookup type and an activity, you can drag
the lookup onto an activity in the navigator tree to assign that lookup as the
activity's result type. Lookup types can also be referenced by item type attributes,
activity attributes, messages, or message attributes.
6.
7.
Create a new process activity, page 3-89, notification activity, page 3-81, function
activity, page 3-83, or event activity, page 3-86. You may also use predefined
standard activities associated with the Standard item type. See: Activities, page 373 and Standard Activities, page 5-1.
You need to define at least one process activity that represents your high level
process diagram. The process diagram establishes the relationship of all the
activities in your process.
8.
9.
Save your work by choosing Save or Save As from the File menu. See: To Save Your
Work, page 2-13.
10. In a database accessible by your Oracle Workflow server, create the PL/SQL stored
procedures called by your PL/SQL function activities. You can do this through
SQL*Plus or the Oracle Procedure Builder. See: Oracle Workflow Procedures and
Functions, Oracle Workflow API Reference and Standard API for PL/SQL Procedures
Called by Function Activities, page 6-2.
2.
Use the Quick Start Wizard to create the framework for your new process
definition. Specify the requested information for the new item type and new
process activity. See: To Use the Quick Start Wizard, page 2-16.
3.
A Process window appears, that shows a Start and an End activity node. Create
your process diagram by defining new activity nodes to place between the Start and
End nodes. See: To Define Nodes in a Process, page 4-6.
You may also use predefined standard activities associated with the Standard item
type. See: Standard Activities, page 5-1.
4.
5.
Save your work by choosing Save or Save As from the File menu. See: To Save Your
Work, page 2-13.
Important: When you save your work, Oracle Workflow
2.
Choose Open from the File menu to open a connection to the database or file that
contains the process definition you want to modify. See: To Access Process
Definitions in an Existing Data Store, page 2-10.
3.
Select and expand the existing item type associated with the process definition you
want to modify.
4.
You can modify an item type, item type attribute, lookup, message, message
attribute, process activity, notification activity, function activity, or activity
attribute. See: To Create an Item Type, page 3-7, To Define an Item Type or
Activity Attribute, page 3-8, To Create Lookup Types, page 3-24, To Create a
Message, page 3-60, To Define a Message Attribute, page 3-66, or Activities, page
3-73.
5.
You can also modify the process diagram by displaying the Process window for
your process activity. See: Diagramming a Process, page 4-4.
6.
Save your work by choosing Save or Save As from the File menu. See: To Save Your
Work, page 2-13.
Related Topics
Deleting Objects in Oracle Workflow Builder, page 3-100
Modifying Objects in Oracle Workflow Builder, page 3-100
Using Oracle Workflow Builder with Different Server Versions, page 2-18
a flat file and check that file into a source control system to maintain a
working version of your process definition. Avoid using the process
definition stored in your database as your source controlled version, as
others with access to the database can update the definition.
appropriate program folder from the Start menu. In Oracle Workflow Builder,
select Open... from the File menu.
Open Window
2.
Select database or file to connect to the source containing the item type to which
your process definition is associated.
3.
To open a file: Provide the complete file path and choose OK, or use Browse to
locate and open the file (extension .wft).
Note: You can also drag and drop a .wft file from the Microsoft
Windows Explorer into the navigator tree to open that file in Oracle
Workflow Builder.
Note: When you use Browse to find and open a file, the current
directory that you open the file from becomes the new default
directory from which you open files in the future. This default
directory persists until you use Browse again to locate another file.
4.
To open a database connection, enter the username and password for the APPS
schema, enter the name of the database alias or connect string, and choose OK.
5.
If you wish to retrieve a process definition that was effective at a particular point in
time, you can specify a date and time in the Effective field and have Oracle
Workflow Builder retrieve that data from the database. The format that you should
use to specify the date and time depends on the date and time preferences defined
in the Regional Settings of your Windows Control Panel.
6.
If multiple item types exist in the data store, the Show Item Types window appears.
Select from the Hidden list, the item type(s) you want to view, and choose << to
move it into the Visible list. Choose OK to load these item types into the navigator
tree.
Show Item Types Window
7.
If at any time you want to view and modify item types that are hidden in the
current data store, you can double-click on the Hidden Item Types branch in the
navigator tree to display the Show Item Types window and select the item types
you want to show. You can also choose Show/Hide Item Types from the File menu
to display the Show Item Types window.
Note: You can copy item types from one store to another in any
order even if the item types reference each other. However, you
may get validation errors due to foreign key references. Pay
attention to these errors as they may indicate that you need to also
copy other item types into the new store to resolve the foreign key
references. The final process definition in the new store will be
valid as long as all referenced item types are copied to the new
destination store.
8.
When you finish working, choose Save from the File menu to preserve your
changes and make them effective immediately. See: To Save Your Work, page 2-13.
Choose Save from the File menu to save your work and make the changes
immediately effective.
When you use the Save command, you save all modified objects in the currently
selected data store (even those that are hidden) back to that data store. If you want
to save only specific item types, then you must create a new data store, and copy
the specific item types you want to save into the new store and save the new store.
Important: Oracle Workflow Builder can save your work to the
Save As Window
2.
If you want to save your work to a different data store (database or flat file), or if
you want to save it to a database with an effective date other than the current
system date, then choose Save As... from the File menu. Use the Save As window to
specify the file or database you want to save your process definition to, and the date
when you want your process definition to take effect in the database. You can leave
the Effective field blank to save and make the changes effective immediately. See:
Version/Effective Date, Oracle Workflow API Reference.
Note: If you save your work to a database with a future effective
3.
Note that when you save your work, Oracle Workflow automatically validates the
process definition for any invalid or missing information and displays what it finds
in a Workflow Error verification window. You can either correct the information
before saving your work, or save your work as is, and fix the problems later. Use
the Copy button to copy the information from the Workflow Error window to the
clipboard for later reference. If you save your work without correcting the
problems, the Workflow Error window will reappear when you reopen your
process definition.
4.
Choose Close Store from the File menu to close your connection to the current
database or file data store.
5.
Choose Exit from the File menu to exit Oracle Workflow Builder.
Important: The Close Store and Exit options from the File menu are
Note: You can also double-click a workflow data file (.wft) from
2.
To start Oracle Workflow Builder with a specific database connection, type the
following command at the MS-DOS prompt, where
<username/password@connect> represents the database account information
for the APPS schema to connect to:
wfbldr -c <username/password@connect>
3.
To start Oracle Workflow Builder and open a specified item type in a data store,
append the following to the appropriate command shown in Step 1 or 2, where
<item_type> represents the internal name of the item type you want to open:
-E <item_type>
For example:
wfbldr wfdemo.wft -E wfdemo
4.
To start Oracle Workflow Builder and open a specified process diagram in a data
store, append the following to the appropriate command shown in Step 1 or 2,
where <item_type:process> represents the internal names of the item type and
For example:
wfbldr wfdemo.wft -E WFDEMO:NOTIFYAPPROVER
Related Topics
Using the Workflow Definitions Loader, Oracle Workflow Administrator's Guide
Creating a Shortcut to a Workflow Process, page 4-22
2.
The Workflow Quick Start Wizard window prompts you for the following
mandatory information:
Display Name - Enter a translatable Display Name for the item type.
New Process
3.
Display Name - Enter a translatable Display Name for the process activity.
The Display Name also appears in the title bar of your Process window.
4.
Uses the information you entered in the Workflow Quick Start Wizard window
to create a new item type and process activity in the data store.
Loads the Standard item type into the new data store so that you can include
standard activities in the process you create.
Opens the Process window for the new process activity you defined. The
Process window displays a Start and an End activity.
You can now customize your process definition in one of two ways:
Take a bottom-up design approach by first creating activities and all their
supporting objects before trying to draw a workflow diagram. See: To Create a
Process Definition From Bottom-Up, page 2-7.
Using the Release 2.6.3 Oracle Workflow Builder with a Release 2.6 or
Higher Server:
If you are using the Release 2.6.3 Oracle Workflow Builder with Oracle Workflow
Server Release 2.6 or higher embedded in Oracle E-Business Suite, you can use all
currently available features in your workflow processes. You can save these process
definitions to the database and open process definitions from the database to view or
modify them.
You can also open existing process definitions that were created with a Release 2.5 or
earlier Release 2.6 Oracle Workflow Builder and save these process definitions to a
database with Oracle Workflow Server Release 2.6 or higher embedded in Oracle
E-Business Suite.
Using the Release 2.6.3 Oracle Workflow Builder with a Release 2.5
Server:
If you are using the Oracle Workflow Builder with Oracle Workflow Server Release 2.5,
you must include only Release 2.5 features in your workflow processes. You must not
use any of the following new features introduced in Release 2.6:
Event activities
You can open existing process definitions that were created with the Release 2.5 Oracle
Workflow Builder, view or modify these process definitions using only Release 2.5
components, and save the definitions to a database with Oracle Workflow Server
Release 2.5.
You can also create new workflow processes using only Release 2.5 components.
However, the version of the Standard item type used by the Oracle Workflow Builder
Release 2.6.3 contains some Release 2.6 components. If you want to save a new process
definition to a database with Oracle Workflow Server Release 2.5, perform the following
steps:
1.
2.
Force delete the Standard item type from your data store.
3.
Force save the process definition to the database with Oracle Workflow Server
Release 2.5.
4.
Reopen the process definition from the database. The process definition now
includes the Release 2.5 version of the Standard item type.
3
Defining Workflow Process Components
This chapter tells you how to use Oracle Workflow Builder to define the components
necessary to compose a workflow process diagram.
This chapter covers the following topics:
Item Types
Attributes
Lookup Types
Messages
Defining Messages
Activities
Defining Activities
Voting Activity
Workflow Builder, use only characters from the ASCII character set.
Item Types
An item type is a classification of the components that make up a workflow process.
You must associate any component that you create for a process, such as a function
activity or a message, with a particular item type. Often it makes sense to define an item
type so that it describes the item being managed by your workflow process. For
example, purchase order requisition can be an item type while a purchase order
requisition identified by a particular ID number is an item of that item type. See: To
Create an Item Type, page 3-7.
Attribute Types
There are ten attribute types, as shown below. The type determines what values are
acceptable and how the attribute is used.
Number - The attribute value is a number with the optional format mask you
specify.
Date - The attribute value is a date with the optional format mask you specify.
Lookup - The attribute value is one of the lookup code values in a specified lookup
type.
Form - The attribute value is an Oracle E-Business Suite internal form function
name and its optional form function parameters.
If you include a form-type attribute in a notification message as a message attribute,
the notification, when viewed from the Notification Details Web page, displays an
attached form icon that lets users drill down to the referenced form. See: Overview
of Menus and Function Security, Oracle E-Business Suite Developer's Guide.
Document - The attribute value is an attached document. You can specify the
following types of documents in the default value field:
Role - The attribute value is the internal name of a role. If a message attribute of
type role is included in a notification message, the attribute automatically resolves
to the role's display name, eliminating the need for you to maintain separate
attributes for the role's internal and display names. Also when you view the
notification from a Web browser, the role display name is a hypertext link to the
e-mail address for that role. To set a default value for the attribute, you must
initially load roles from the database. See: Roles, page 4-23.
Attribute - The attribute value is the internal name of another existing item type
attribute that you want to maintain references to in a process.
Event - The attribute value is a Business Event System event message in the
standard WF_EVENT_T structure. See: Event Message Structure, Oracle Workflow API
Reference.
Note: If you store an event message in an item attribute of type
event, you can access the event data within that event message by
creating an item attribute of type URL and setting the value of the
URL attribute to reference the event data. See: SetItemAttribute,
Oracle Workflow API Reference.
Persistence Type
When you define an item type, you must also specify its persistence type. The
persistence type controls how long a status audit trail is maintained for each instance of
the item type. If you set Persistence to Permanent, the runtime status information is
maintained indefinitely until you specifically purge the information by calling the
procedure WF_PURGE.TotalPerm().
If you set an item type's Persistence to Temporary, you must also specify the number of
days of persistence ('n'). The status audit trail for each instance of a Temporary item
type is maintained for at least 'n' days of persistence after its completion date. After the '
n' days of persistence, you can then use any of the WF_PURGE APIs to purge the item
type's runtime status information. See: WF_PURGE, Oracle Workflow API Reference.
If you set an item type's Persistence to Synchronous, Oracle Workflow expects instances
of that item type to be run as forced synchronous processes with an item key of #SYNCH
. Forced synchronous processes complete in a single SQL session from start to finish
and never insert into or update any database tables. Since no runtime status information
is maintained, you do not normally need to perform any purging for a process with the
Synchronous persistence type. However, if you run the process with a unique item key
in asynchronous mode for testing or debugging purposes, Oracle Workflow does
maintain runtime status information for that process instance. You can purge this
information by changing the item type's Persistence to Temporary and running any of
the WF_PURGE APIs. Then change the item type's Persistence back to Synchronous.
See: Synchronous, Asynchronous, and Forced Synchronous Processes, Oracle Workflow
API Reference, WF_PURGE, Oracle Workflow API Reference, and Purging for Performance,
Oracle Workflow Administrator's Guide.
Note: You can also use the Purge Obsolete Workflow Runtime Data
the management of these documents. The value of information in these documents can
be maintained only if the documents can be managed and shared.
In a workflow process, you can attach documents generated by a PL/SQL procedure,
which we call PL/SQL, PL/SQL CLOB, or PL/SQL BLOB documents. You attach a
document to a workflow process by referencing the document in a predefined item
attribute or message attribute of type Document. See: Attribute Types, page 3-3, To
Define an Item Type or Activity Attribute, page 3-8, and To Define a Message
Attribute, page 3-66.
For PL/SQL, PL/SQL CLOB, or PL/SQL BLOB documents, the item or message
attribute's value would be the name of the PL/SQL package and procedure used to
generate the document. The PL/SQL procedure must follow an Oracle Workflow
standard interface. See: Standard APIs for "PL/SQL" Documents, page 6-11.
For PL/SQL and PL/SQL CLOB documents that contain text or HTML, the document
generated by the PL/SQL procedure can either be displayed within the text of a
notification or included as an attachment. Other types of content in PL/SQL CLOB
documents, as well as all PL/SQL BLOB documents, can only be included as
attachments.
PL/SQL BLOB documents that are included as attachments can contain images or
other application files that are stored as binary data.
Attributes
You can create an attribute for any of the following workflow process components:
Item type. See: To Define an Item Type or Activity Attribute, page 3-8.
Function activity. See: To Define an Item Type or Activity Attribute, page 3-8.
Event activity. See: To Define an Item Type or Activity Attribute, page 3-8.
Notification activity. See: To Define an Item Type or Activity Attribute, page 3-8.
Open an existing data store or, select New from the File menu to create a new data
store to define this new item type. Then define a new item type in the navigator tree
by choosing New Item Type from the Edit menu. An Item Type property page
appears.
Item Type Property Page
2.
Every item type has an all-uppercase internal name, which is a maximum of eight
characters long. All Oracle Workflow APIs, SQL scripts, and PL/SQL procedures
refer to the internal name when identifying an item type.
Important: To update the internal name for an item type once it is
3.
Enter a translatable Display Name that is longer and more descriptive. You can also
supply a description for the item type.
4.
5.
If your item type has or will have more than one workflow process associated with
it, you may specify a selector function using the syntax <package_name>.
<procedure_name>. The selector function is a PL/SQL stored procedure that
automatically identifies the specific process definition the Workflow Engine should
execute when a workflow is initiated for this item type. You can also extend the
selector function to be a general callback function that resets context information
each time the Workflow Engine establishes a new database session to execute
activities. See: Standard API for an Item Type Selector or Callback Function, page 68.
6.
7.
Select the Roles tab page to specify the roles that have access to this item type. (This
functionality will be supported in a future release.)
8.
Select the Access tab page to set the access and customization levels for this item
type. See: Allowing Access to an Object, page 3-21.
9.
Choose Apply to save your changes, OK to save your changes and close the
property page or Cancel to cancel your changes and close the property page.
10. A secondary branch appears in the navigator tree that represents the item type you
just created. You can review or edit the properties of this item type at any time by
double-clicking on the item type in the navigator tree or by selecting the item type
and choosing Properties from the Edit menu.
11. Define as many item type attributes as necessary to use as global variables in your
process. You use these item type attributes to pass values to and from your
function, notification, and event activities. See: To Define an Item Type or Activity
Attribute, page 3-8.
To create an item type attribute, select an item type in the navigator tree, then
To create an activity attribute, select an activity in the navigator tree and choose
New Attribute from the Edit menu.
3.
Enter a Display Name. This is the name that appears in the navigator tree.
4.
5.
Select the data type of the attribute. Form, URL, and document data types are not
relevant if you are defining an activity attribute.
6.
Depending on the data type of your attribute, provide the following default value
information:
Text - Specify the maximum length of the text attribute and an optional default
text string.
Number - Optionally provide a format mask for your number and a default
value. In the format mask, use the number format element G to represent the
group separators and the number format element D to represent the decimal
character. See: Number Format Models, Oracle Database SQL Language Reference.
Date - Optionally provide a format mask for the date and a default value.
The format mask you specify must be among the date formats supported by
Oracle E-Business Suite. To view the supported date formats, navigate to the
Application Object Library Lookups window from the Oracle E-Business Suite
Navigator by choosing Application Developer: Application > Lookups >
Application Object Library, and query the ICX_DATE_FORMATS lookup type.
Oracle Workflow uses the format mask you specify when displaying the date
attribute value in the user interface, such as in the Notification Details page,
Respond to Notifications as Group page, and Vacation Rules page.
If you do not specify a format mask, or if you specify a format mask that is not
supported by Oracle E-Business Suite, then Oracle Workflow displays the date
attribute value according to the user's date format preference.
Document - Enter an optional string that identifies the document in the default
value field. See: To Define a Document Attribute, page 3-17.
7.
Attribute - Specify the name of an item type attribute that you want to maintain
references to in a process by choosing from the list of existing item type
attributes.
Event - If you are defining an item type attribute, you cannot specify any
default value for an event attribute. If you are defining an activity attribute, you
can only specify an event item type attribute as the default value.
For item type attributes, the optional default value is a constant that you enter or
select from a list of values. The constant, however, may be a text string that allows
for token substitution at runtime.
For activity attributes, the optional default value may be a constant or an item type
attribute. If you want the default to acquire its entire value from an item type
attribute, choose Item Attribute in the Default Value region, then use the adjacent
poplist field to choose the item type attribute. The item type attribute you select
must be associated with the same item type that the activity itself is associated with.
The item type attribute you select must also be of the same data type as the activity
attribute.
Note: An activity attribute type of 'Text' is compatible with any
item attribute type except the event type. All other activity attribute
types must match the item attribute type exactly.
8.
Choose Apply to save your changes, OK to save your changes and close the
property page, or Cancel to cancel your changes and close the property page.
9.
If you are defining an item type attribute, select the Access tab page to set the access
levels allowed to modify this attribute. Activity attributes assume the
access/protection level of their parent activity. See: Allowing Access to an Object,
page 3-21.
11. Any item type attribute you create appears beneath the Attributes branch in the
navigator tree. Any function activity attribute you define appears beneath the
activity you defined it for in the navigator tree. You can review or edit the
properties of an attribute at any time by double-clicking on the attribute in the
navigator tree or by selecting the attribute and choosing Properties from the Edit
menu.
Important: The order in which you list these attributes in the
navigator tree correlate to the order in which they appear in any list
of values that draw upon these attributes. You can use the drag and
drop feature of the navigator tree to reorder a set of attributes, or
select an attribute and choose Move Attribute Up or Move
Attribute Down from the Edit menu.
2.
You can include argument strings in your URL that are text strings. Additionally, if
you are defining a message attribute of type URL, you can include argument strings
that are token substituted with other message attributes. The message attributes
used for token substitution can have constant values or can reference the values
returned from item type attributes. See: To Define a Message Attribute, page 3-66
and To Token Substitute an Attribute, page 3-72.
To token substitute other message attributes in an argument string, specify the
message attributes as follows:
-&message_attr-
For example, the following string represents a URL with two arguments called
arg1 and arg2 that are token substituted with the runtime value of message
attributes msgattr1 and msgattr2, respectively:
http://www.oracle.com?arg1=-&msgattr1-&arg2=-&msgattr2-
Note: If you are defining a message attribute of type URL, you can
3.
If your URL attribute contains an argument string, you must adhere to the
following restrictions:
You cannot token substitute that argument string with another item attribute of
type Document.
You can token substitute that argument string with another Form attribute or
URL attribute. However, the argument string for the other attribute is not
further token substituted.
4.
If you need to pass a date and time as an argument to a URL, you should use
TO_CHAR to format the string as YYYY/MM/DD+HH24:MI:SS. Similarly, you need
to do the correlating format translation in the function that the URL calls, using
TO_DATE. This formatting is required because in multibyte databases, the month
portion of the DD-MON-YYYY format could potentially translate to a value that is
not acceptable across a URL.
5.
You can also use a URL attribute to include an image in a notification. Define a
'Send' message attribute of type URL that points to an image file with an extension
of gif, jpg, png, tif, bmp, or jpeg. Then use a message attribute token to include
the URL attribute in the HTML message body.
You can optionally add a prefix to the URL attribute value to control whether an
image URL attribute appears in the message body as a link or as an inline image
when the notification is viewed from the Notification Details Web page or as an
HTML-formatted e-mail.
LNK: Oracle Workflow renders the URL attribute as a link with the <A HREF>
tag. Use the following format:
LNK:<image_URL>
For example:
LNK:http://www.oracle.com/redStar.gif
IMG: Oracle Workflow renders the URL attribute as an inline image with the
<IMG> tag. Use the following format:
IMG:<image_URL>
For example:
IMG:http://www.oracle.com/redStar.gif
If you define a URL for one of the listed image types without a prefix, then the
image appears inline in the message body by default.
When defining a URL attribute to point to an image, you must provide the
complete URL for the image, either as a constant or as a value returned from
another item attribute. You cannot token substitute any argument strings within the
image URL.
Additionally, for inclusion in an e-mail notification the image must be in a location
to which the notification mailer has access, whether that location is on a Web server
or on the local file system.
Note: Oracle Workflow displays images only in the message body
6.
If you are defining a URL attribute that links to an Oracle Application Framework
page, the page must have the security mode Self secured. This security mode is
required to ensure that the page can be accessed properly if the URL link is
included in an e-mail notification. The page should also explicitly validate all
parameters provided in the URL. For more information, see: Advanced OA
Framework Development Topics > Security > Accelerated Validation >
Bookmarkable Pages in the Oracle Application Framework Developer's Guide, available
from My Oracle Support Knowledge Document 1315485.1.
By default, when a user chooses an attached URL link to an Oracle Application
Framework page in a notification, Oracle E-Business Suite displays a list of
responsibilities assigned to that user that include that page. The user can then select
the responsibility with which he or she wants to navigate to the page. When
navigating from an e-mail notification, the user must also log into Oracle E-Business
Suite before selecting a responsibility.
When you define a URL attribute for an Oracle Application Framework page, you
can optionally include Oracle Application Framework URL parameters to specify
the responsibility and application context with which you want users to access that
page. In this case, users do not need to select a responsibility when they choose the
attached URL link; instead, they can navigate directly to the page. However, you
must ensure that the users who receive the notification have the specified
responsibility assigned to them. Otherwise they will not be able to access the page
from that attached URL link.
7.
Specify a developer form function name and any optional argument string (form
function parameters) in the Default Value field of the form Attribute property page.
2.
The value of argN can be a text string enclosed in quotes (" ") or can be token
substituted with another item type attribute in any of the following ways, where
&item_attr represents the internal name of the item type attribute:
argN="&item_attr"
argN="Value &item_attr"
3.
4.
If your form attribute contains an argument string, you must adhere to the
following restrictions:
You cannot token substitute the value of argN with another item attribute of
type Document.
You can token substitute the value of that argument string with another Form
attribute or URL attribute; however, the argument string for the other attribute
is not further token substituted.
The value for each of these arguments can be a text string enclosed in quotes (" ")
or can be token substituted with another item type attribute using the following
format: "&ITEM_ATTR"
For example, the following form attribute value specifies that the Users form should
be opened from the System Administration responsibility.
FND_FNDSCAUS:#RESP_KEY="SYSTEM_ADMINISTRATION"
#APP_SHORT_NAME="SYSADMIN"
5.
Enter a string that identifies the document in the default value field of the Attribute
property page.
You can identify the following types of document for a document attribute:
A PL/SQL document
2.
Replace <procedure> with the PL/SQL package and procedure name, separated
by a period. Replace <document_identifier> with the PL/SQL argument string
that you want to pass directly to the procedure. The argument string should
identify the document.
Note: The PL/SQL procedure must follow a standard API format.
For example, the following string represents the PL/SQL document po_req:2034,
generated by the procedure po_wf.show_req.
plsql:po_wf.show_req/po_req:2034
A PL/SQL CLOB document represents data from the database as a character large
object (CLOB), generated from a PL/SQL procedure. Specify the default value of a
PL/SQL CLOB document as
plsqlclob:<procedure>/<document_identifier>
Replace <procedure> with the PL/SQL package and procedure name, separated
by a period. Replace <document_identifier> with the PL/SQL argument string
that you want to pass directly to the procedure. The argument string should
identify the document.
Note: The PL/SQL procedure must follow a standard API format.
For example, the following string represents the PL/SQL CLOB document,
po_req:2036, generated by the procedure po_wf.show_req_clob.
plsqlclob:po_wf.show_req_clob/po_req:2036
A PL/SQL CLOB document that contains text or HTML can either be displayed in
the message body of a notification or included as an attachment to the notification.
PL/SQL CLOB documents do not support further substitution of message attribute
tokens. The text or HTML contents of the CLOB are printed in a message body just
as they are generated by the PL/SQL procedure.
Ensure that the PL/SQL procedure performs any formatting you require.
data from the BLOB into VARCHAR2 data that you write to a CLOB. You can
optionally use the WF_MAIL_UTIL.EncodeBLOB procedure to encode the binary
data to base64. See: UTL_RAW, Oracle Database PL/SQL Packages and Types Reference
and EncodeBLOB, Oracle Workflow API Reference.
4.
A PL/SQL BLOB document represents data from the database as a binary large
object (BLOB), generated from a PL/SQL procedure. Specify the default value of a
PL/SQL BLOB document as
plsqlblob:<procedure>/<document_identifier>
Replace <procedure> with the PL/SQL package and procedure name, separated
by a period. Replace <document_identifier> with the PL/SQL argument string
that you want to pass directly to the procedure. The argument string should
identify the document.
Note: The PL/SQL procedure must follow a standard API format.
For example, the following string represents the PL/SQL BLOB document
po_req:2038, generated by the procedure po_wf.show_req_blob.
plsqlblob:po_wf.show_req_blob/po_req:2038
If you wish to generate the document identifier for a PL/SQL, PL/SQL CLOB, or
PL/SQL BLOB document dynamically, you can token substitute the document
identifier with other item type attributes. The item attribute names must be in
uppercase and must be separated by a colon. See: To Token Substitute an Attribute,
page 3-72.
For example:
plsql:po_wf.show_req/&ITEM_ATTR1:&ITEM_ATTR2
you can also include a special token in your argument string called
&#NID which Oracle Workflow substitutes with the notification ID
of the runtime notification.
6.
You can also use an attribute of type document to reference an Oracle Application
Framework region that you want to embed in a notification message. Specify the
JSP call to reference the region as the default value for the attribute. See: Embedding
Oracle Application Framework Regions in Messages, page 3-55.
An Oracle Application Framework region can only be displayed within the message
body of a notification. It cannot be included as an attachment to the notification.
7.
2.
Drag the item type, holding down your select mouse button, to the data store or
workspace you want to copy it to.
You can also use the Copy and Paste commands in the Edit menu.
3.
If you copy this item type back to the same data store, you get prompted to enter a
new internal and display name for the item type in the Item Type property page.
This is because every item type must have a unique internal and display name.
When you are done, choose OK.
Note that when you copy an item type, you also copy all the components associated
with the item type. Since most components must also have unique internal and
display names, you may get prompted to update those components' internal and
display names in their property pages as well.
4.
If you copy an item type to a data store where a previous version of the same item
type already exists, you update the existing version of the item type in that target
data store with the changes in the version of the item type you are copying.
Important: The order in which you drag two or more item types to
To Copy an Attribute:
1.
2.
Drag the attribute, holding down your select mouse button, to the component
branch you want to copy it to.
3.
If you copy an attribute to a component associated with the same item type, the
menu.
Related Topics
Using the Edit Button in a Property Page, page 2-7
To Define a Message Attribute, page 3-66
In the Access tab page, the 'Range of Editable Access Levels' indicator bar provides a
relative indication of the range of access levels that can edit the object. The shaded area
represents the access levels that can edit the object, while the vertical bar represents
your current access level. See: Overview of Oracle Workflow Access Protection, Oracle
Workflow Administrator's Guide.
The indicator bar can be shaded solid green, or shaded with any combination of solid
green and crosshatch grey. If the "Allow modifications of customized objects" check box
in the "About Oracle Workflow Builder" dialog box of the Help menu is:
Checked - The range of editable access levels can appear as a combination of solid
green and crosshatch grey areas. The levels depicted by grey crosshatches represent
levels that usually cannot modify customized objects, but can now do so because
Oracle Workflow Builder is operating in 'upload' mode. Upload mode means that
Oracle Workflow Builder can save your edits, overwriting any protected objects
that you have access to modify as well as any previously customized objects.
Unchecked - The range of editable access levels appears as a solid green area. This
indicates that when you save your work, Oracle Workflow Builder is operating in
'upgrade' mode, only saving edits to protected objects that you have access to
change and leaving objects that have been previously customized untouched.
These two modes match the upgrade and upload behavior of the Workflow Definitions
Loader program. See: To Set the Access Level for an Object, page 3-22 and Using the
Workflow Definitions Loader, Oracle Workflow Administrator's Guide.
2.
In the Options region, use the 'Preserve Customizations' and 'Lock at this Access
Level' check boxes to define the access levels that can modify this object. The
options that you check in this region directly affect the values that appear in the
Levels region.
The following table illustrates how the customization and protection levels of an
object are affected when you check different combinations of these options. This
table assumes that the user setting the options has an access level of 100.
Results of Access Option Combinations
Selected Checkbox
Resulting Levels
Customization = 0,
Access = 100,
Protection = 1000
Selected Checkbox
3.
Resulting Levels
Customization = 100,
Access = 100,
Protection = 1000
Customization = 0,
Customization = 100,
Access = 100,
Protection = 100
Access = 100,
Protection = 100
Lookup Types
A lookup type is a static list of values. These lists can be referenced by activities and by
item type, message or activity attributes. For example, an activity can reference a
lookup type for its possible result values, while a message attribute can reference a
lookup type as a means of providing a list of possible responses to the performer of a
notification.
When you define a lookup type, you associate it with an particular item type. However,
lookup types are not item type specific; when you create an activity or an attribute, you
can reference any lookup type in your current data store, regardless of the item type
that the lookup type is associated with.
Because lookup types can be referenced from multiple item types, the internal name
and the display name for a lookup type must both be globally unique across all item
types. You may find it useful to include a prefix such as the item type name to ensure
that the lookup type internal name and display name are unique.
Select an item type from the navigator tree and choose New Lookup Type from the
Edit menu. A Lookup Type property page appears.
2.
Select the Access tab page to set the access levels allowed to modify this lookup
type. See: Allowing Access to an Object, page 3-21.
4.
Choose Apply to save your changes, OK to save your changes and close the
property page, or Cancel to cancel your changes and close the property page.
5.
The lookup type you just defined now appears beneath the Lookup Types branch in
the navigator tree. You can review or edit the properties of this lookup type at any
time by double-clicking on the lookup type in the navigator tree or by selecting the
lookup type and choosing Properties from the Edit menu.
6.
Now define the lookup codes for your lookup type. See: To Create Lookup Codes
for a Lookup Type, page 3-26.
Select a lookup type from the navigator tree and choose New Lookup Code from
the Edit menu. A Lookup Code property page appears.
Lookup Code Property Page
2.
Enter an Internal Name with no leading/trailing spaces and a Display Name for the
lookup code. You can also enter an optional description. All Oracle Workflow APIs,
SQL scripts, and PL/SQL procedures refer to the internal name when identifying a
lookup code.
Important: To update the internal name for a lookup code once it is
You should only use this script to correct errors in a lookup code's
internal name during design time. Do not use this script to rename
lookup codes that are involved in running instances of processes.
See: Wfchluc.sql, Oracle Workflow Administrator's Guide.
3.
Choose Apply to save your changes, OK to save your changes and close the
property page, or Cancel to cancel your changes and close the property page.
4.
The lookup code you just defined now appears beneath the lookup type you
created it for in the navigator tree. You can review or edit the properties of this
lookup code at any time by double-clicking on the lookup code in the navigator tree
or by selecting the lookup code and choosing Properties from the Edit menu.
5.
Repeat steps 1, 2, and 3 if you wish to create additional lookup codes for a specific
lookup type.
2.
Use the Copy and Paste options in the Edit menu to copy and paste the lookup type
to the item type you want. You can also drag and drop the lookup type to the item
type you want.
If you copy a lookup type back to the same item type, or if you copy a lookup
type to an item type in a different data store when the lookup type already
exists in any item type in that data store, then the property page appears for
you to enter a unique internal and display name for the new lookup type. When
you are done, choose OK.
If you copy a lookup type to an item type in a different data store, and that
lookup type does not yet exist in any item type in that data store, then the new
lookup type is copied with the same internal and display name as the original.
You do not have to enter new names.
Note: Copying a lookup type also copies any lookup codes
assigned to it.
Note: You cannot use the Copy and Paste options to copy a lookup
type to another item type in the same data store. However, you can
drag and drop a lookup type to another item type in the same data
store; by doing so, you actually move the lookup type to the new
item type.
2.
Hold down your mouse select button as you drag the lookup code to the lookup
type you want to copy it to.
3.
If you drag the lookup code to the same lookup type or to a lookup type where this
code already exists, then when you release your mouse button, a properties page
appears for you to enter a unique internal and display name the new lookup code.
When you are done, choose OK.
Note: You can also use the Copy and Paste options in the Edit
menu.
Messages
The Messages branch of the navigator tree lists all available workflow messages for the
current item type.
A message is what a notification activity sends to a role in a workflow process. A
message can prompt a user for a reply or an action to take that determines what the
next activity in the process should be. The recipient of a workflow message is called the
performer.
Each message is associated with a particular item type. This allows the message to
reference the item type's attributes for token replacement at runtime when the message
is delivered.
When you define a message, you can specify that the message prompts a recipient for a
special result response value that the Workflow Engine then uses to determine how to
branch to the next eligible activity in the process. You can create a message with
context-sensitive content by including message attribute tokens in the message subject
and body that reference item type attributes. You can also use message attribute tokens
to embed inline images in the message body. A message function lets you include a
formatted table of message attributes or an action history table in the message body.
You can also attach message attributes that represent entire documents or URLs to a
notification message. In addition, you can create message attributes that generate a
response section that is unique to the message. You can also embed an Oracle
Application Framework region within the message body.
You can drag a message onto the Notifications branch to create a new notification
activity that sends that message. You can also drag a message directly onto an existing
notification activity to update the message that the activity sends.
Note: You can display message attributes specific to particular types of
Message Result
When you create a message for a notification activity, you should make note of whether
the notification activity has a Result Type specified. If it does, then the message you
create needs to prompt the notification recipient for a special response that is
interpreted as the result of the notification activity. The Workflow Engine uses that
result to determine how it should branch to the next eligible activity in the process.
To create a message that prompts for this special response, complete the Result tab in
the message's property page. The information you enter creates a special 'Respond'
message attribute for the message that has an internal name of RESULT. The RESULT
message attribute has a data type of Lookup and must be set to the same lookup type as
the notification activity's Result Type. This ensures that the performer of the notification
can choose from a list of possible response values that matches the list of possible
results that the notification activity is expecting. See: Send and Respond Message
Attributes, page 3-29.
A message attribute defined with a source of 'Respond' constitutes the response section
of a message. A 'Respond' message attribute provides instructions that prompts a
recipient for a response. When you define a 'Respond' message attribute, you must
specify the data type of the attribute. You can also provide an optional default value for
the response. The default value can be a constant or a value returned from an item type
attribute of the same data type.
You can define 'Respond' message attributes of type URL or form if you want the
notification recipient to respond to the notification through the specified Web page or
form. In this case that custom Web page or form must mark the notification as closed
and include a call to the Workflow Engine CompleteActivity() API to inform the
Workflow Engine when the notification response is complete. Also, you must not define
any 'Respond' message attributes of other types. Any response values that are required
must be entered in the specified Web page or form. See: CompleteActivity, Oracle
Workflow API Reference.
If you define 'Respond' message attributes of type URL or form, the Notification Details
page will display only the URL response links or form response icons and will not
display any other response fields. However, users will still be able to reassign or request
more information for the notification as usual, if the notification is defined to allow
those options.
See: Message Attributes, Oracle Workflow Administrator's Guide.
Action History
A notification that is sent to an unexpanded recipient role can include an action history
table that shows what actions users have performed on the notification to date. The
action history table contains a row for each previous execution of the same notification
activity node in a process, as well as a row for the initial submission of the process. For
example, for a requisition approval notification activity that sends a certain notification
to several approvers in turn, the action history table would contain a row for each
approver to whom the notification was sent, as well as a row for the process owner.
Additionally, if a notification is reassigned to another user in either delegate or transfer
mode, or if one user requests more information about the notification and another user
answers or transfers that request, the action history contains rows for those actions also.
If Oracle Workflow cannot apply a vacation rule because the rule would reassign the
notification to the process owner or the from role for the notification, then the action
history contains a row showing that the reassignment was prevented and the rule was
not applied.
If the notification does not require a response, then Oracle Workflow only includes
the action history table automatically if the notification has been reassigned at least
once or if at least one recipient has requested more information about the
notification. However, you can manually include the action history table by calling
the special message function WF_NOTIFICATION(HISTORY) in the message body.
Note: Oracle Workflow does not support including the action history in
a notification with the Expand Roles check box selected, which causes a
separate copy of the notification to be sent to each user in the recipient
role. See: Notification Activity, page 3-74.
The formatting of the action history table depends on whether the notification contains
an embedded Oracle Application Framework region.
If the notification does not contain any Oracle Application Framework regions, but
does contain references to other types of message attributes, then the table is
formatted in a standard Oracle Workflow format.
The standard action history table provided by Oracle Workflow includes the following
columns:
Num - A sequence number indicating the order in which the actions on this
notification took place, beginning at one (1) for the initial submission of the process
by the process owner.
To - The next user who must act on the notification as a result of this action. For
example, the next approver, the user to whom the notification was reassigned, or
the user from whom more information was requested.
Details - An additional note from the user who performed the action. To allow a
recipient to add a note for the action history table while responding, you must
create a special 'Respond' message attribute with the internal name WF_NOTE.
Define the message attribute with the following properties:
Description - Note
Type - Text
Source - Respond
Note: You must not include any spaces or carriage returns in the call to
The message attribute table contains a row for each message attribute listed in the
WF_NOTIFICATION() call, showing the display name and the value for each attribute.
The action history table contains the standard action history information provided by
Oracle Workflow, unless you have defined the #HISTORY attribute for a message to use
a custom action history region instead. See: Action History, page 3-30 and #HISTORY
Attribute, page 3-42.
#WF_REASSIGN_LOV Attribute
You can use a special message attribute with the internal name #WF_REASSIGN_LOV to
specify the users to whom a message can be reassigned. Create a role whose members
are all the users that you want to allow as possible new recipients when the notification
is reassigned, and assign this role as the value for the #WF_REASSIGN_LOV attribute.
Then, when the notification recipient attempts to reassign the notification, only the
users that belong to that role will appear in the list of values for the Assignee fields in
the Reassign Notifications page. See: To Reassign a Notification to Another User, Oracle
Workflow User's Guide.
The #WF_REASSIGN_LOV attribute must be of type role and must have a source of
Send. You can either specify a particular role as a constant value for the
#WF_REASSIGN_LOV attribute, or specify an item type attribute as the value and
include logic in your workflow process that dynamically sets that item type attribute to
the role you want at runtime. If no existing role meets your needs, you can include logic
in your process to create an ad hoc role at runtime and add the users you want to that
user list of values that allow access only to specific partitions within the
Oracle Workflow directory service, then the recipient can only select
roles from those partitions in the Assignee fields in the Reassign
Notifications page and the Vacation Rule: Response page, even if the
role you specify as the #WF_REASSIGN_LOV attribute value also
includes roles in other partitions. See: Configuring the Oracle
Workflow User List of Values, Oracle Workflow Administrator's Guide.
However, note that the #WF_REASSIGN_LOV attribute overrides any
grants that restrict access to specific user and role values in the Oracle
Workflow user list of values. If you define the #WF_REASSIGN_LOV
attribute, then the Assignee fields display the roles included in the
#WF_REASSIGN_LOV attribute value that are within the available
partitions.
#HIDE_REASSIGN Attribute
You can use a special message attribute with the internal name #HIDE_REASSIGN to
hide the Reassign button in the Notification Details Web page. The response section in
the Notification Details page includes the Reassign button by default. If you want to
restrict users from reassigning a notification, you can add the #HIDE_REASSIGN
attribute to control whether the Reassign button is displayed or hidden. See: To
Reassign a Notification to Another User, Oracle Workflow User's Guide.
Note: The Notification Details page may include the Delegate button or
not apply any vacation rules to reassign those notifications, but simply delivers the
notifications to the worklist of the original recipient. You can also choose to hide the
Reassign button but still allow reassignment through vacation rules.
The #HIDE_REASSIGN attribute must be either of type text or lookup.
To hide the Reassign button in the Notification Details page, and to prevent
reassignment from the Advanced Worklist, Personal Worklist, and self-service
home page, as well as through vacation rules, set the value of this attribute to Y.
To hide the Reassign button in the Notification Details page, and to prevent
reassignment from the Advanced Worklist, Personal Worklist, and self-service
home page, but still allow reassignment through vacation rules, set the value of this
attribute to B.
To display the Reassign button in the Notification Details page, and to allow
reassignment from the Advanced Worklist, Personal Worklist, self-service home
page, and vacation rules, set the value to N.
Note: If you want to prevent reassignment in all cases, it is
If you only want to restrict reassignment in certain cases, specify an item type
attribute as the value. Then include logic in your workflow process that
dynamically determines at runtime whether reassignment should be permitted or
restricted and sets the item type attribute to Y, B, or N, accordingly.
Note: Users who have workflow administrator privileges can reassign
#HIDE_MOREINFO Attribute
You can use a special message attribute with the internal name #HIDE_MOREINFO to
hide the Request Information button in the Notification Details page. When users view
a notification that requires a response from their Worklist page, the response region in
the Notification Details page includes the Request Information button by default. If you
want to prevent users from requesting more information about a notification, you can
add the #HIDE_MOREINFO attribute to control whether the Request Information button
is displayed or hidden.
Note: The #HIDE_MOREINFO attribute also determines whether the
The #HIDE_MOREINFO attribute must be either of type text or lookup. To hide the
Request Information button, set the value of this attribute to Y. To display the Request
Information button, set the value to N.
Note: It is recommended to define the #HIDE_MOREINFO attribute with
a type of lookup and assign it the predefined Yes/No lookup type that
is provided in the Standard item type. The Yes/No lookup type
contains two lookup codes with the display names Yes and No,
representing the values Y and N, respectively.
If you always want to hide the Request Information button for notifications using a
particular message, specify the value Y as a constant.
If you only want to hide the Request Information button in certain cases, specify an
item type attribute as the value. Then include logic in your workflow process that
dynamically determines at runtime whether the button should be hidden or
displayed and sets the item type attribute to Y or N, respectively.
#MORE_INFO_PARTICIPANTS Attribute
You can use a special message attribute with the internal name
#MORE_INFO_PARTICIPANTS to designate additional users or roles from whom the
notification recipient can request more information. When a user chooses to request
more information about a notification, the Request More Information From page or the
e-mail request template includes a list of workflow participants to whom the user can
choose to send the request. By default, the list of workflow participants includes the
following:
The owner of this workflow process and the owner of the parent process, if this
process has a parent
The current recipient roles of all notifications sent by this workflow process or its
parent process
The original recipient roles of all notifications sent by this workflow process or its
parent process, if any notifications were reassigned
The From roles for all notifications sent by this workflow process or its parent
process
If you want to designate additional users as participants from whom information about
this message can be requested, create a role whose members are all the users that you
want to add, and assign this role as the value for the #MORE_INFO_PARTICIPANTS
attribute. Then, when the notification recipient chooses to request more information, the
users that belong to that role are added to the default list of workflow participants.
The #MORE_INFO_PARTICIPANTS attribute must be of type role and must have a
source of Send. You should specify an item type attribute as the value for the
#MORE_INFO_PARTICIPANTS attribute and include logic in your workflow process
that dynamically sets that item type attribute to the role you want at runtime. If no
existing role meets your needs, you can include logic in your process to create an ad hoc
role at runtime and add the users you want to that role.
See: To Respond to an HTML E-mail Notification, Oracle Workflow User's Guide and To
Request More Information From Another User, Oracle Workflow User's Guide.
#FROM_ROLE Attribute
You can use a special message attribute with the internal name #FROM_ROLE to specify
the role that is the source of a notification. For example, if you have a notification that
informs an approver that a requisition was submitted, you can set the requisition
preparer as the From Role for the message.
If a notification with this attribute is reassigned through the Worklist Web pages, Oracle
Workflow automatically sets the From Role to the previous recipient when sending the
notification to the new recipient. Also, Oracle Workflow automatically sets the From
Role for a request for more information to the user who sent the request, and sets the
From Role for a response providing more information to the user who sent the
response.
The From Role for each notification is displayed in the Worklist Web page and in e-mail
notifications to give users additional information for reviewing and responding to the
notifications. Additionally, the Notification Search page and Personal Worklist let you
search for notifications based on the From Role. See: To View Notifications from the
Advanced Worklist, Oracle Workflow User's Guide, Searching for Users' Notifications in
Oracle E-Business Suite, Oracle Workflow Administrator's Guide, and To View
Notifications from the Personal Worklist, Oracle Workflow User's Guide.
To enhance security, Oracle Workflow does not allow a notification to be reassigned to
the role specified as its From Role.
The #FROM_ROLE attribute must be of type role and must have a source of Send. The
display name and description of the attribute should both be From Role. You should
specify an item type attribute as the value for the #FROM_ROLE attribute and include
logic in your workflow process that dynamically sets that item type attribute to the role
you want at runtime.
#WF_SIG_POLICY Attribute
You can use a special message attribute with the internal name #WF_SIG_POLICY to
require that a user's response to a notification be signed electronically. This electronic
signature is analogous to a written signature. If you define a notification to require an
electronic signature, users must respond to the notification from the Notification Details
Web page and enter the appropriate type of signature. Otherwise, the response will not
be considered valid.
Verifies that the signature was well formed, that it was created with a private
key corresponding to the offered signing certificate, and that it is signing the
plain text that it purports to sign.
Confirms that this user is authorized to sign the notification by checking that
the certificate is assigned to a user who is a member of the recipient role for the
notification.
Confirms that the certificate used to create the signature was valid at the time
the signature was received, meaning it had not expired or been revoked. To
validate a certificate, Oracle Workflow checks that the certificate does not
appear on a certificate revocation list (CRL) issued by the certificate authority
after the time the signature was received.
The signed response text for both types of signatures contains the notification header
information and the response values entered by the user. You can optionally require the
signed response text to include the notification message body as well.
Note: If the message body contains a link or an image, the signed
response text includes the HTML code used to reference the link or
image, rather than the content of the referenced file itself. The signed
response text does not include notification attachments.
To require a password-based signature and include the message body in the signed
response text, set the value of the #WF_SIG_POLICY attribute to PSIG_BODY.
To require a certificate-based digital signature and include the message body in the
signed response text, set the value of the #WF_SIG_POLICY attribute to
PKCS7X509_BODY.
If you set the value to DEFAULT, leave the value blank, or if you do not define a
#WF_SIG_POLICY attribute for the message, Oracle Workflow performs the default
response processing that does not require a signature.
For ease of maintenance, you can define the #WF_SIG_POLICY attribute with a type of
lookup and assign it the predefined Signature Policy lookup type provided in the
Standard item type. The Signature Policy lookup type contains five lookup codes with
the display names Password Signature, Password Signature With Body, X509 Signature,
X509 Signature With Body, and Default, representing the values PSIG_ONLY,
PSIG_BODY, PKCS7X509_ONLY, PKCS7X509_BODY, and DEFAULT, respectively.
You can also define the #WF_SIG_POLICY attribute with a type of text. In this case, you
must manually maintain the values that you set for this attribute.
You can either specify a constant value for the #WF_SIG_POLICY attribute, or specify
an item type attribute as the value and include logic in your workflow process that
dynamically determines at runtime whether a signature should be required or not and
sets that item type attribute accordingly.
Oracle Workflow records the status of requested and submitted signatures in the
Signature Evidence Store, for both password-based signatures and certificate-based
digital signatures. You can search for signatures in the Signature Evidence Store to
check the status of a signature request and review details that provide evidence of the
signature. If your business logic requires a signature to be validated as a prerequisite for
other activities, your workflow can include a notification to an administrator to confirm
the signature status before continuing. See: Reviewing Electronic Signature Details,
Oracle Workflow Administrator's Guide.
To preserve electronic signature evidence for future reference, the Purge Obsolete
Workflow Runtime Data concurrent program and the Oracle Workflow purging APIs
by default do not delete any notifications that required signatures or their associated
signature information. If you anticipate needing access to signature evidence after the
associated workflow processes are complete, ensure that you choose to preserve
signature data when purging. If you do not need to maintain signature evidence, you
can choose to delete signature-related information when purging. See: Purging
Workflow Data, Oracle Workflow Administrator's Guide and Workflow Purge APIs, Oracle
Workflow API Reference.
For more information, see: Setting Up for Electronic Signatures, Oracle Workflow
Administrator's Guide, Electronic Signatures, Oracle Workflow User's Guide, Viewing
Responses, Oracle Workflow Administrator's Guide, and NtfSignRequirementsMet, Oracle
Workflow API Reference.
#WF_SIG_ID Attribute
You can specify an electronic signature policy for notifications by defining the
#WF_SIG_POLICY message attribute. If you specify a signature policy that requires an
electronic signature to confirm a user's response to a notification, Oracle Workflow
creates another message attribute named #WF_SIG_ID after the notification is signed.
The #WF_SIG_ID attribute stores the identifier for the signature, which you can use to
reference information about the signature later if necessary. This attribute is of type text
and has a source of 'Respond'.
Note: Oracle Workflow automatically creates and sets the value of the
#WF_SECURITY_POLICY Attribute
You can use a special message attribute with the internal name
#WF_SECURITY_POLICY to control whether notifications that include sensitive content
can be sent in e-mail. If you specify that a notification's content must not be sent in
e-mail, users receive an e-mail message that only informs them that they must access
the notification through the Notification Details Web page instead to view its content
and respond. To access the Notification Details page, users can either log into Oracle
E-Business Suite separately, or, if their notification preference includes HTML
attachments, use the Notification Detail Link. See: Reviewing Notifications via
Electronic Mail, Oracle Workflow User's Guide.
The #WF_SECURITY_POLICY attribute must be of type text. To prevent notification
content from being sent in e-mail, set the value of the #WF_SECURITY_POLICY
attribute to NO_EMAIL. If you set the value to EMAIL_OK or DEFAULT, leave the value
blank, or if you do not define a #WF_SECURITY_POLICY attribute for the message,
Oracle Workflow sends the full notification content in e-mail to users whose notification
preference is set to receive e-mail.
You can either specify a constant value for the #WF_SECURITY_POLICY attribute, or
specify an item type attribute as the value and include logic in your workflow process
that dynamically determines at runtime whether the notification content can be sent in
e-mail or not and sets that item type attribute accordingly.
Header Attributes
You can use special header message attributes to display key information in the
notification header region of the Notification Details page. Header attributes are also
displayed at the beginning of e-mail notifications. To identify a message attribute as a
header attribute, you must define an internal name for it that begins with #HDR_ using
the following format:
#HDR_<name>
The display order of any header attributes in the Notification Details page or the e-mail
notification is determined by the sequence of those attributes within the navigation tree
in the Workflow Builder. The display name of each header attribute will appear as a
label before the attribute value in the notification header region. You can either specify
a constant value for each attribute, or specify an item type attribute as the value and
include logic in your workflow process that dynamically sets the item type attribute
value at runtime.
#HDR_REGION Attribute
The notification header region by default contains general message information such as
the from role, recipient, sent date, due date, and notification ID, together with any
special header attributes defined for the notification and any linked Oracle E-Business
Suite attachments. You can optionally use a special message attribute with the internal
name #HDR_REGION to replace this default header with a custom header region.
Your custom header must be defined as an Oracle Application Framework region. For
more information about building an Oracle Application Framework region, refer to the
Oracle Application Framework Developer's Guide, available from My Oracle Support
Knowledge Document 1315485.1.
The #HDR_REGION attribute must be of type document and must have a source of Send.
Set the value of this attribute to a Java Server Page (JSP) call that references your custom
header region. For detailed instructions on how to specify the attribute value, see:
Embedding Oracle Application Framework Regions in Messages, page 3-55.
Note: The Frame Target field is not applicable for message attributes of
type document. Additionally, you must not select the Attach Content
check box for the #HDR_REGION attribute.
#RELATED_APPL Attribute
The Related Applications region in Oracle Application Framework-based notifications
by default contains icons with links to attached URLS, documents, or forms. You can
optionally use a special message attribute with the internal name #RELATED_APPL to
replace this default region with a custom Related Applications region.
Your custom Related Applications region must be defined as an Oracle Application
Framework region. For more information about building an Oracle Application
Framework region, refer to the Oracle Application Framework Developer's Guide, available
from My Oracle Support Knowledge Document 1315485.1.
The #RELATED_APPL attribute must be of type document and must have a source of
Send. Set the value of this attribute to a Java Server Page (JSP) call that references your
custom region. For detailed instructions on how to specify the attribute value, see:
Embedding Oracle Application Framework Regions in Messages, page 3-55.
Note: The Frame Target field is not applicable for message attributes of
type document. Additionally, you must not select the Attach Content
check box for the #RELATED_APPL attribute.
#HISTORY Attribute
Response-required notifications and some FYI notifications include an action history
table. You can optionally use a special message attribute with the internal name
#HISTORY to replace the default action history table provided by Oracle Workflow with
a custom action history region. See: Action History, page 3-30.
Your custom action history table must be defined as an Oracle Application Framework
region, or as a PL/SQL or PL/SQL CLOB document that contains text or HTML. For
more information about building an Oracle Application Framework region, refer to the
Oracle Application Framework Developer's Guide, available from My Oracle Support
Knowledge Document 1315485.1.
The #HISTORY attribute must be of type document and must have a source of Send. For
an Oracle Application Framework region, set the value of this attribute to a Java Server
Page (JSP) call that references your custom action history region. For detailed
instructions on how to specify the attribute value, see: Embedding Oracle Application
Framework Regions in Messages, page 3-55.
For a PL/SQL or PL/SQL CLOB document, set the attribute value to the procedure and
document ID from which the document is generated. See: To Define a Document
Attribute, page 3-17.
Note: The Frame Target field is not applicable for message attributes of
type document. Additionally, you must not select the Attach Content
check box for the #HISTORY attribute.
#SUBMIT_COMMENTS Attribute
The action history region for notifications begins with a row for the initial submission of
the process, when the notification is first sent. You can optionally use a special message
attribute with the internal name #SUBMIT_COMMENTS to display comments from the
process owner for this initial action. See: Action History, page 3-30.
The #SUBMIT_COMMENTS attribute must be of type text and must have a source of
Send. You should specify an item type attribute as the value for the
#SUBMIT_COMMENTS attribute and include logic in your workflow process that
dynamically sets that item type attribute to contain the comments at runtime. Ensure
that you provide a way for the process owner to enter the comments when submitting
the process and store the comments in the appropriate item type attribute.
#RELATED_HISTORY Attribute
You can use a special message attribute with the internal name #RELATED_HISTORY to
include the action history of one notification in another notification. For example, if a
workflow process contains a notification that submits a request for approval and
another notification that informs the requestor whether the request was approved or
rejected, the second notification can include the action history of the first notification to
show the requestor more details about the approvers' decisions.
You can include related action history in both FYI (For Your Information) and
response-required notifications. Each notification can only include the related action
history for one related notification. The related notification can belong to the same work
item or to a different work item, identified by the item type and item key.
The notification for which you define the #RELATED_HISTORY attribute must be
formatted using an embedded Oracle Application Framework region. See: Embedding
Oracle Application Framework Regions in Messages, page 3-55.
The related action history table appears as an embedded Oracle Application Framework
region. The default title for the table is Related Action History. You can
optionally specify a custom title to use instead. The related action history table includes
the same columns as the default action history table for a notification's own action
history. See: Action History, page 3-30.
The #RELATED_HISTORY attribute must be of type text and must have a source of
Send. Specify the value for this attribute in the following format:
{<title>}[<item_type>:<item_key>]<process_name>:<activity_label_name>
If you want to display a custom title for the related action history table, then replace
<title> with the custom title. If you want to use the default title, then you can
omit {<title>} from the attribute value.
If necessary, specify the item type and item key for the work item to which the
related notification belongs.
If the related notification belongs to a different work item than this notification,
then replace <item_type> and <item_key> with the item type and item key
for that work item, respectively.
If the related notification belongs to a work item that is a parent of the work
item to which this notification belongs, then replace <item_type> with the
item type for the parent work item. In this case Oracle Workflow derives the
item key automatically, so you can omit :<item_key> from the attribute
value.
If the related notification belongs to the same work item as this notification,
then you can omit [<item_type>:<item_key>] from the attribute value.
If the activity node label name does not uniquely identify the activity node of the
related notification within the item type, then replace <process_name> with the
internal name of the process to which the related notification activity node belongs.
If the activity node label name is unique within the item type, then you can omit
<process_name>: from the attribute value.
For instance, the following example shows the attribute value for a related notification
in another work item, fully qualified with the process name, specifying a custom table
title.
{Approval History}[WFDEMO:1234]NOTIFYAPPROVER:NTF_APPROVE_REQUISITION
The following example shows the attribute value for a related notification in another
work item, that is unique within its item type and does not require the process name to
be specified, and that will be displayed with the default table title.
[WFDEMO:1234]NTF_APPROVE_REQUISITION
The following example shows the attribute value for a related notification in a parent
work item, fully qualified with the process name, specifying a custom table title.
{Approval History}[WFDEMO]NOTIFYAPPROVER:NTF_APPROVE_REQUISITION
The following example shows the attribute value for a related notification in the same
work item, fully qualified with the process name, specifying a custom table title.
{Approval History}NOTIFYAPPROVER:NTF_APPROVE_REQUISITION
The following example shows the attribute value for a related notification in the same
work item, that is unique within its item type and does not require the process name to
be specified, and that will be displayed with the default table title. Note that in this case
only the activity node label name is required.
NTF_APPROVE_REQUISITION
You can either specify a constant value for the #RELATED_HISTORY attribute, or
specify an item type attribute as the value and include logic in your workflow process
that dynamically determines the related notification details at runtime and sets that
item type attribute accordingly. You can also token substitute individual arguments in
the #RELATED_HISTORY attribute value with other message attributes. The message
attributes used for token substitution in turn can have constant values or can reference
the values returned from item type attributes. See: To Token Substitute an Attribute,
page 3-72.
For instance, the following example shows the attribute value using token substitution
for a related notification in another work item, fully qualified with the process name,
specifying a custom table title.
{&TITLE}[&ITEM_TYPE:&ITEM_KEY]&PROCESS_NAME:&ACTIVITY_LABEL_NAME
In this example the values for the title, item type, item key, process name, and activity
label name are derived from the values of other message attributes named TITLE,
ITEM_TYPE, ITEM_KEY, PROCESS_NAME and ACTIVITY_LABEL_NAME,
respectively.
Note: The format for the #RELATED_HISTORY attribute value has been
You can also create personalizations for an Oracle Application Framework region at site
level. In this case the personalizations will automatically be applied when the region
appears embedded in a notification, as well as when it appears in any other location.
#WFM_FROM - Define this attribute for a message to specify the value that appears in
the From field of the message header when the e-mail notification message is
delivered to a user. If the #WFM_FROM message attribute is defined for a notification,
the notification mailer that sends the message will use the #WFM_FROM attribute
value in the From field for that message, overriding the mailer's From parameter
value.
#WFM_REPLYTO - Define this attribute for a message to specify the address of the
e-mail account that receives incoming messages, to which e-mail notification
responses should be sent. If the #WFM_REPLYTO message attribute is defined for a
notification, the notification mailer that sends the message will use the
#WFM_REPLYTO attribute value as the reply address for that message, overriding
the mailer's Reply-To Address parameter value.
#WFM_HTMLAGENT - Define this attribute for a message to specify the base URL that
identifies the HTML agent that handles HTML notification responses. This URL is
required to support e-mail notifications with HTML attachments. The default URL
for Oracle E-Business Suite is derived from the Applications Servlet Agent (
APPS_SERVLET_AGENT) profile option. You can define a different value for a
particular notification mailer in the mailer's HTML Agent parameter. You can also
override any other HTML agent value by defining a different value for this
attribute. If the #WFM_HTMLAGENT message attribute is defined for a notification,
the notification mailer that sends the message will use the #WFM_HTMLAGENT
attribute value as the HTML agent for that message, overriding both the underlying
default and the mailer's HTML Agent parameter value.
The HTML agent value for Oracle E-Business Suite should have the following
format:
http://<server_name:port>/OA_HTML/
#WFM_LANGUAGE - Define this attribute for a message to specify the value of the
NLS_LANGUAGE database initialization parameter that determines the language for
the e-mail notification. Set the attribute value to a language name supported by the
Oracle Database, such as ARABIC. If the #WFM_LANGUAGE message attribute is
defined with a valid value for a notification, the notification mailer that sends the
message will use the #WFM_LANGUAGE attribute value when generating the e-mail
message, overriding the language preference of the recipient role.
#WFM_TERRITORY - Define this attribute for a message to specify the value of the
NLS_TERRITORY database initialization parameter that determines the
territory-dependent formatting for the e-mail notification. Set the attribute value to
a territory name supported by the Oracle Database, such as UNITED ARAB
EMIRATES. If the #WFM_TERRITORY message attribute is defined with a valid value
for a notification, the notification mailer that sends the message will use the
#WFM_TERRITORY attribute value when generating the e-mail message, overriding
the territory preference of the recipient role.
Note: The #WFM_LANGUAGE and #WFM_TERRITORY attributes
Set the attribute value to Y to encode the message with character encoding
according to the language specified in the notification recipient's user
preferences. Oracle Workflow takes the character encoding for the language
either from the WF_LANGUAGES table or from the override settings specified
in the Character Encoding Configuration page.
Set the attribute value to N to send the message in the default character
encoding for the database or the override character encoding specified in the
Character Encoding Configuration page.
DEFAULT - The notification mailer uses the default delimiters, currently set as
the single quote (') for both the opening and the closing delimiter.
APOS - The notification mailer uses the single quote, or apostrophe ('), as both
the opening and the closing delimiter. This setting is currently the same as the
default.
QUOTE - The notification mailer uses the double quote (") as both the opening
and the closing delimiter.
BRACKET - The notification mailer uses the left bracket ([) as the opening
delimiter and the right bracket (]) as the closing delimiter.
Using single quotes as the delimiters accommodates e-mail applications that cannot
process double quotes in the <A HREF="mailto:"> tag for the response template link,
but can accept single quotes. However, if you want users to be able to use
apostrophes or single quotes in their response values without entering an escape
character, you can use double quotes or brackets as the delimiters, depending on
what your e-mail application supports. For example, Microsoft Outlook Express
does not support using double quotes, so if you use Microsoft Outlook Express, you
can set the #WFM_HTML_DELIMITER attribute to DEFAULT, APOS, or BRACKET, but
you should not set this parameter to QUOTE. See: To Respond to an HTML E-mail
Notification, Oracle Workflow User's Guide.
Note: If the #WFM_HTML_DELIMITER attribute is set to an invalid
For more information, see: Notification Mailer Configuration Wizard, Oracle Workflow
Administrator's Guide, Setting Up Notification Mailers, Oracle Workflow Administrator's
Guide. and Locale Data, Oracle Database Globalization Support Guide.
For example, to specify the Workflow Open Mail (Templated) message within the
System: Mailer item type, you would enter the following value:
WFMAIL:OPEN_MAIL
You can either specify a constant value for a message template attribute, or specify an
item type attribute as the value and include logic in your workflow process that
dynamically determines at runtime which message template to use and sets that item
type attribute accordingly.
You can define the following attributes to specify templates to be used for a notification
message at various stages in e-mail notification processing.
#WFM_OPEN_MAIL - Specify the template to use for e-mail notifications that require
a response, if you are using the templated response method.
#WFM_CC - Define this attribute to specify one or more secondary recipients for a
notification e-mail message. These recipients are stored in the CC (Carbon Copy)
field of the message header.
#WFM_BCC - Define this attribute to specify one or more additional recipients for a
notification e-mail message whose identities are not included in copies of the
message sent to the primary and secondary recipients. These recipients are stored in
the BCC (Blind Carbon Copy) field of the message header.
The #WFM_CC and #WFM_BCC attributes must be of type text and must have a source of
Send. Specify the attribute value as a list of the e-mail addresses or role names of the
additional recipients, separated by semicolons (;).
If you specify e-mail addresses, each address must be fully qualified with a valid
domain. If any addresses are not fully qualified, the notification mailer treats them
as role names.
If you specify role names, ensure that those roles have valid e-mail addresses
defined.
You can either specify a constant value for each attribute, or specify an item type
attribute as the value and include logic in your workflow process that dynamically
determines the e-mail address at runtime and sets that item type attribute accordingly.
The notification mailer sends the CC and BCC recipients copies of the e-mail message
generated for the primary recipient. However, the CC and BCC recipients are not added
to the recipient role for the notification in the Notification System.
CC and BCC recipients receive the notification e-mail message only if the primary
recipient has a notification preference of MAILTEXT, MAILHTML, MAILHTM2, or
MAILATTH, and the format of the e-mail is determined by the notification, language,
and territory preferences of the primary recipient.
If the primary recipient has one of the listed notification preferences, the
notification mailer sends the notification e-mail message to CC and BCC recipients
irrespective of their own notification preferences. However, the notification mailer
does check whether any CC or BCC recipients that are specified as role names have
a notification preference of DISABLED, which indicates that the e-mail address on
record for the role is invalid. To help avoid unnecessary processing, the notification
mailer does not send further e-mails to roles marked with the DISABLED
preference. See: Outbound Notification Mailer Processing, Oracle Workflow
Administrator's Guide.
If the primary recipient is a role with multiple members, each of whom receives an
individual notification e-mail message, then the CC and BCC recipients receive
copies of all the e-mail messages sent to all the primary recipient role members.
The notification does not appear in the worklists of CC and BCC recipients.
CC and BCC recipients do not receive copies of any requests for more information
about a notification, nor of any answers providing more information.
Adding CC and BCC recipients is recommended only for FYI notifications. If you do
add CC or BCC recipients to a response-required notification, consider whether the
additional recipients should be able respond to the notification, and set up your security
options accordingly.
If the notification includes the Notification Detail Link attachment and you enable
guest access to the Notification Details page, then CC and BCC recipients can use
the Notification Detail Link attachment to access the Notification Details page, and
view and respond to the notification there. If you do not want CC and BCC
recipients to access the Notification Details page, then you should disable guest
access, or require your users to set notification preferences that do not include the
Notification Detail Link attachment, such as MAILTEXT or MAILHTM2.
If the notification allows responses by e-mail and you select the Allow Forwarded
Response mailer configuration parameter, then CC and BCC recipients can respond
to the notification by e-mail. If you do not want CC and BCC recipients to respond
by e-mail, deselect the Allow Forwarded Response mailer configuration parameter,
or choose notification options that require users to respond through the Notification
Details page. For example, users must use the Notification Details page to respond
to notifications that require electronic signatures and notifications marked as
including secure content not sent by e-mail. See: #WF_SIG_POLICY_ATTRIBUTE,
Type
Format/Lookup
Type
Display Name
Description
RESULT
lookup
WFSTD_APPRO
VAL
Action
Do you approve?
COMMENT
text
2000
Review
Comments
REQDATE
date
DD-MON-YYYY
Required Date
If there is no
required date,
leave this blank.
MAXAMT
number
Maximum
Amount
This is the
maximum
approved
amount.
For the templated response method, the following boilerplate text is used to generate
the Response template section of an e-mail notification:
<Description><Display Name>: " "
<list of lookup codes>
For the direct response method, the following boilerplate text is used to generate the
Response section of an e-mail notification:
Enter the <Display Name> on line <Sequence>. <Description><Type_Hint>
<Display Name> is replaced with the Display Name of the message attribute.
<Sequence> is replaced with the relative sequence number of the 'Respond' message
attribute as it appears in the Navigator tree among all 'Respond' message attributes
(that is, the presence of 'Send' message attributes is ignored when determining the
sequence). <Description> is replaced with the Description of the message attribute.
In addition, <Type_Hint> is replaced with a hint statement if the message attribute
matches a data type that has a hint. The following table shows the data types with hints
and the corresponding hint statements.
Type Hint
Lookup
Date
Number
Text
Enter the Review Comments on line 2. Value must be 2000 bytes or less.
Enter the Required Date on line 3. If there is no required date, leave this blank. Value must be a
date in the form "DD-MON-YYYY".
Enter the Maximum Amount on line 4. This is the maximum approved amount. Value must be
a number.
The message attribute representing the region must be of type document and must have
a source of Send. You can assign the attribute any appropriate internal name, display
name, and description.
Specify the value for the attribute in the following format:
JSP:/OA_HTML/OA.jsp?OAFunc=<Function_Name>
where <Function_Name> is the self-service function name for the region you want to
embed in the notification, as registered in the Form Functions window in Oracle
E-Business Suite. For example:
JSP:/OA_HTML/OA.jsp?OAFunc=EMBED_WL_FUNC
To pass parameters to the region, specify the value for the attribute in the following
format:
JSP:/OA_HTML/OA.jsp?OAFunc=<Function_Name>&<Name1>=<Value1>
&<Name2>=<Value2>...
where <Function_Name> is the function name for the region, <Name1> and
<Value1> are the parameter name and value for the first parameter, <Name2> and
<Value2> are the parameter name and value for the second parameter, and so on. For
example:
JSP:/OA_HTML/OA.jsp?OAFunc=EMBED_WL_FUNC&Order_Type=12345
You can set the value for the message attribute in the following ways:
Specify the complete JSP call as a constant default value for the message attribute.
Specify an item type attribute of type document as the message attribute value, and
include logic in your workflow process that dynamically sets the item type attribute
value at runtime. This method lets you dynamically set the complete JSP call.
Use token substitution in the message attribute value to dynamically set the
function name within the JSP call.
Create an additional message attribute for the function name, and specify the
corresponding item type attribute as the value of that message attribute.
Include logic in your workflow process that dynamically sets the item type
attribute value to the appropriate function name at runtime.
Specify the value for the message attribute representing the region in the
following format:
JSP:/OA_HTML/OA.jsp?OAFunc=-&funcname_attr-
Use token substitution in the message attribute value to dynamically set the
parameter values for the function within the JSP call. In this case you must specify
the function name and the parameter names as constants within the JSP call, and
token substitute only the parameter values.
Create an additional message attribute for each parameter value, and specify
the corresponding item type attribute as the value of that message attribute.
Include logic in your workflow process that dynamically sets the item type
attribute values to the appropriate parameter values at runtime.
Specify the value for the message attribute representing the region in the
following format:
JSP:/OA_HTML/OA.jsp?OAFunc=<Function_Name>&<Name1>
=-&msgattr1-&<Name2>=-&msgattr2-...
where <Function_Name> is the function name for the region, <Name1> and
<Name2> are the first and second parameter names, msgattr1 and msgattr2
are the internal names of the message attributes that specify the first and second
parameter values, and so on.
Note: The Frame Target field is not applicable for message attributes of
type document. Additionally, you must not select the Attach Content
check box for a message attribute that references a region. An Oracle
Application Framework region can only be displayed within the
message body of a notification. It cannot be included as an attachment
to the notification.
To embed the region in the message, enter the token for the message attribute in the
HTML body for the message. A message can include multiple regions, which will be
displayed in the sequence in which their tokens appear in the HTML Body field.
Additionally, the message can include calls to the special message function
WF_NOTIFICATION() to produce a table of message attributes or an action history
table, which will also be rendered as Oracle Application Framework regions. See:
WF_NOTIFICATION() Message Function, page 3-32.
Note: If you embed an Oracle Application Framework region in a
message, then the message body can only contain message attribute
tokens referencing such regions and calls to the special message
function WF_NOTIFICATION(). The message body cannot contain any
tokens for message attributes that do not reference regions.
Leave the Text Body field blank for an Oracle Application Framework region message.
Oracle Workflow does not use the text body for such messages. Instead, a text version
of the message is derived directly from the included regions. Note that non-text content
such as images, links, or special HTML formatting will not appear in the text version of
a region.
Follow these guidelines when you are developing an Oracle Application Framework
region for inclusion in a notification message:
The region style must be Stack Layout. This region style lets users personalize the
region with Oracle Application Framework Personalization.
Ensure that the event handling in the controllers for the embedded Oracle
Application Framework region does not interfere with the event handling of the
region controller for the main message body. To avoid such interference, when
handling any events in the controller code, you must qualify those events with the
region associated with the controller.
The embedded region must be complete within itself. You should associate the
region with its own application module (AM) and assign it a region title.
You should retain the calling AM in the code of the application that owns the
region. For example, if you create a custom attachments region to be displayed in a
notification in the Notification Details page, the root AM as well as the subsequent
nested AMs should be retained in the owning application's controllers and should
not be refreshed. This is required to avoid issues when the owning application
returns control to Oracle Workflow.
The embedded region must be a view-only region. That is, it cannot contain
elements that allow user input, such as buttons.
The embedded region must not contain any information that is specific to a
particular user session.
The embedded region must not perform a form submit. The embedded region also
must not include any Oracle Application Framework components that perform an
implicit form submit, such as subtabs or hideShow beans.
If you do not want to send an embedded region in e-mail, you can exclude the
message body from notification e-mail messages by assigning the notification a
message template that directs recipients to access the notification through the
Worklist Web pages instead.
For a notification that requires a response, define the special message attributes
#WFM_OPEN_MAIL and #WFM_OPEN_MAIL_DIRECT, and set the values of these
attributes to WFMAIL:VIEW_FROMUI to use the Workflow View From UI
message template.
For a notification that does not require a response, define the special message
attribute #WFM_OPEN_MAIL_FYI, and set the value of this attribute to
WFMAIL:VIEW_FROMUI_FYI to use the Workflow View FYI From UI message
template.
See: Notification Mailer Message Template Attributes, page 3-50, Workflow View
From UI Message, Oracle Workflow Administrator's Guide, and Workflow View FYI
From UI Message, Oracle Workflow Administrator's Guide.
For usability reasons, we recommend that if your Stack Layout region includes a
Table Layout region, you should restrict to 200 the number of rows returned from
the query for the Table Layout region.
If your Stack Layout region includes a region in the Table Layout region style, the
Notification Details page displays the Table Layout region with the Next and
Previous rowset functionality available when appropriate. However, because e-mail
clients cannot interpret the rowset functionality, e-mail notifications display the
Table Layout region with static row data, which is restricted to 200 rows.
For example:
OA.jsp?page=/oracle/apps/fnd/wf/worklist/webui/
WFNTFWORKLIST&akRegionApplicationId=601
For more information about building an Oracle Application Framework region, refer to
the Oracle Application Framework Developer's Guide, available from My Oracle Support
Knowledge Document 1315485.1.
When you configure a notification mailer, you can set certain parameters to control how
the notification mailer includes Oracle Application Framework content in e-mail
notifications. For example, you can specify the user, responsibility, and application
through which a notification mailer accesses Oracle Application Framework content.
You can also specify whether to attach any stylesheet and images referenced in Oracle
Application Framework regions to e-mail notifications, or simply display the stylesheet
and image references as URLs. See: Notification Mailer Configuration Wizard, Oracle
Workflow Administrator's Guide.
You can use the Workflow Mailer URL Access Tester page to test whether Oracle
Application Framework content can be generated correctly for e-mail notifications. See:
Testing Mailer URL Access, Oracle Workflow Administrator's Guide.
Related Topics
To Create a Message, page 3-60
To Define a Message Attribute, page 3-66
To View the Details of a Notification, Oracle Workflow User's Guide
Reviewing Notifications via Electronic Mail, Oracle Workflow User's Guide
Defining Messages
To Create a Message:
1.
Select the item type that you want to create a message for in the navigator tree, and
choose New Message from the Edit menu. A Message property page appears.
Message Property Page
2.
Provide an internal name for the message that is all uppercase with no
leading/trailing spaces, and provide a display name. You may also enter an optional
description. All Oracle Workflow APIs, SQL scripts, and PL/SQL procedures refer
to the internal name when identifying a message.
3.
Choose High, Normal, or Low for the default priority of the message. The priority
level simply informs the recipient of the urgency of the message. It does not affect
the processing or delivery of the message.
Note: When you assign this message to a notification activity and
4.
5.
Select the Body tab to display the Body property page of the message.
6.
The subject gets its default value from the display name that you entered in the
Message tab. You can choose to keep the default subject or enter a new subject for
the message. The subject can include message attributes that get token replaced
with runtime values when the message is delivered. To include a message attribute
in the subject, use an ampersand (&) followed by the message attribute's internal
name. The maximum length for the complete token-substituted subject is 240 bytes.
See: Send and Respond Message Attributes, page 3-29 and To Define a Message
Attribute, page 3-66.
Tip: For clarity, you can assign a message attribute the same name
7.
If the message will not contain any embedded Oracle Application Framework
regions, enter a plain text message body in the Text Body field. You can select the
ellipsis button (...) to expand the view of the Subject and Text Body fields in
another window.
Oracle Workflow uses the content you enter in the Text Body field to generate a
plain text version of the notification message. The plain text message can be viewed
from the from an e-mail reader that displays plain text messages.
Important: If the message will not contain any embedded Oracle
8.
Enter an HTML-formatted message body in the HTML Body field by selecting the
HTML Body tab and typing in the content, or by selecting Import to import the
content from a .HTM or .HTML file. You can also select the ellipsis button (...) to
expand the view of the Subject and HTML Body fields in another window.
If the message will contain an embedded Oracle Application Framework region,
then the HTML body is required. Otherwise, the HTML Body field is optional. See:
Embedding Oracle Application Framework Regions in Messages, page 3-55.
Important: When you enter or import the HTML message body,
Oracle Workflow uses the content you enter in the HTML Body field to generate an
HTML-formatted version of the notification message. You can view an
HTML-formatted notification message from the Notification Details Web page, or
from an e-mail reader that displays HTML-formatted messages or HTML-formatted
message attachments.
Note: If HTML Body is null, Oracle Workflow uses the message
9.
You can embed message attributes in the text or HTML body. Oracle Workflow
token replaces the message attributes with runtime values when it delivers the
notification. To embed a message attribute, enter an ampersand ("&") followed by
the message attribute's internal name.
Important: The text in a message body must be less than 4000 bytes.
Note: You can also include a special token in the message subject or
and you want Oracle Workflow to interpret that response value as the result of the
notification activity, select the Result tab page and complete the information
requested. Oracle Workflow uses the information you specify in the Result tab page
to create a special 'Respond' message attribute called RESULT. See: Message Result,
page 3-29.
Specify a display name and description for RESULT. Select a lookup type from the
poplist field. The lookup type you select should be identical to the lookup type
specified for the notification activity's result type. Select a lookup code in the
Default Value region. The lookup code you select appears as the default value of
the RESULT message attribute.
Note: To create any other type of message attribute, see: To Define
14. Choose Apply to save your changes, OK to save your changes and close the
property page, or Cancel to cancel your changes and close the property page.
15. The message you just defined now appears beneath the Message branch in the
navigator tree. You can review or edit the properties of this message at any time by
double-clicking on the message in the navigator tree or by selecting the message
and choosing Properties from the Edit menu.
If a message has a Result defined, then its message icon in the Navigator tree has a
red question mark overlay to help you distinguish it from messages that do not
have a Result defined.
16. You must now define all the message attributes that you have included in the
17. To create a message attribute that references an item type attribute, select the
referenced item type attribute in the navigator tree, and hold down your mouse
select button as you drag the item type attribute to your message.
Edit the property page that appears, making sure the message attribute has the
proper Source. The Default Value region is automatically set to Item Attribute and
references the originating item attribute.
18. You can also create message attributes that are not based on existing item type
To create a message attribute that does not reference an existing item type attribute,
select a message in the navigator tree and choose New Attribute from the Edit
menu.
An Attribute property page appears.
Message Attribute Property Page
2.
3.
Specify 'Send' or 'Respond' in the Source field to indicate whether this attribute
should send information to the notification recipient or prompt a notification
message recipient for a response, respectively.
4.
Enter a Display Name. This is the name that appears in the navigator tree. If this is a
'Respond' message attribute, then this display name is also used as the response
prompt. See: Example 'Respond' Message Attributes, page 3-53.
For 'Send' message attributes, the Display Name of the attribute appears in plain
text e-mail notifications only if the attribute is of type URL, to describe what the
URL drills down to.
5.
Enter an optional description. If this is a 'Respond' message attribute, use this field
to elaborate on response instructions. Oracle Workflow includes this description to
provide supplemental instructions to the notification recipient as follows:
The description appears as text along with the response prompt in the response
section of an e-mail notification. See: Example 'Respond' Message Attributes,
page 3-53.
The description appears as a tooltip when a user positions the cursor over the
response field or pull-down menu corresponding to this attribute in the
Notification Details Web page. See: To View the Details of a Notification, Oracle
Workflow User's Guide.
6.
7.
Number - Optionally provide a format mask for your number and a default
number value.
Date - Optionally supply a format mask for the date and a default date value.
Lookup - Choose the name of a predefined Lookup Type from which to draw
values. Choose a lookup code for the default value.
Form - Specify a developer form function name and any optional argument
string (form function parameters) in the Default Value field. See: Overview of
Menus and Function Security, Oracle E-Business Suite Developer's Guide and To
Define a Form Attribute, page 3-16.
Important: 'Send' and 'Respond' message attributes of type
Form appear only when your Worklist Web pages are launched
from Oracle E-Business Suite. The attached form icon is
enabled if a notification message includes a 'Send' message
attribute of type Form. The notification recipient can click on
the attached form icon to drill down to the form function
defined by the message attribute.
Document - Enter a string that identifies the document in the Default Value
field. See: To Define a Document Attribute, page 3-17.
Document attributes can only have a source of Send. You cannot use a
document attribute as a respond attribute.
8.
If your message attribute is a URL attribute, specify a Frame Target. When you
reference this message attribute in a message and the user who receives the
message clicks the URL link in the message body, the URL opens according to what
you specify as the frame target. The frame target can be:
Full Window - the URL loads into the full, original window, thus cancelling all
other frames. This value is equivalent to Same Frame if the current frame has no
parent.
Note: You should only choose New Window or Full Window as the
of gif, jpg, png, tif, bmp, or jpeg, the attribute value has a
prefix of IMG: or no prefix, and you embed the URL attribute in the
notification message by token substitution, then Oracle Workflow
displays the image inline in the Notification Details page and
HTML-formatted e-mail notifications, rather than as a link. In this
case the frame target value is not applicable.
9.
10. If your message attribute is a Send attribute and is of type URL, you can check
For a notification e-mail message that does not include an embedded Oracle
Application Framework region, Oracle Workflow appends an attachment called
Notification References to the e-mail. This attachment includes a link to each
URL attribute for the message that has Attach Content checked. You can
navigate to a URL by choosing its link.
Note: If you check Attach Content for a URL attribute that points to
11. For message attributes, the default value may be a constant or an item type
attribute. If the default references its entire value directly from an item type
attribute, choose Item Attribute, then use the poplist field to choose an item type
attribute. The item type attribute you select must be associated with the same item
type that the message itself is associated with. The item type attribute you select
must also be of the same data type as the message attribute.
attribute type except Event, but all other message attribute types
must match the item attribute type exactly.
12. Choose Apply to save your changes, OK to save your changes and close the
property page, or Cancel to cancel your changes and close the property page.
13. Any message attribute you define appears beneath the respective message you
defined it for in the navigator tree. You can review or edit the properties of an
attribute at any time by double-clicking on the attribute in the navigator tree or by
selecting the attribute and choosing Properties from the Edit menu. Respond
message attribute icons in the Navigator tree have a red question mark overlay to
help you distinguish them from Send message attribute icons.
Note: Message attributes assume the access/protection level of their
parent message.
than two layers deep to display the necessary message body content,
you should investigate creating a PL/SQL document-type message
attribute. See: External Document Integration, page 3-5.
To Copy a Message:
1.
2.
Hold down your mouse select button as you drag the message to the item type
branch you want to copy to.
3.
When you release your mouse button, a property page appears for the new
message.
Note: You can also use the Copy and Paste options in the Edit
menu.
4.
5.
6.
assigned to it.
Related Topics
Using the Edit Button in a Property Page, page 2-7
To Copy an Attribute, page 3-20
Reviewing Notifications via Electronic Mail, Oracle Workflow User's Guide
Activities
An activity is a unit of work that contributes toward the accomplishment of a process.
An activity can be a notification, a function, an event, or a process. A notification
activity sends a message to a workflow user. The message may simply provide the user
with information or request the user to take some action. A function activity calls a
PL/SQL stored procedure or some external program to perform an automated function.
An event activity receives, raises, or sends a business event. A process activity is a
modelled workflow process, which can be included as an activity in another process to
represent a sub-process.
Activities are organized beneath their respective Processes, Notifications, Functions, or
Events headings in the navigator tree. You can create, edit, and delete activity
definitions in the navigator tree, and drag an activity from the tree into a Process
window to create a new usage of that activity in a process diagram. Each activity is
Notification Activity
When the workflow engine reaches a notification activity, it issues a Send() API call to
the Notification System to send the message to an assigned performer. You define the
message that the notification sends. The message can be an informative note or it can
prompt the performer for a response. When a performer responds to a notification
activity, the Notification System processes the response and informs the Workflow
Engine that the notification activity is complete so that it can continue processing the
next eligible activity. See: To Create a Notification Activity, page 3-81.
You specify the performer of a notification activity when you include the notification
activity as a node in the process. You can either designate the performer to be a specific
role or an item type attribute that dynamically returns the name of a role. A role can
correspond to a single user or contain multiple users as members. See: To Define Nodes,
page 4-6 and Roles, page 4-23.
When you define a notification activity, you can also optionally:
Check Expand Roles to send an individual copy of the notification message to each
user in the role. The notification remains in a user's notification queue until the user
responds to or closes the notification.
Important: You should expand roles to send out a broadcast-type
ANSWER - When a request recipient responds with more information about the
notification.
For example, if you wish to restrict the roles that a notification can be forwarded to,
you can specify a post-notification function that the Workflow Engine executes in
FORWARD mode when the notification recipient attempts to forward the notification.
The post-notification function would audit the role and either allow the forward to
occur or reject it with an error. See: Post-Notification Functions, Oracle Workflow API
Reference and Notification Model, Oracle Workflow API Reference.
To create a post-notification function, you should use the same PL/SQL API
required for function activities. See: Standard API for PL/SQL Procedures Called by
Function Activities, page 6-2.
By both checking Expand Roles and specifying a post-notification function, you can
create your own custom vote tallying activity. See: Voting Activity, page 3-94.
Function Activity
A function activity is defined by the PL/SQL stored procedure or external program that
it calls. Function activities are typically used to perform fully automated steps in the
process. As a PL/SQL stored procedure, a function activity accepts standard arguments
and can return a completion result.
If you pass a parameter for the stored procedure, you can expose that parameter as an
activity attribute. The activity attribute's value can be set when you define that activity
as a node in your process. Note that these activity attributes are available only to the
current activity and are not global like item type attributes. See: To Define Activity
Attribute Values, page 4-16.
As an external program, a function activity is able to enqueue payload information into
an Oracle Advanced Queuing outbound queue for some external agent to dequeue and
consume. The external agent can similarly enqueue updated attributes and a
completion result into an inbound queue that the Workflow Engine consumes and
processes.
Event Activity
An event activity represents a business event from the Business Event System within a
workflow process. Include event activities in workflow processes to model complex
processing or routing logic for business events beyond the standard event subscription
actions. See: Managing Business Events, page 8-1.
An event activity can either receive, raise, or send a business event.
Sets any parameters in the event message parameter list as item type attributes for
the process, creating new item type attributes if a corresponding attribute does not
already exist for any parameter.
Sets the subscription's globally unique identifier (GUID) as a dynamic item attribute
so that the workflow process can reference other information in the subscription
definition.
If the event was originally raised by a Raise event activity in another workflow
process, the item type and item key for that process are included in the parameter
list within the event message. In this case, the Workflow Engine automatically sets
the specified process as the parent for the process that receives the event, overriding
any existing parent setting. See: SetItemParent, Oracle Workflow API Reference.
Searches for receive event activities that are eligible to accept the event. For an
activity to be eligible, the event must match the activity's event filter, and the
activity must either be marked as a Start activity or have a status of 'NOTIFIED',
meaning the process has transitioned to the event.
Note: If the event was sent to one or more existing workflow
If an event arrives at a Start activity to launch a new process instance, the Workflow
Engine also searches for all other receive event activities that are marked as Start
activities and that do not have any incoming transitions, regardless of their event
filter. For these activities, the Workflow Engine sets the activity status to 'NOTIFIED
' so that they will be ready to receive an event if any more events are sent to this
process. This feature lets you design a workflow process that requires multiple
events to be received when you do not know in advance the order in which the
events will arrive.
Stores the event name, event key, and event message in item type attributes, as
specified in each eligible activity node's event details.
Marks all the eligible event activity nodes with a status of 'COMPLETED' and
continues the thread of execution from each of those nodes.
If an event activity has already received an event and another matching event is sent to
the process, then the On Revisit flag for the activity determines whether the Workflow
Engine reexecutes the activity. See: To Define Optional Activity Details, page 3-91.
Example - Using a Business Key
Use a business key to identify which workflow processes should receive an event when
the event applies to one or more processes that are already started and are awaiting
input to continue. For example, a workflow process initiated for a purchase order with
the number PO123 may be awaiting input such as credit card authorization from
another workflow or from an external interface, through an event named
po.credit.authorization. The authorization event should only continue the
workflow process instance associated with the PO123 purchase order; it should not
continue any other purchase order processes.
To achieve this purpose, the receive event activity in the purchase order workflow
process should be defined to accept only the po.credit.authorization event and
should include an activity attribute named #BUSINESS_KEY with a value of PO123.
The other workflow process or external system that raises the event must set the event
key to PO123. Additionally, either the event subscription to the
po.credit.authorization event must use the WF_RULE.Instance_Default_Rule
rule function, or the subscription must be defined with the Launch When Business Key
Matches option. With this configuration, when the event arrives, it will continue only
the workflow process instance associated with the specific purchase order number
PO123 through the #BUSINESS_KEY activity attribute.
however, the activity sets that event data into the event, overriding any
event data from the #EVENTMESSAGE2 attribute. If you specified any
additional parameters in activity attributes for the raise event activity,
the activity also sets those parameters into the parameter list for the
event message, overriding the values of any parameters with the same
names from the #EVENTMESSAGE2 attribute.
For example, if the process previously received an event and you want to raise a new
event with that event data, you can define the #EVENTMESSAGE2 attribute for the raise
event activity and set its default value to the item attribute where the received event is
stored.
Process Activity
A process activity represents a collection of activities in a specific relationship. When a
process activity is contained in another process it is called a subprocess. In other words,
activities in a process can also be processes themselves. There is no restriction on the
depth of this hierarchy. See: To Create a Process Activity, page 3-89 and Subprocesses,
Oracle Workflow Administrator's Guide.
Caution: Oracle Workflow does not support using a subprocess activity
#ONDEMANDATTR Attribute
When you create a top-level runnable process activity, you can use a special process
activity attribute with the internal name #ONDEMANDATTR to enhance performance for
the process. By default, when a work item is initiated, Oracle Workflow creates a
runtime copy of each item attribute that is defined for that item type. The Workflow
Engine refers to these runtime copies whenever an item attribute is referenced during
execution of the work item. However, depending on the process logic, an item type may
contain many item attributes that are not used during execution of a particular work
item. You can define the #ONDEMANDATTR activity attribute for a process activity to
specify that Oracle Workflow should create runtime copies of item attributes only when
the process sets values for those item attributes. Otherwise, the Workflow Engine
simply references the default values specified for the item attributes in the design-time
workflow definition.
The Workflow Engine simply checks for the presence of the #ONDEMANDATTR attribute
to determine how to proceed. To create runtime copies of item attributes only on
demand, define the #ONDEMANDATTR attribute for the appropriate process activity. The
attribute can be of any type and does not need to contain any particular value. To create
runtime copies of all item attributes when the process is created, do not define this
attribute for the process activity.
If you define a default value for the #ONDEMANDATTR activity attribute, you must
define the default value as a constant value. Do not define the #ONDEMANDATTR
attribute to take its default value from an item attribute.
See: Item Type Attributes, page 3-2 andItem Attributes, Oracle Workflow Administrator's
Guide.
Note: If you specify that a process should use on-demand item
Activity Cost
Each function activity and event activity has a cost associated with it. The cost is a value
representing the number of seconds it takes for the Workflow Engine to execute the
activity. If you do not know how long it takes for the Workflow Engine to perform the
activity, you can enter an estimated cost and update it later as you accumulate more
information about its performance. Generally, you should assign complex, long running
activities a high cost.
The valid range for cost is 0.00 to 1,000,000.00.
Important: Although the cost is entered and displayed in seconds in
In normal processing, the Workflow Engine completes the execution of a single activity
before continuing to a subsequent activity. In some cases, an activity might take so long
to process that background processing would be more appropriate.
You can define your Workflow Engine to defer activities with a cost higher than a
designated threshold to a background process. The engine then continues processing
the next pending eligible activity that may occur in another parallel branch of the
process.
The default threshold for the Workflow Engine is 50 hundredths of a second. Activities
with a cost higher than this are deferred to background engines. A background engine
can be customized to execute only certain types of activities. You can set the workflow
engine threshold through SQL*Plus. See: Setting Up Background Engines, Oracle
Workflow Administrator's Guide, To Set Engine Thresholds, Oracle Workflow
Administrator's Guide, and Deferring Activities, Oracle Workflow Administrator's Guide.
Defining Activities
To Create a Notification Activity:
1.
Select the item type that you want to create a notification for in the navigator tree,
then choose New Notification from the Edit menu. Define your notification activity
in the Activity property page that appears.
Notification Activity Property Page
You can also select a message in the navigator tree and drag and drop the message
into the Notifications branch of the same item type to create a notification activity
that sends that message.
2.
3.
Indicate the result type (a predefined Lookup Type) for this activity. Result types
list the possible results returned by this activity. Your workflow diagram may
branch depending on the value returned by your completed activity. See: To Create
Lookup Types, page 3-24.
You can choose <None> as the result type if your activity does not return a value,
or if your workflow process does not depend on the value returned.
4.
Select the name of the message you want this notification to send. See: To Create a
Message, page 3-60.
5.
If you plan to assign this notification to a role consisting of multiple users and you
want to send an individual copy of this notification to each user in the role, then
check Expand Roles. If you uncheck Expand Roles, then only one copy of the
notification is delivered to the role as a whole. See: Notification Activity, page 3-74.
6.
You can optionally specify a PL/SQL stored procedure in the Function field. The
procedure is known as a post-notification function and lets you couple processing
logic to the notification activity. See: Standard API for PL/SQL Procedures Called by
Function Activities, page 6-2 and Post-Notification Functions, Oracle Workflow API
Reference.
If you check Expand Roles, and you assign a message that has a special Result to
this notification activity, then use the Function field to specify the name of a custom
PL/SQL stored procedure that tallies the responses you get back from each of the
recipients of this notification. Specify the procedure using the format:
<package_name>.<procedure_name>. See: Voting Activity, page 3-94.
7.
Choose an icon that identifies your activity. You can use any icon, as long as the
icon is stored in a .ico file, to symbolize the action of an activity. See: Adding
Custom Icons to Oracle Workflow, Oracle Workflow Administrator's Guide.
Choose Browse to view the icon files listed in the workflow icons subdirectory.
You can also drag and drop icon files from the Windows Explorer onto an activity
in your navigator tree to assign that icon to the activity.
8.
9.
Select the Details tab to display and modify optional Details of the activity. See: To
Define Optional Activity Details, page 3-91.
10. Select the Roles tab page to specify the roles that have access to this notification
11. Select the Access tab page to set the access levels allowed to modify this
You can review or edit the properties of this activity at any time by double-clicking
on the activity in the navigator tree or by selecting the activity and choosing
Properties from the Edit menu or by pressing Enter on your keyboard.
Select the item type that you want to create a function for in the navigator tree, then
choose New Function from the Edit menu. Define your function activity in the
Activity property page that appears.
Function Activity Property Page
2.
3.
Enter the name of the function you want this activity to execute. In the Type field,
specify whether the function is a PL/SQL function, an External function, or an
External Java function.
For a PL/SQL function, set the function type to PL/SQL and specify the function
as <package_name>.<procedure_name>. The function must be defined
according to a standard API. See: Standard API for PL/SQL Procedures Called
by Function Activities, page 6-2.
For an external function activity, set the function type to External. The
Workflow Engine enqueues an entry in the "Outbound" queue and sets the
correlation value of that entry to a value composed of the Workflow schema
name and the item type in the following format:
<schema_name><item_type>
from the queues used for the Business Event System. See:
Workflow Queue APIs, Oracle Workflow API Reference.
4.
Indicate the result type (a predefined Lookup Type) for this activity. Result types
list the possible results returned by this activity. Your workflow diagram may
branch depending on the value returned by your completed activity. See: To Create
Lookup Types, page 3-24.
You can choose <None> as the result type if your activity does not return a value,
or if your workflow process does not depend on the value returned.
5.
Specify the cost of this function activity. See: Activity Cost, page 3-80.
6.
Choose an icon that identifies your activity. You can use any icon, as long as the
icon is stored in a .ico file, to symbolize the action of an activity. See: Adding
Custom Icons to Oracle Workflow, Oracle Workflow Administrator's Guide.
Choose Browse to view the icon files listed in the workflow icons subdirectory.
You can also drag and drop icon files from the Windows Explorer onto an activity
in your navigator tree to assign that icon to the activity.
7.
8.
Select the Details tab to display and modify the optional details of the activity. See:
To Define Optional Activity Details, page 3-91.
9.
Select the Roles tab page to specify the roles that have access to this function
activity. (This functionality will be supported in a future release.)
10. Select the Access tab page to set the access levels allowed to modify this function.
review or edit the properties of this activity at any time by double-clicking on the
activity in the navigator tree or by selecting the activity and choosing Properties
from the Edit menu or by pressing Enter on your keyboard.
12. If your function requires input arguments, you can expose those arguments in
Select the item type that you want to create an event for in the navigator tree, then
choose New Event from the Edit menu. Define your event activity in the Activity
property page that appears.
Event Activity Property Page
2.
3.
Choose an icon that identifies your activity. You can use any icon, as long as the
icon is stored in a .ico file, to symbolize the action of an activity. See: Adding
Custom Icons to Oracle Workflow, Oracle Workflow Administrator's Guide.
Choose Browse to view the icon files listed in the workflow icons subdirectory.
You can also drag and drop icon files from the Windows Explorer onto an activity
in your navigator tree to assign that icon to the activity.
4.
Send - Send an event directly from one Event agent to another agent without
re-raising the event to the Business Event System.
Note: Depending on the event action you select, you may need to
define item type attributes for some or all of the following event
details:
Event Name
Event Key
Event Message
Event Data
Out Agent
To Agent
When you include the event activity as a node in a process, you can
use the item type attributes to specify where to store or retrieve the
required event detail information for that node. The item type
attributes that you use for event details must be associated with the
same item type as the event activity itself. See: To Define an Item
Type or Activity Attribute, page 3-8 and To Define Event Details
for an Event Node, page 4-11.
5.
If you are defining a Receive event activity, you can optionally enter an Event Filter
to specify the event that the activity can receive.
To allow the activity to accept only one specific event, enter the full internal
event name.
To allow the activity to accept any event that is a member of a specific event
To allow the activity to accept any event, leave the Event Filter field blank.
Enter an optional cost for the activity. For event activities with the event actions
Raise or Send, you can use the cost to defer long running activities to a background
engine. See: Activity Cost, page 3-80.
7.
8.
Select the Details tab to display and modify the optional details of the activity. See:
To Define Optional Activity Details, page 3-91.
9.
Select the Roles tab page to specify the roles that have access to this function
activity. (This functionality will be supported in a future release.)
10. Select the Access tab page to set the access levels allowed to modify this event. See:
review or edit the properties of this activity at any time by double-clicking on the
activity in the navigator tree or by selecting the activity and choosing Properties
from the Edit menu or by pressing Enter on your keyboard.
12. For a raise event activity, if the event raised by the activity requires additional
parameters to be included in the event message, you can define those parameters as
attributes of the raise event activity. When the event is raised, the activity attributes
are set as parameters in the parameter list for the event message. If the event
message is later received by another process, the Workflow Engine sets the event
parameters as item type attributes for that process. You can modify the values of
the attributes for each usage of the raise event activity in a process. Event activity
attributes are specific to an event activity and are not global to a process. See: To
Define an Item Type or Activity Attribute, page 3-8.
Note: A Raise event activity also automatically sets the item type
and item key for the current workflow process in the parameter list
for the event message. If the event message is later received by
another process, the Workflow Engine uses that item type and item
key to automatically set the process that raised the event as the
parent for the process that receives the event. See: SetItemParent,
Oracle Workflow API Reference.
If you want to raise the new event using the event data and parameter list from an
existing event message, you can also define a special activity attribute named
for the raise event activity. Set the existing event message as the value of the
#EVENTMESSAGE2 attribute, which must be an attribute of type event. If this
attribute is defined, the activity retrieves the event data and parameter list from the
specified event and sets them into the new event message before it is raised.
Note: If you also specified event data in the node's event details,
however, the activity sets that event data into the event, overriding
any event data from the #EVENTMESSAGE2 attribute. If you
specified any additional parameters in activity attributes for the
raise event activity, the activity also sets those parameters into the
parameter list for the event message, overriding the values of any
parameters with the same names from the #EVENTMESSAGE2
attribute.
To create an event activity attribute that references an item type attribute, select the
referenced item type attribute in the navigator tree, and hold down your mouse
select button as you drag the item type attribute to your event activity. The Default
Value region is automatically set to Item Attribute and references the originating
item attribute.
When you include an event activity as a node in a process, you can assign a value to
the event activity attribute that is specific to that node. See: To Define Activity
Attribute Values, page 4-16.
13. For a receive event activity, if you want to match the event with one or more
workflow processes based on a business key rather than sending the event to one
particular workflow process, define a special activity attribute named
#BUSINESS_KEY. This attribute must be of type text. Set the default value of the
activity attribute to an item type attribute, and include logic in your workflow
process to set that item type attribute to an appropriate business key value at
runtime. For the workflow process to receive an event, this business key must
match the event key. See: To Define an Item Type or Activity Attribute, page 3-8
and Event Subscriptions, page 8-15.
Select the item type that you want to create a process activity for in the navigator
tree, then choose New Process from the Edit menu. Define your process activity in
the Activity property page that appears.
If a process activity is closed and you want to redisplay it, select the process activity
in the navigator tree and press Enter or select Properties from the mouse menu
button.
2.
3.
Indicate the result type (a predefined Lookup Type) for this activity. Result types
list the possible results returned by this process. See: To Create Lookup Types, page
3-24.
You can choose <None> as the result type if you do not need to record any specific
result for the completion of your process.
4.
Choose an icon that identifies your activity. You can use any icon, as long as the
icon is stored in a .ico file, to symbolize the action of an activity. See: Adding
Custom Icons to Oracle Workflow, Oracle Workflow Administrator's Guide.
Choose Browse to view the icon files listed in the workflow icons subdirectory.
You can also drag and drop icon files from the Windows Explorer onto an activity
in your navigator tree to assign that icon to the activity.
5.
Check Runnable so that the process that this activity represents can be initiated as a
top-level process and run independently. If your process activity represents a
subprocess that should only be executed if it is called from a higher level process,
then uncheck Runnable. See: CreateProcess, Oracle Workflow API Reference.
Caution: Oracle Workflow does not support reusing a subprocess
6.
7.
Select the Details tab to display and modify the optional details of the activity. See:
To Define Optional Activity Details, page 3-91.
8.
Select the Access tab page to set the access levels allowed to modify this process.
The access you set for a process activity determines who has access to edit its
process diagram. See: Allowing Access to an Object, page 3-21.
9.
Choose Apply to save your changes, OK to save your changes and close the
property page, or Cancel to cancel your changes and close the property page.
10. The process activity now appears beneath Processes in the navigator tree. You can
review or edit the properties of this activity at any time by selecting the activity and
choosing Properties from the Edit menu or by pressing Enter on your keyboard.
11. For a runnable process activity, you can define a special process activity attribute
2.
If you are creating a process activity, you can specify an error process to execute in
the event that an error occurs in the current process. Enter the internal name of the
item type that owns the error process and then specify the internal name of the
error process activity to execute. Note that the error process item type does not
need to be open in your current Oracle Workflow Builder session for you to define
it here. See: Error Handling for Workflow Processes, page 11-1.
Note: Both the error item type and the error process must be
3.
The effective date tells you when this version of the activity is available for the
Workflow Engine to execute. If the Effective Date field is blank, the activity is
effective immediately.
You set the effective date when you save your changes using the Save As option in
the File menu. All your activity modifications share the same effective date when
you save.
4.
Select a value for On Revisit to determine how the Workflow Engine handles this
activity when it is transitioned to more than once. If this activity is the first activity
that is revisited, as in a loop, you should set On Revisit to specify how you want the
Workflow Engine to process the loop. The first activity in a loop is also called the
pivot activity. For all other activities in a loop, the value of On Revisit is irrelevant.
If On Revisit is set to Ignore, the Workflow Engine executes the activity only
once, and ignores the activity for all subsequent revisits.
If On Revisit is set to Loop, the Workflow Engine simply reexecutes the pivot
activity and all activities that follow in the loop, without resetting, as if they
have never been executed before. See: Looping, Oracle Workflow API Reference.
5.
The version number identifies which revision of the activity you are examining. The
engine ensures that it uses the most recent updates to an activity by using the latest
effective version number of that activity.
6.
To Copy an Activity:
1.
2.
Hold down your mouse select button as you drag the activity to the item type
branch you want to copy it to.
3.
If you copy the activity within the same item type, a property page will appear
prompting you for a new unique internal and display name for the copied activity.
Note: You can also use the Copy and Paste options in the Edit
menu.
4.
Related Topics
Using the Edit Button in a Property Page, page 2-7
Voting Activity
You can create a voting activity that lets you send a notification to a group of users in a
role and tally the responses from those users. The results of the tally determine the
activity that the process transitions to next.
A voting activity is a notification activity that first sends a notification message to a
group of users and then performs a PL/SQL post-notification function to tally the users'
responses (votes).
The activity attributes you define and the following four fields in the property pages of
the notification activity determine its voting behavior:
Message field
Function field
Create a voting lookup type that contains the responses you want to tally in your
voting activity. See: To Create Lookup Types, page 3-24.
2.
Create a voting message that prompts a recipient to respond with one of the values
in the voting lookup type. Complete the Result tab for the message. Set the lookup
type in the Result tab to the voting lookup type defined in Step 1. See: To Create a
Message, page 3-60.
3.
Select the item type that you want to create a voting activity for in the navigator
tree, then choose New Notification from the Edit menu.
4.
5.
The Result Type field must contain the lookup type that lists the responses that you
want the voting activity to tally. This is the voting lookup type defined in Step 1.
6.
7.
In the Message field, select the name of the voting message you created in Step 2.
The voting message prompts the recipient for a response. The response choices are
one of the predefined values specified in your voting lookup type.
8.
Check Expand Roles so that the Workflow Engine polls for responses from the
multiple users in the role rather than just from the first user in the role that replies.
See: Notification Activity, page 3-74.
9.
In the Function field, specify a function that tallies the responses from users. You
can use the PL/SQL procedure WF_STANDARD.VOTEFORRESULTTYPE that the
Standard Vote Yes/No activity calls. WF_STANDARD.VOTEFORRESULTTYPE is a
generic tallying function. The Result Type that you specify for the voting activity
defines the possible responses for the function to tally. The activity attributes that
you define for the voting activity determine how the function tallies the responses.
See: Vote Yes/No Activity, page 5-10.
Alternatively, you can specify your own custom tallying function, but you should
make sure it conforms to the standard API for function activities. Specify the
procedure using the format: <package_name>.<procedure_name>. See:
Standard API for PL/SQL Procedures Called by Function Activities, page 6-2.
custom activity attribute of type Number for each possible voting response.
Remember that each possible voting response is a lookup code associated with the
voting activity's result type. Hence, when you define your custom activity attribute,
the internal name of the activity attribute must match the internal name of the
lookup code, that is, the response value.
The value of the activity attribute can either be blank or a number that represents
the percentage of votes required for a particular result. If you provide a percentage,
then the result is matched if the actual tallied percentage for that response is greater
than your specified percentage. If you leave an activity attribute value blank, then
the Workflow Engine treats the response for that activity attribute as a default. In
other words, if no particular percentage is satisfied after the votes are tallied, then
the response that received the highest number of votes among those associated with
a blank activity attribute becomes the result.
Note: If the tallied votes do not satisfy any response percentages
Note: If the tallied votes satisfy more than one response percentage
addition to defining your set of custom activity attributes, you must also define an
activity attribute called Voting Option, whose internal name must be
VOTING_OPTION. You can also copy the Voting Option activity attribute from the
Vote Yes/No standard activity.
The Voting Option activity attribute specifies how the votes are tallied. The possible
values are:
"Wait for All Votes" - the Workflow Engine waits until all votes are cast before
tallying the results as a percentage of all the users notified. If a timeout
"Tally on Every Vote" - the Workflow Engine keeps a running tally of the
cumulative responses as a percentage of all the users notified. If a timeout
condition occurs, then the responses are tallied as a percentage of the total
number of votes cast. Note that this option is meaningless if any of the custom
response activity attributes have a blank value.
Related Topics
Example Voting Methods, page 3-97
Vote Yes/No Activity, page 5-10
Simple Majority
The following table shows the custom response activity attribute value assigned to
each response for a simple majority voting method.
Simple Majority Voting Method
Response
50
50
50
The result is any response that gets more than fifty percent of the votes. If no
response gets more than fifty percent, the result is that no match is found (
#NOMATCH).
2.
50
50
blank
If response A gets more than fifty percent of the votes, A is the result. Similarly if
response B gets more than fifty percent of the votes, B is the result. If neither
response A nor B gets more than fifty percent of the votes, then C is the result.
3.
50
blank
blank
If response A gets more than fifty percent of the votes, A is the result. If A gets fifty
percent of the votes, or less, then response B or C is the result depending on which
of the two received the higher number of votes. If A gets fifty percent of the votes,
or less, and both B and C receive the same number of votes, then the result is a tie (
#TIE).
4.
Popularity
The following table shows the custom response activity attribute value assigned to
each response for a popularity voting method.
blank
blank
blank
The result is the response that gets the highest number of votes.
5.
Black Ball
The following table shows the custom response activity attribute value assigned to
each response for a black ball voting method.
Black Ball Voting Method
Response
YES
100
NO
Jury
The following table shows the custom response activity attribute value assigned to
each response for a jury voting method.
Jury Voting Method
Response
GUILTY
100
NOT_GUILTY
100
Related Topics
Voting Activity, page 3-94
Vote Yes/No Activity, page 5-10
only by a version number, begin date, and end date. For example, the following table
shows two versions of a Vote activity that could exist simultaneously in the
WF_ACTIVITIES table.
Sample Activity Versions
Name
Version
Begin Date
End Date
Message
Lookup Type
Vote
01-JAN-2006
31-DEC-2006
Vote Message
Yes/No
Vote
01-JAN-2007
<blank>
New Vote
Message
Approval
When you modify a Workflow object that supports versioning, both the original version
and the new version exist in the database. Any active work items that reference that
object will continue to completion still using the same version that was in effect when
the work items were initiated. Only new work items initiated after the change will use
the new version.
In the above example, work items that are initiated between January 1, 2006 and
December 31, 2006 will send the message Vote Message with result options of Yes or No,
whether the work items are completed before January 1, 2007 or not. Only work items
that are initiated on or after January 1, 2007 will send the message New Vote Message
with result options of Approve or Reject.
Note: All process definition information is versioned.
When you modify a Workflow object that does not support versioning, however, the
previous definition of the object is updated and only the modified definition exists in
the database. Any active work items that reference that object will use the modified
object after the change.
If the modified object is no longer compatible with the rest of the workflow definition
used by the work item, errors may arise. To avoid such errors, you must take all
references to the object into consideration when planning your changes to ensure that
the changes do not cause any incompatibility.
Note: If your situation allows, you can avoid the risk of backward
Notifications
Functions
Events
Activity attributes
Activity transitions
When you modify any of these objects in the Workflow Builder and save them to the
database, the Workflow Loader does not update the existing definition of the object.
Instead, a new version of the object or owning object is created.
As a result, you can modify any of these objects without affecting active work items that
were initiated before the change.
For example:
If you update a notification activity to reference a new message, the notification will
be versioned.
If you update a function activity to reference a new lookup type, the function will
be versioned.
If you update a function activity to reference a new API, the function will be
versioned.
If you remove a process activity, or node, from a process diagram, the owning
process will be versioned, as well as all the process activities that exist within the
process.
If you add an activity attribute to an activity, the owning activity will be versioned.
The modifications in all of these examples will affect only work items that are initiated
after the changes are made.
Item attributes
Messages
Lookups
When you modify any item attributes, messages, or lookups in the Workflow Builder
and save them to the database, the Workflow Loader updates the existing definition of
the object. Also, if you modify the existing PL/SQL API for a function activity, the
function activity will reference the updated API stored in the database.
As a result, if you modify any of these objects, your changes immediately affect any
active work items that reference the object. Plan your changes carefully to ensure that
the changes do not cause any backward incompatibility.
Note: The Workflow Builder does not support the editing of PL/SQL
code. PL/SQL code is listed as a Workflow object here solely for the
purpose of explaining the consequences of changing the code
referenced by a Workflow function activity.
Item Attributes
By default, when a work item is initiated, Oracle Workflow creates a runtime copy of
each item attribute that is defined for that item type. The Workflow Engine refers to
these runtime copies whenever an item attribute is referenced in the workflow process.
For such work items, keep in mind the following considerations:
Adding a new item attribute after work items have been initiated will not affect the
active work items. However, these work items will not include the new item
attribute unless you specifically create the attribute for them by calling the
AddItemAttr or AddItemAttributeArray APIs. If you also add references to the new
item attribute in the existing PL/SQL code within the workflow process, those
references may cause errors in active work items that do not include the attribute.
For example, if you change the PL/SQL API for a function activity by calling a
Workflow Engine API to communicate with a new item attribute, the function
activity will fail for active work items that do not have the new item attribute
defined.
You should plan carefully when making any modifications to the existing PL/SQL
code within a workflow process to ensure that you do not add references to a new
item attribute without also creating the item attribute for active work items that
require it. See: PL/SQL Code, page 3-106.
Note: You can, however, add references to new item attributes in
If the top-level runnable process for a work item has the special #ONDEMANDATTR
activity attribute defined, then Oracle Workflow creates runtime copies of item
attributes only when the process sets values for those item attributes. Otherwise, the
Workflow Engine simply references the default values specified for the item attributes
in the design-time workflow definition. For such work items, keep in mind the
following considerations:
Work items that use on-demand item attributes do have access to new item
attributes added after the work items have been initiated. You do not need to create
the attribute specifically for them through the AddItemAttr or AddItemAttributeArray
APIs.
However, if you delete an item attribute from the workflow definition in the
database after the work item has been initiated, and the work item did not already
make a runtime copy of the item attribute on demand, then that work item can no
longer access the item attribute. You should plan carefully when deleting any item
attributes to ensure that you do not remove attributes that active work items may
still require.
Messages
When the Workflow Engine requests the Notification System to send a message, the
Notification System creates a notification attribute in the notification tables for every
message attribute. The notification attribute rows contain the variable data that will be
token-replaced into the message body, including the subject line and body text, at
runtime.
The message body, however, is not copied into the notification tables. Instead, the
message body is referenced by the various Notification System APIs at runtime, when
the notification is displayed to the user. As a result, any modifications to a message
body will affect notifications in active work items that were sent before the change, as
well as notifications that are sent after the change.
You can make certain types of modifications to a message body without risking
incompatibility errors. These modifications include:
For example, if you add a static sentence such as "Please approve within five days" to a
message body, all notifications in active work items will include the additional sentence
when you access the notifications. The Notification System can display the modified
message body without any errors because no further information is required to resolve
the additional sentence.
However, inappropriate modifications, such as adding tokens for newly created
message attributes, may cause notifications in active work items to be displayed
incorrectly. You should plan your changes carefully to avoid errors.
If you need to add tokens for new message attributes to a message body, you should
implement the change by creating a new message rather than by modifying the existing
message. You can attach the new message to your existing notification activity without
affecting active work items, since notification activities support versioning.
For example, if you create a new message attribute such as Approver Name and you add
a token for that attribute in the message body, all notifications in active work items will
include the new token when you access the notifications. However, notifications that
were sent before the change will not include the new message attribute Approver Name
as a notification attribute. The Notification System will not be able to resolve the
reference to the new message attribute and will display the token "&APPROVER_NAME"
in the notifications instead.
In this example, instead of modifying the original message body, you should create a
new message that includes the new message attribute, add the token for the new
attribute to the body of the new message, and attach the new message to your
notification activity. When you save your changes, the notification activity will be
versioned. Then active work items will continue to reference the old version of the
notification activity, and the incompatible token will not appear in those notifications.
Determining the possible completion statuses (lookup codes) for 'Respond' message
attributes.
Inappropriate modifications to lookup types may cause active work items that reference
those lookup types to fail.
To avoid errors caused by backward incompatibility, follow these guidelines for lookup
types that are referenced by active work items:
If you need to make any of the above changes, you should implement the change by
creating a new lookup type rather than by modifying the existing lookup type.
You can attach new lookup types to existing activities without affecting active work
items, since activities support versioning. However, you should not attach new lookup
types to existing message attributes, since Workflow messages do not support
versioning.
The following examples show some errors that can be caused by inappropriate lookup
type modifications:
If you add a lookup code to a lookup type that is referenced by a 'Respond' message
attribute, the new lookup code will be available for users to select as a response to a
notification. However, previous versions of the notification activity will not have
branching logic modeled for the new lookup code. If a user selects the new code,
the process will enter an 'ERROR' state.
If you delete a lookup code from a lookup type that is referenced by a 'Respond'
message attribute, users will no longer be able to choose that result code to respond
to a notification.
PL/SQL Code
Although function activities support versioning, the underlying PL/SQL code does not
support versioning, unless you implement versioning for your code yourself.
Modifying PL/SQL code without versioning changes the business flow for active work
items that reference that code. Inappropriate modifications may cause these work items
to fail.
To prevent changes in the PL/SQL API for a function activity from affecting active work
items, you should implement the changes by creating a new API rather than by
modifying the existing API. You can attach the new API to your existing function
activity without affecting active work items, since function activities support
versioning.
If you need to modify an existing API and you cannot create a new API instead, you
should plan your changes carefully to ensure that the changes do not cause any
backward incompatibility.
For example, if you plan to add a lookup code to the group of values that an API can
return, you should first ensure that the function activity node has an outgoing
transition, such as 'Default,' that the Workflow Engine can follow when the API returns
that value. Otherwise, the process will enter an 'ERROR' state when that value is
returned. If there is no appropriate outgoing transition, you must implement the change
in a new API and update the process to model branching logic for the additional return
value.
Also, if you change the existing PL/SQL API for a function activity by calling a
Workflow Engine API to communicate with a new item attribute, you should ensure
that you also create the new item attribute for active work items. Otherwise, the
function activity will fail for active work items which do not have the new item
attribute defined.
Note: This restriction only applies for work items that do not use
Calls to any of the following APIs with newly created item attributes as parameters may
cause the function activity to fail if active work items do not have the item attributes
defined:
wf_engine.SetItemAttrText
wf_engine.SetItemAttrNumber
wf_engine.SetItemAttrDate
wf_engine.SetItemAttrEvent
wf_engine.SetItemAttrFormattedDate
wf_engine.SetItemAttrDocument
wf_engine.SetItemAttrTextArray
wf_engine.SetItemAttrNumberArray
wf_engine.SetItemAttrDateArray
wf_engine.GetItemAttrText
wf_engine.GetItemAttrNumber
wf_engine.GetItemAttrDate
wf_engine.GetItemAttrEvent
wf_engine.GetItemAttrDocument
wf_engine.GetItemAttrClob
wf_engine.GetItemAttrInfo
To create copies of a new item attribute for active work items, call AddItemAttr() or one
of the AddItemAttributeArray APIs. You can place this call either in a custom upgrade
script or in an exception handler.
Upgrade script - Before you modify your API, write and execute a custom upgrade
script that creates and populates the new item attribute for any active work items
that reference that API. The following example shows one way to structure an
upgrade script.
for <each active work item>
begin
wf_engine.AddItemAttr(itemtype,
itemkey,
'<new_attribute_name>');
wf_engine.SetItemAttrText(itemtype,
itemkey,
'<new_attribute_name>',
'<New attribute value>');
end;
end loop;
Note: Active work items are identified as those items for which
WF_ITEMS.END_DATE is null.
Exception handler - After the reference to the new item attribute in your modified
API, add an exception handler to create and populate the attribute when the
attribute does not already exist. The following example shows one way to structure
such an exception handler.
procedure <procedure_name>
(itemtype in varchar2,
itemkey in varchar2,
actid in number,
funcmode in varchar2,
result in out varchar2)
is
begin
--- RUN mode - normal process execution
-if (funcmode = 'RUN') then
-- your run code goes here
null;
wf_engine.SetItemAttrText(itemtype,
itemkey,
'<existing_attribute_name>',
'<Existing attribute value>');
begin
wf_engine.SetItemAttrText(itemtype,
itemkey,
'<new_attribute_name>',
'<New attribute value>');
exception
when others then
if (wf_core.error_name = 'WFENG_ITEM_ATTR') then
wf_engine.AddItemAttr(itemtype,
itemkey,
'<new_attribute_name>');
wf_engine.setitemattrtext(itemtype,
itemkey,
'<new_attribute_name>',
'<New attribute value>');
else
raise;
end if;
end;
-- example completion
result := 'COMPLETE:';
return;
end if;
-------if
Your
4
Defining a Workflow Process Diagram
This chapter tells you how to use Oracle Workflow Builder to define a workflow
process diagram and how to load roles from the database so you can assign notification
activities to specific roles.
This chapter covers the following topics:
Process Window
Diagramming a Process
Referencing Roles
Initiating a Process
Process Window
The process window in Oracle Workflow Builder graphically represents the activities
(icons) and transitions (arrows) for a particular process. Each activity is a node, a logical
step that contributes toward the completion of a process.
You can drag and drop activities from the navigator tree into the process window or
create activities directly in the process window. The properties for an activity node may
be viewed or edited by double clicking on the node in the process window with the
select mouse button. You define transitions between activities by drawing arrows from
one node to the next using the secondary mouse button.
Notification, function, event, and process activities make up the nodes of a process. If a
process contains a process activity in its diagram, that process activity is known as a
subprocess. There is no restriction on the depth of this hierarchy. To display the
subprocess diagram in a process window, double-click on the subprocess activity node
in the parent process window.
Transitions
Transitions appear as arrows in your diagram and represent the completion of one
activity and the activation of another. For an activity that completes with a result type
of <None>, any transition that you draw from it simply appears as an arrow to the next
activity, indicating that as long as the originating activity completes, the process
transitions to the next activity.
For an activity that has a defined result type, you must associate the transition arrow
that you create with one of the activity's possible results. The result that the activity
returns when it completes then determines what the next eligible activity is, as defined
by the results-based transitions that originate from the completed activity. For example,
"Notify Approver" with a result of 'REJECTED' transitions to "Reject Requisition." See:
Requisition Process Activities, page 10-6.
You can also create a <Default>, <Any>, or <Timeout> transition for an activity that has
a defined result type. The Workflow Engine follows a <Default> transition if no other
transition matching the completion result exists. The Workflow Engine follows an
<Any> transition regardless of what completion result the activity returns. This allows
you to include a generic activity in the process that the Workflow Engine executes in
parallel with the result-specific activity. The Workflow Engine follows a <Timeout>
transition if the notification activity times out before completion. See: Setting Up
Background Engines, Oracle Workflow Administrator's Guide.
Activities can have multiple transitions for a single result to create parallel branches.
Timeout Transitions
Draw a <Timeout> transition from a notification activity to some other activity to force
the process to perform the other activity if the notification activity does not complete by
a specified period of time. See: To Define Nodes in a Process, page 4-6.
When an activity times out, Oracle Workflow marks the activity as timed out and then
cancels any notification associated with the timed out activity. The Notification System
sends a cancellation message to the performer only if the canceled notification was
expecting a response and the performer's notification preference is to receive e-mail.
Note: You can optionally use the Send E-mails for Canceled
Processing then continues along the <Timeout> transition as indicated by your process
definition. If a timed out activity does not have a <Timeout> transition originating from
it, Oracle Workflow executes the error process associated with the timed out activity or
its parent process(es). See: To Define Optional Activity Details, page 3-91.
Note: You must have a background engine set up to process timed out
you should always use an And, Or, or custom join activity to merge
those branches. This is especially true if after merging the parallel
branches, you want to create a loop in your process. By using a joining
activity to merge parallel branches and designating the following
activity as the start of the loop, you create a less complicated process for
the engine to execute. See: Standard Activities, page 5-1.
that appear in the lower right corner of the activity node's icon in the process window.
Diagramming a Process
This section discusses how to draw and define a workflow process in the process
window:
To begin drawing a process diagram, you must first display the process window for
your process activity. To display a process window, you can do one of several
things:
Select a predefined process activity and choose Process Details from the Edit
menu.
Use the Quick Start Wizard to create a new process activity. See: To Use the
Quick Start Wizard, page 2-16.
A process window opens with the name of your process in the window title.
2.
Drag and drop a notification, function, event, or process activity from the
navigator tree into the process window. The activity you drag must belong to
the same data store as the process you are dragging it to.
Note: If you want to drag an activity into a process, where the
Choose the New Function, New Process, New Event, or New Notification
toolbar button to create a new activity. See: Process Window Toolbar, page B8.
Choose New Function, New Process, New Event, or New Notification from the
right mouse button menu while your cursor is in the process window to create
a new activity node. An activity property page appears for you to select the
activity for this node. See: To Define Nodes in a Process, page 4-6.
3.
In the process window, you can display information about an activity by moving
your mouse over the activity. The Label Name, Internal Name, Display Name,
Comment and Performer, appear in a "tool-tip"-style display.
4.
If you single click on an activity node in the process window, Oracle Workflow
Builder expands the navigator tree and highlights the master activity of the node
you select.
5.
Create an arrow (transition) between two activity nodes by holding down your
right mouse button and dragging your mouse from a source activity to destination
activity.
6.
If the source activity has no result code associated with it, then by default, no label
appears on the transition. If you specifically choose to show the label for such a
transition, the label <Default> appears. See: To Create and Edit a Transition, page 418.
If the source activity has a result code associated with it, then a list of lookup values
appears when you attempt to create a transition to the destination activity. Select a
value to assign to the transition. You can also select the values <Default>, <Any>, or
<Timeout> to define a transition to take if the activity returns a result that does not
match the result of any other transition, if the activity returns any result, or if the
activity times out, respectively.
You can also drag and drop a lookup code from the navigator tree onto an existing
transition in the process window to change the result of that transition. The lookup
code you drag and drop must belong to the same data store and same lookup type
as the lookup code you replace.
7.
You can select an entire region of a process diagram, containing multiple activity
nodes and transitions, and make a copy of the selection by holding down the
Control or Shift key as you drag the selection to a new position in the process
window.
Important: Oracle Workflow does not support reusing a subprocess
8.
Turn on grid snap from the View menu to snap your activity icons to the grid when
you complete your diagram. Grid snap is initially turned on by default until you
change the setting, at which point the latest setting becomes your default.
2.
To create a new function, notification, event, or process node, first select the New
Function, New Notification, New Event, or New Process icon from the process
window toolbar. Next, click on the position within the process window where you
want to place this new node. The property page for the new node appears.
Note: You can also create a new node by dragging and dropping a
3.
In the Item Type field, select the item type that you want this activity node to be
associated with.
4.
Choose one of the following methods to define the remaining information for the
node.
Select either the internal name or display name of a predefined activity. Oracle
Workflow Builder then populates all the fields with predefined information
from the master activity as shown in the Navigator window.
Alternatively, choose the New button to define a new activity. To complete the
following tabs of the property page, refer to the sections listed:
5.
Select the Node tab to specify information that is specific to this node. Specify a
Label for the node. Since an activity can be used more than once in any given
process, the Label field lets you give a unique name to the instance of this particular
activity in the process. By default, the label name is the activity name, but if the
activity is used more than once in the process, -N is appended to the activity name,
where N represents the 'Nth' instance of the activity in use.
Important: When you call most Oracle Workflow APIs, you must
pass the activity's label name and not its activity name. See:
Workflow Engine APIs, Oracle Workflow API Reference.
Node Tab
6.
Indicate if the current node is a start or end activity in your process, by choosing
'START' or 'End', respectively. 'NORMAL' is the default if it is neither. You may
have multiple START and END nodes in your process.
A Start activity is marked (Start) and has a small green arrow in its activity icon,
and an End activity is marked (End) and has a red arrow in its activity icon.
Important: The Start/End field is always set to Normal by default
for all activity nodes. Even if you use the Standard Start or
Standard End activity, you must manually edit the Start/End field
to be either Start or End, respectively.
7.
For an END node, you must also select a value for the final process result if the
overall process activity has a result type associated with it. The list of values for the
final process result is derived from the lookup type specified as the process
activity's result type.
8.
9.
10. For a notification activity node, or for an event activity node with an event action of
Send, you can override the priority assigned to the activity's message. Choose
'Default' to keep the default priority of the message.
Choose 'Constant' to override the default priority with the new specified priority
level.
Choose 'Item Attribute' to override the default priority with a new priority level
that is dynamically determined at runtime. Note that you must first create an item
attribute of type number to store the computed priority value and reference that
predefined item attribute here. See: Item Type Attributes, page 3-2 and To Define an
Item Type or Activity Attribute, page 3-8.
Note: The computed priority value can be any number between
11. For a notification activity node, specify the performer of the activity. The performer
is the role to whom the notification is sent. You may either select a constant role
name or an item type attribute that dynamically determines the role at runtime.
Note that you must first create an item attribute of type role to store the computed
role name and reference that predefined item attribute here. See: Item Type
Attributes, page 3-2, To Define an Item Type or Activity Attribute, page 3-8, and
Referencing Roles, page 4-23.
Note: If you set the Performer Type to Constant and you are
connected to the database and have loaded roles from the database,
you can select a constant role name from the Performer poplist. If
you are working in a .wft file data store without any open
connection to the database, you can directly type in a valid role
display name in the Performer field. When you upload the file to a
database, the role will be resolved to the appropriate role data
stored in the database based on the role display name you entered.
Workflow Engine keeps track of the individual from that role that
actually responds to the notification. See: Respond API, Oracle
Workflow API Reference.
12. Choose Apply to save your changes, OK to save your changes and close the
property page or Cancel to cancel your changes and close the property page.
When you save and close your property page, the activity node appears in the
position you specified in the process window. If this is a new activity you created, a
corresponding master activity is also created under the appropriate branch in the
navigator tree.
13. If the node is an event activity, you can specify additional required event
information by choosing the Event Details tab. See: To Define Event Details for an
Event Node, page 4-11.
14. If the node is a function, notification, or event activity and the activity has activity
attributes, you can assign values to those activity attributes by choosing the Node
Attributes tab. See: To Define Activity Attribute Values, page 4-16.
15. If the node is a process activity, then a small subprocess overlay icon appears over
the upper right corner of process activity icon. The subprocess overlay icon
identifies the node as a subprocess within the process diagram.
Display the property pages of an event activity node. Select the Event Details tab.
2.
For an activity with the event action Receive, enter the following event details:
Event Name - Optionally select an item type attribute of type text where you
want to store the event name that the node receives.
Note: The event activity can only receive events that match its
Event Key - Optionally select an item type attribute of type text where you want
to store the event key that the node receives.
Event Message - Optionally select an item type attribute of type event where
you want to store the event message that the node receives.
stores the event name, event key, and event message in the item
type attributes you specify, and also sets any parameters in the
event message parameter list as item type attributes for the process,
creating new item type attributes if a corresponding attribute does
not already exist for any parameter.
Additionally, if the event was originally raised by a Raise event
activity in another workflow process, the item type and item key
for that process are included in the parameter list within the event
message. In this case, the Workflow Engine automatically sets the
specified process as the parent for the process that receives the
event, overriding any existing parent setting. See: SetItemParent,
Oracle Workflow API Reference.
3.
For an activity with the event action Raise, enter the following event details:
Event Name - Enter the name of the event that the node raises. You can either
specify a constant event name or select an item type attribute of type text that
dynamically determines the event name at runtime.
Note: You can only raise an individual event. You cannot raise
event groups.
Event Key - Select the item type attribute of type text that contains the event
key for the event that the node raises.
Event Data - Optionally select an item type attribute that contains the event
data for the event that the node raises. You can store event data in item type
attributes of type text, number, date, lookup, role, or attribute. The maximum
length of the data you can enter in a text attribute is 4000 bytes. If the event data
exceeds 4000 bytes, you should assign a generate function in the event
definition to generate the event data, rather than providing the event data
through a text attribute. See: Defining Events, page 8-9.
You must not specify an item type attribute of type event for the Event Data
field, since the event data is only a part of the complete event message structure
which is the format for the event attribute type. If you want to use the event
data stored within an existing event message, leave the Event Data field
unspecified and instead define the #EVENTMESSAGE2 activity attribute for the
raise event activity.
Note: The Event Name and Event Key are required for a Raise
event activity.
Note: In addition to these event details, you can use the activity
4.
For an activity with the event action Send, enter the following event details:
Event Message - Select the item type attribute of type event that contains the
event message that the node sends.
Event Name - Optionally enter the name of the event that the node sends. You
can either specify a constant event name or select an item type attribute of type
text that dynamically determines the event name at runtime. The event name
that you enter here overrides the previous event name value in the event
message.
Event Key - Optionally select an item type attribute of type text that contains
the event key of the event that the node sends. The event key that you enter
here overrides the previous event key value in the event message.
Out Agent - Optionally enter the outbound agent from which the node sends
the event. Specify both the agent name and the system name for the agent using
the following format:
<agent_name>@<system_name>
You can either specify a constant Out Agent name or select an item type
attribute of type text that dynamically determines the Out Agent name at
runtime. The Out Agent that you enter here overrides the previous outbound
agent value in the event message.
To Agent - Optionally enter the inbound agent to which the node sends the
event. Specify both the agent name and the system name for the agent using the
following format:
<agent_name>@<system_name>
You can either specify a constant To Agent name or select an item type attribute
of type text that dynamically determines the To Agent name at runtime. The To
Agent that you enter here overrides the previous inbound agent value in the
event message.
5.
Choose Apply to save your changes, OK to save your changes and close the
property page, or Cancel to cancel your changes and close the property page.
defined, the raise event activity retrieves the event data and parameter list from the
specified existing event and sets them into the new event message before it is raised. For
a receive event activity, the special #BUSINESS_KEY attribute is used to determine
whether the activity is eligible to receive an event sent from the Event Manager based
on whether the business key value matches the event key. See: To Define an Item Type
or Activity Attribute, page 3-8.
1.
Display the property pages of an activity node. Select the Node Attributes tab.
Node Attributes Tab
2.
Select an attribute.
3.
In the Value region, enter the value for this attribute. The value can be a constant or
a value stored in an item type attribute.
The value you enter must match the data type of the activity attribute, and of the
actual activity parameter itself as it is defined in the PL/SQL function associated
with the activity, if there is one. The attribute type is displayed along with the
name, description, value type, and value of each attribute in the attributes summary
region.
4.
Choose Apply to save your changes, OK to save your changes and close the
property page or Cancel to cancel your changes and close the property page.
To create a transition between two activities, hold down your right mouse button
and drag your mouse from a source activity to a destination activity.
Note: Overlapping transitions appear in a different color than
2.
3.
To reposition a transition label, simply select the label with your mouse and drag it
to its new position. The label snaps onto the transition.
4.
You can bring up the following menu of editing options at any time by selecting a
transition with your mouse and clicking on the right mouse button:
Locked - toggles between locking and unlocking the transition from further
edits. If a transition is locked, you cannot add or delete vertex points along the
transition, but you can delete the transition.
Hidden Label - toggles between displaying and hiding the transition label.
Straighten - straightens the transition by removing the extra vertex points that
can cause bends in the transition.
Results... - if the transition has a result assigned to it, use this option to change
the result label on the transition. An additional menu appears that lists the
possible result labels you can choose.
5.
To bend a transition, create a vertex point by selecting the transition and dragging
the transition as you hold down your left mouse button. You can reposition any
vertex point to create a bend in the transition.
6.
You can create a transition that loops back to its source activity node in one of two
ways:
Hold down your right mouse button and drag your mouse from a source
activity back to itself to create a self loop.
7.
To remove a single vertex point from a transition, select the vertex and drag it over
another vertex to combine the two points.
Place your cursor in the process window and choose Overview from the right
mouse button menu.
2.
The upper pane of the window shows a size-reduced sketch of your entire process,
while the bottom pane is a list of the activities in your process.
3.
You can resize the Overview dialog window to get a better view of the process
sketch.
4.
A cross hairs cursor that you can drag appears in the process sketch pane. Use the
cross hairs cursor to pinpoint an area in your process that you want the process
window to display.
5.
Single click on an activity in the lower pane to move the cross hairs cursor to that
activity within the sketch. Choose OK to close the dialog window and to jump to
that activity in the process window.
You can also drag and double-click on the cross hairs cursor in the upper pane to
close the dialog window and to jump to the resulting region in the process window.
To Print a Process:
1.
Display the process window containing the process you wish to print.
2.
With the process window selected as the active window, choose Print Diagram
from the File menu or from the right mouse button menu.
The Print Diagram option captures your process diagram as a picture (metafile),
enlarges it to the correct size to print and sends it to a printer. If your diagram is
large, it may span more that one page when printed. However, depending on the
printer driver you use, you may get a Print dialog box that lets you scale your
image down to one page for printing.
Note: If your process diagram uses a font that the printer cannot
find, your printer driver may either substitute a similar font or not
print any text.
Display and make the process window containing the process you wish to copy
active.
2.
Choose Copy Design from the Edit menu or from the right mouse button menu.
This copies the process to the clipboard in the form of a metafile and a bitmap
diagram.
3.
Choose Verify from the File menu to validate all process definitions for the
currently selected data store.
2.
The following list is an example of some of the validation that the Verify command
performs:
Checks that a process has at least one Start and one End activity.
Validates that all possible activity results are modelled as outgoing transitions.
If an activity completes with a result that is not associated with an outgoing
transition, and a <Default> transition doesn't exist for that activity, the activity
enters an 'ERROR' state.
Validates that activity nodes marked as END nodes do not have any outgoing
transitions.
Validates that a notification activity's result type matches the lookup type
defined for the message's 'RESULT' message attribute.
For processes that reference objects from another item type, verifies that the
requisite item attributes associated with the referenced item type exist.
Important: You should always validate any new process definition
Related Topics
To Find an Object in the Navigator Tree, page 2-4
Using the Edit Button in a Property Page, page 2-7
To Modify Fonts:
1.
Choose Font from the View menu to display the Fonts property page.
2.
Select the font to use as the label for your icons. This font is used for all icons in
Workflow Builder. The Sample region shows the appearance of the font you select.
3.
Choose the font style: Regular, Bold, Italic or Bold Italic. Some fonts have a limited
selection of font styles.
4.
Indicate the font size to use. Some fonts have a limited selection of font sizes.
5.
6.
Choose OK when you are done. These font settings take effect immediately and are
also used the next time you start Oracle Workflow Builder.
2.
3.
Optionally expand the Process branch and double-click on one or more process
5.
Enter a name for the shortcut, as you want it to appear on your desktop.
6.
When you double-click on the new shortcut icon on your desktop, it automatically
starts Oracle Workflow Builder opening the data store that was selected and any
process windows that were open when you created the shortcut.
If the data store for the shortcut is a database, the shortcut will prompt you for the
password to the database.
Referencing Roles
Oracle Workflow roles are stored in the database, in the Oracle Workflow directory
service. Currently, new workflow roles cannot be created in Oracle Workflow Builder,
but Oracle Workflow Builder can display and reference the roles stored in a database.
One example of how roles are referenced in a workflow process is when you include a
notification activity in a process as a node. You must assign that node to a performer.
The performer can be a designated role or an item type attribute that dynamically
returns a role. To assign a performer to a role, you must initially load the roles from
your Oracle Workflow database into your Oracle Workflow Builder session. See: Setting
Up an Oracle Workflow Directory Service, Oracle Workflow Administrator's Guide and To
Define Nodes in a Process, page 4-6.
Note: Referencing roles in a workflow process is currently supported in
Oracle Workflow Builder, although the Roles tab page seen in the
property pages of certain workflow objects will not be supported until
a future release. The purpose of the Roles tab page is to give a role
access to a certain object.
To Load Roles:
1.
If you are not connected to an Oracle Workflow database, choose Open from the
File menu to connect to the database and open your item type.
2.
Choose from the File menu, Load Roles from Database. A Role Selection window
appears. You can enter search criteria using SQL query syntax in the Find Roles
field to find a subset of roles, or just choose Find without specifying any search
criteria to identify all roles. The Role Selection window finds the roles you specify
and displays them in the Query Results list box.
Role Selection Window
3.
Select the roles you want to load from the Query Results list and choose Add to add
them to the Loaded Roles list. Alternatively, just choose Add All to add all the roles
in the Query Results list to the Loaded Roles list. Choose OK to load the selected
roles into Oracle Workflow Builder and make them available to the workflow
objects in your open item type.
The workflow objects that need to reference role information contain specific fields
in their property pages. These fields are poplist fields that display the list of roles
you loaded from the database, such as the Performer fields in the Node property
page.
4.
When you select a role from one of these poplist fields, you can also choose the Edit
button to the right of the field to display the property sheet of the selected role.
5.
The Role property page that appears lists read-only information about that role.
Note: When you reopen a saved process definition in Oracle Workflow
Once you load your roles from the database in Oracle Workflow Builder, you can
display your directory service information in the navigator tree. See: To Load Roles,
page 4-23.
2.
Expand the Directory Service branch in the navigator tree. All the roles that you
loaded from the database appear.
3.
users of a role.
Role Property Page
Initiating a Process
A workflow process begins when an application calls the Workflow Engine
CreateProcess() and StartProcess() APIs or when a Business Event System subscription
sends an event to launch the process. A subprocess is started when the Workflow
Engine transitions to a process activity that represents the subprocess.
You can also use the Workflow Engine bulk APIs to initiate several instances of the
same workflow process at once. See: Workflow Engine Bulk APIs, Oracle Workflow API
Reference.
2.
Note: The item key for a process instance can only contain
3.
Add the Raise() API to your custom application code at the point where you want
to launch the workflow process.
Related Topics
Workflow Engine APIs, Oracle Workflow API Reference
Workflow Engine Bulk APIs, Oracle Workflow API Reference
Raise, Oracle Workflow API Reference
Managing Business Events, page 8-1
5
Predefined Workflow Activities
This chapter tells you how to use Oracle Workflow's predefined activities.
This chapter covers the following topics:
Standard Activities
Standard Activities
Oracle Workflow provides some generic activities you can use to control your process.
The activities are associated with the Standard item type but can be used within any
process you define. The Standard item type is automatically installed on your Oracle
Workflow server. You can also access the Standard item type from the file wfstd.wft
located on your PC in the <ORACLE_HOME>\Wf\data\<language> directory.
Note: Predefined activities are also available for the predefined
Note: If you want to drag an activity into a process, where the activity
is in a different data store than the process you are dragging it to, then
you must first copy the item type that the activity belongs to into the
same data store as the process. Suppose you are modifying a process
that is stored in wfexample.wft and you want to add some standard
activities into the process that are stored in wfstd.wft. First you need
to open both files as data stores in Oracle Workflow Builder, then you
need to copy the Standard item type in wfstd and paste it into the
wfexample data store. Now you can drag any standard activity in the
wfexample data store into your process.
Related Topics
And/Or Activities, page 5-2
Comparison Activities, page 5-3
Compare Execution Time Activity, page 5-3
Wait Activity, page 5-4
Block Activity, page 5-5
Defer Thread Activity, page 5-6
Launch Process Activity, page 5-6
Noop Activity, page 5-7
Loop Counter Activity, page 5-7
Start Activity, page 5-9
End Activity, page 5-9
Role Resolution Activity, page 5-9
Notify Activity, page 5-9
Vote Yes/No Activity, page 5-10
Master/Detail Coordination Activities, page 5-11
Assign Activity, page 5-15
Get Monitor URL Activity, page 5-15
Get Event Property Activity, page 5-15
Set Event Property Activity, page 5-16
Compare Event Property Activity, page 5-17
And/Or Activities
In cases where multiple parallel branches transition to a single node, you can decide
whether that node should transition forward when any of those parallel branches
complete or when all of the parallel branches complete. Use the And activity as the node
for several converging branches to ensure that all branches complete before continuing.
Use the Or activity as the node for several converging branches to allow the process to
continue whenever any one of the branches completes.
And - Completes when the activities from all converging branches complete. Calls a
PL/SQL procedure named WF_STANDARD.ANDJOIN.
Or - Completes when the activities from at least one converging branch complete.
Calls a PL/SQL procedure named WF_STANDARD.ORJOIN.
Comparison Activities
The comparison activities provide a standard way to compare two numbers, dates, or
text strings.
Compare Date - Use to compare the value of an item type attribute of type Date
with a constant date.
Compare Number - Use to compare the value of an item type attribute of type
Number with a constant number.
Compare Text - Use to compare the value of two item type attributes of type Text.
Activity Attributes
Each comparison activity has two activity attributes:
Test Value - a constant number, date, or text string which to compare to a reference
value.
The comparison activities use the Comparison lookup type for a result code. Possible
values are "Greater Than," "Less Than," "Equal," or "Null," if the item type attribute is
null. You can guide your workflow process based on how the value of an item type
attribute compares to a given value that you set. See: To Define Activity Attribute
Values, page 4-16.
Activity Attributes
The Compare Execution Time activity has two activity attributes:
Test Execution Time - the time, in seconds with which to compare the elapsed
execution time.
Parent Type - takes as its value, the lookup codes, "Root" or "Parent". A value of
"Root" compares the test time with the elapsed execution time of the current root
process. A value of "Parent" compares the test time with the elapsed execution time
of just the immediate parent process, which can be a subprocess.
The activity uses the Comparison lookup type for a result code. Possible values are
"Greater Than," "Less Than," "Equal," or "Null," if the test time is null. See: To Define
Activity Attribute Values, page 4-16.
Wait Activity
The Wait activity pauses the process for the time you specify. You can either wait until:
a specific date
determine when the wait time has passed. The background engine then
completes the Wait activity so that the process can continue. See:
Setting Up Background Engines, Oracle Workflow Administrator's Guide.
Activity Attributes
The Wait activity has six activity attributes:
Wait Mode - use this attribute to specify how to calculate the wait. You can choose
one of the following wait modes:
Absolute Date - to pause the activity until the date specified in the Absolute
Date activity attribute is reached.
Relative Time - to pause the activity until the number of days specified in the
Relative Time activity attribute passes.
Day of Month - to pause the activity until a specified day of the month, as
indicated in the Day of Month activity attribute.
Day of Week - to pause the activity until a specified day of the week, as
indicated in the Day of Week activity attribute.
Absolute Date - If Wait Mode is set to Absolute Date, enter an absolute date.
Relative Time - If Wait Mode is set to Relative Time, enter a relative time expressed
in <days>.<fraction of days>. For example, enter 0.5 for a wait time of half
a day (12 hours).
Day of Month - If Wait Mode is set to Day of Month, choose a day of the month
from the list. If the day you choose has already arrived in the current month, then
the activity waits until that day in the following month.
Day of Week - If Wait Mode is set to Day of Week, choose a day of the week from
the list. If the day you choose has already arrived in the current week, then the
activity waits until that day in the following week.
Time of Day - The Wait activity always pauses until midnight of the day specified,
unless you use this Time of Day activity attribute to specify a time other than
midnight that the Wait activity should pause until.
Note: For the Day of Month and Day of Week wait modes, if a process
Block Activity
The Block activity lets you pause a process until some external program or manual step
completes and makes a call to the CompleteActivity Workflow Engine API. Use the Block
activity to delay a process until some condition is met, such as the completion of a
concurrent program. Make sure your program issues a CompleteActivity call when it
completes to resume the process at the Block activity. See: CompleteActivity, Oracle
Workflow API Reference.
This activity calls the PL/SQL procedure named WF_STANDARD.BLOCK.
Activity Attributes
The Launch Process activity has six activity attributes:
Item Type - the item type of the process to launch. Specify the item type's internal
name. This activity attribute requires a value.
Item Key - an item key for the process to launch. If you do not specify a value, the
item key defaults to <current_item_type>:<current_item_key>-<n>,
where <current_item_type> and <current_item_key> identify the current
process instance, and <n> is the number of processes launched by the current
process instance, starting at 1.
Note: The item key for a process instance can only contain
Process name - the internal name of the process to launch. If a process name is not
specified, the activity will check the item type selector function of the process to
launch for a process name.
Noop Activity
The Noop activity acts as a place holder activity that performs no action. You can use
this activity anywhere you want to place a node without performing an action. You can
change the display name of this activity to something meaningful when you include it
in a process, so that it reminds you of what you want this activity to do in the future.
This activity calls the PL/SQL procedure named WF_STANDARD.NOOP.
Activity Attribute
The Loop Counter activity has an activity attribute called Loop Limit. If the number of
times that the Workflow Engine transitions to the Loop Counter activity is less than the
value specified in Loop Limit, the Loop Counter activity will complete with a result of
Loop and the engine will take the 'Loop' transition to the next activity. If the number of
times that the Workflow Engine transitions to the Loop Counter activity exceeds the
value of Loop Limit, the activity will complete with a result of Exit and the engine will
take the 'Exit' transition to an alternative activity.
For example, suppose your workflow process contains a branch of activities that can be
transitioned to from multiple source activities, and you want to ensure that that
particular branch of activities gets executed just once in the process. Include a Loop
Counter activity as the first activity in that branch and specify the Loop Limit activity
attribute value as 1. Also draw an 'Exit' transition from the Loop Counter activity to an
activity that you want the engine to execute if the Loop Counter activity is visited more
than once, as shown in the diagram below.
Additionally, for example, as shown in the diagram below, you can include a Loop
Counter activity as the initial activity in a loop. The value you specify for the Loop
Limit activity attribute will designate the number of times the engine is allowed to
traverse through the loop. If the number of visits to the Loop Counter activity exceeds
the value set in Loop Limit, then the process moves along the 'Exit' transition to the
designated activity.
In this example, the engine moves from the Loop Counter activity through Activities 1,
2, 3, and 4 in the loop. If the result of Activity 4 is 'Accepted,' the process moves along
the 'Accepted' transition. Otherwise, if the result is 'Rejected,' the process moves along
the 'Rejected' transition to return to the Loop Counter activity. If the item is rejected
multiple times, once the number of visits to the Loop Counter activity exceeds the Loop
Limit value, the process moves along the 'Exit' transition and ends.
Example Loop Counter Activity in a Loop
Start Activity
The Start activity marks the start of a process and does not perform any action.
Although it is not necessary, you may include it in your process diagram to visually
mark the start of a process as a separate node. This activity calls the PL/SQL procedure
named WF_STANDARD.NOOP.
End Activity
The End activity marks the end of a process and does not perform any action. You can
use it to return a result for a completed process by specifying a Result Type for the
activity. Although it is not necessary, you may include it in your process diagram to
visually mark the end of your process as a separate node. This activity calls the PL/SQL
procedure named WF_STANDARD.NOOP.
Activity Attributes
Use the Method activity attribute in the Role Resolution activity to specify how you
want to resolve the role. A value of "Load Balance" compares how many open
notifications from that activity each qualified user has and selects the user with the
fewest open notifications from that activity. A value of "Sequential" selects a user from
the role sequentially by determining the user that experienced the longest interval of
time since last receiving a notification from that activity. See: To Define Activity
Attribute Values, page 4-16.
Notify Activity
The Notify function activity lets you send a notification, where the message being sent
is determined dynamically at runtime by a prior function activity. To use the Notify
activity, you must model a prerequisite function activity into the process that selects
one of several predefined messages for the Notify activity to send.
Important: Since the Notify activity is locked against modifications at
access level 0, you cannot change the result type from its value of
requires a response, then you must copy and create your own version
of the Notify activity. Since any one of several messages (with response
attributes) can be sent by your version of the Notify activity, you must
model into your process all the possible notification results that can be
returned.
Note: If you want to define an activity that always sends the same
message, you should define a notification activity and not use this
Notify function activity.
Activity Attributes
The Notify activity has three activity attributes:
Message Name - the name of the predefined message to send. The prerequisite
function activity that determines which message to send should store the name of
that message in an item attribute. The Message Name activity attribute should
reference that item attribute to determine the name of the message to send.
Performer - the name of the role to which to send the notification message. If you
load the roles from your database, you can select a constant role as the performer.
Alternatively, you can set the performer to an item attribute that returns the name
of a role at runtime.
Expand Roles - takes as its value, the lookup codes Yes or No. Set Expand Roles to
Yes if you wish to send an individual copy of the notification message to every user
in the role.
Activity Attributes
The Vote Yes/No activity has three activity attributes:
Percent Yes - The percentage of Yes votes cast in order for the activity to complete
with a result of Yes.
Percent No - The percentage of No votes cast in order for the activity to complete
with a result of No
Note: The values for the Percent Yes and Percent No attributes are
Voting Option - specify how the votes are tallied by selecting one of three values:
"Wait for All Votes" - the Workflow Engine waits until all votes are cast before
tallying the results as a percentage of all the users notified. If a timeout
condition occurs, the Workflow Engine calculates the resulting votes as a
percentage of the total votes cast before the timeout occurred.
"Tally on Every Vote" - the Workflow Engine keeps a running tally of the
cumulative responses as a percentage of all the users notified. If a timeout
condition occurs, then the responses are tallied as a percentage of the total
number of votes cast. Note that this option is meaningless if any of the custom
response activity attributes have a blank value.
Related Topics
Voting Activity, page 3-94
When you spawn a detail process from a master process in Oracle Workflow, you are in
effect creating a separate process with its own unique item type and item key. You
define the master/detail relationship between the two processes by making a call to the
Workflow Engine SetItemParent API after you call the CreateProcess API and before you
call the StartProcess API when you create the detail process. See: SetItemParent, Oracle
Workflow API Reference.
You can then use the two activities described below to coordinate the flow in the master
and detail processes. One activity lets you pause a process and the other signals the
halted process to continue. To use these activities, you place one activity in the master
process and the other in each detail process.
Both activities contain two activity attributes that you use to identify the coordinating
activity in the other process(es).
If a master process has a single set of detail processes but waits for those detail
processes at multiple stages in its flow, then the master process should include a
separate Wait for Flow activity node for each time it waits, and the detail processes
should each include Continue Flow activities corresponding to every Wait for Flow
activity in the master process. In this case, when you call the
WF_ENGINE.SetItemParent API to associate a detail process with the master
process, you can leave the parent context parameter null.
You can also leave the parent context parameter for the WF_ENGINE.SetItemParent
API null if the parent process contains only one Wait for Flow activity.
If a master process has multiple different sets of detail processes at different stages
in its flow, then the master process should include a separate Wait for Flow activity
node for each set of detail processes, and the detail processes should each include a
Continue Flow activity only for the Wait for Flow activity to which they
correspond. In this case, when you call the WF_ENGINE.SetItemParent API, you
must specify the parent context parameter as the activity label name for the Wait for
Flow activity node to which that detail process corresponds.
Activity Attributes
The Wait for Flow activity contains two activity attributes:
Continuation Activity - specify the label of the activity node that must complete in
the corresponding process before the current process continues. The default value is
CONTINUEFLOW.
See: To Define Activity Attribute Values, page 4-16.
Waiting Flow - specify whether the halted process that is waiting for this activity to
complete is a "Master" or "Detail" flow.
Waiting Activity - specify the label of the activity node in the halted process that is
waiting for this activity to complete.
Example
The following figures show an example of how these coordination activities can be
used. In the master process example, after the process begins with the Start activity, the
Start Detail Flows activity initiates several detail processes. The master process then
completes Activity 1 before it pauses at the Wait For Flow activity. Wait For Flow is
defined to wait for all its detail processes to complete a Continue Flow activity before
allowing the master process to transition to Activity 2 and finally end. An example of
one of the detail processes below shows that after the detail process begins with the
Start activity, it completes Activity A. When it reaches the Continue Flow activity, it
signals to the Workflow Engine that the master process can now continue from the Wait
For Flow activity. The detail process itself then transitions to Activity B and finally
ends.
Note: You can include a Wait for Flow activity in a master process
must also include a Wait for Flow activity in its corresponding master
or detail process as defined by the activity attributes in the Continue
Flow activity.
Assign Activity
The Assign activity lets you assign a value to an item attribute. This activity calls the
PL/SQL procedure named WF_STANDARD.ASSIGN.
Activity Attributes
The Assign activity has an activity attribute called Item Attribute. Use Item Attribute to
choose the item attribute that you want to assign a value to. Depending on the item
attribute's format type, use the Date Value, Numeric Value, or Text Value activity
attribute to specify the value that you want to assign to the item attribute.
Activity Attributes
The Get Monitor URL activity has two activity attributes:
Item Attribute - choose the name of the item attribute that you want to use to store
the URL for the Workflow Monitor window.
Administration Mode - determine how the URL displays the Workflow Monitor
window. If you set Administration Mode to "Yes", the URL displays the Workflow
Monitor in 'ADMIN' mode, otherwise it displays the Workflow Monitor in 'USER'
mode.
Activity Attributes
The Get Event Property activity has four activity attributes:
Event - choose the item attribute of type event that contains the event message from
which you want to retrieve a property.
Property - the event property whose value you want to retrieve. This attribute takes
as its value a lookup code from the Event Property lookup type. Possible values are
"Priority," "Send Date," "Receive Date," "Correlation ID," "Event Parameter," "Event
Name," "Event Key," "From Agent," "From Agent Name," "From Agent System," "To
Agent," "To Agent Name," and "To Agent System." See: Event Message Structure,
Oracle Workflow API Reference.
Event Parameter - if you choose the Event Parameter property in the Property
attribute, enter the name of the parameter whose value you want to retrieve. Oracle
Workflow uses this name to identify the parameter within the event message's
parameter list. If you choose any property other than Event Parameter, leave this
attribute blank.
Item Attribute - the item attribute where you want to store the event property
value.
Activity Attributes
The Set Event Property activity has six activity attributes:
Event - choose the item attribute of type event that contains the event message
whose property you want to set.
Property - the event property whose value you want to set. This attribute takes as
its value a lookup code from the Event Property lookup type. Possible values are
"Priority," "Send Date," "Receive Date," "Correlation ID," "Event Parameter," "Event
Name," "Event Key," "From Agent," "From Agent Name," "From Agent System," "To
Agent," "To Agent Name," and "To Agent System." See: Event Message Structure,
Oracle Workflow API Reference.
Event Parameter - if you choose the Event Parameter property in the Property
attribute, enter the name of the parameter whose value you want to set. Oracle
Workflow uses this name to identify the parameter within the event message's
parameter list. If you choose any property other than Event Parameter, leave this
attribute blank.
Date Value - the value of type date that you want to set for the event property, if
you choose the Send Date or Receive Date property.
Numeric Value - the value of type number that you want to set for the event
property, if you choose the Priority property.
Text Value - the value of type text that you want to set for the event property, if you
choose the Correlation ID, Event Parameter, Event Name, Event Key, From Agent
Name, From Agent System, To Agent Name, or To Agent System property.
Note: You must enter the value to set in the activity attribute that
Activity Attributes
The Compare Event Property activity has six activity attributes:
Event - choose the item attribute of type event that contains the event message
whose property you want to compare to a test value.
Property - the event property whose value you want to compare to a test value. This
attribute takes as its value a lookup code from the Event Property lookup type.
Possible values are "Priority," "Send Date," "Receive Date," "Correlation ID," "Event
Parameter," "Event Name," "Event Key," "From Agent," "From Agent Name," "From
Agent System," "To Agent," "To Agent Name," and "To Agent System." See: Event
Message Structure, Oracle Workflow API Reference.
Event Parameter - if you choose the Event Parameter property in the Property
attribute, enter the name of the parameter whose value you want to compare to a
test value. Oracle Workflow uses this name to identify the parameter within the
event message's parameter list. If you choose any property other than Event
Parameter, leave this attribute blank.
Date Value - the test value of type date with which to compare the event property
value, if you choose the Send Date or Receive Date property.
Numeric Value - the test value of type number with which to compare the event
property value, if you choose the Priority property.
Text Value - the test value of type text with which to compare the event property
value, if you choose the Correlation ID, Event Parameter, Event Name, Event Key,
From Agent Name, From Agent System, To Agent Name, or To Agent System
property.
The Compare Event Property activity uses the Comparison lookup type for a result
code. Possible values are "Greater Than," "Less Than," "Equal," or "Null," if the test
activity attribute value is null. You can guide your workflow process based on how the
event property value compares to the test value. See: To Define Activity Attribute
Values, page 4-16.
Note: You must enter the test value in the activity attribute that
matches the data type of the event property you choose. If you enter the
test value in an inappropriate activity attribute, the Compare Event
Property activity returns the "Null" result code.
The Concurrent Manager Functions item type is automatically installed on your Oracle
E-Business Suite server. You can also access this item type from the file fndwfaol.wft
located in the $FND_TOP/admin/import directory.
Concurrent Program Status lookup type are reserved for future use.
Important: Generally, the context for your process' item type is always
The Execute Concurrent Program activity calls the standard Oracle Application Object
Library API FND_WF_STANDARD.EXECUTECONCPROGRAM.
Activity Attributes
The Execute Concurrent Program activity has the following activity attributes:
Application Short Name - Short name of the application to which the concurrent
program is registered.
Item Attribute Name - Optional name of the item attribute to store the concurrent
program request ID.
The Submit Concurrent Program activity calls the standard Oracle Application Object
Library API FND_WF_STANDARD.SUBMITCONCPROGRAM.
Activity Attributes
The Submit Concurrent Program activity has the following activity attributes:
Application Short Name - Short name of the application to which the concurrent
program is registered.
Item Attribute Name - Name of the item attribute to store the concurrent program
request ID.
The Wait for Concurrent Program activity calls the standard Oracle Application Object
Library API FND_WF_STANDARD.WAITFORCONCPROGRAM.
Activity Attributes
The Wait for Concurrent Program activity has one activity attribute called Request ID,
which should be set to the concurrent program request ID that you are waiting for to
complete. See: To Define Activity Attribute Values, page 4-16.
6
Defining Procedures and Functions for
Oracle Workflow
This chapter describes the standard APIs to use for Oracle Workflow PL/SQL and Java
procedures and functions.
This chapter covers the following topics:
Standard API for PL/SQL Procedures Called by Function Activities, page 6-2
Standard API for an Item Type Selector or Callback Function, page 6-8
The example in this section is numbered with the notation (1) for easy referencing. The
numbers themselves are not part of the procedure.
(1)
(2)<local declarations>(3)
begin
(5)
(6)
(7)
(8)
(9)
end if;
(12) if ( funcmode = 'ANSWER' ) then
<your ANSWER executable statements>
resultout := 'COMPLETE';
return;
end if;
(13) if ( funcmode = 'TIMEOUT' ) then
<your TIMEOUT executable statements>
if (<condition_ok_to_proceed>) then
resultout := 'COMPLETE';
else
resultout := wf_engine.eng_timedout;
end if;
return;
end if;
(14) if ( funcmode = '<other funcmode>' ) then
resultout := ' ';
return;
end if;
(15) exception
when others then
WF_CORE.CONTEXT ('<package name>', '<procedure name>',
<itemtype>, <itemkey>,
to_char(<actid>), <funcmode>);
raise;
(16) end <procedure name>;
(1) When the Workflow Engine calls a stored procedure for a function activity, it passes
four parameters to the procedure and may expect a result when the procedure
completes. The parameters are defined here:
itemtype
The internal name for the item type. Item types are defined
in the Oracle Workflow Builder.
itemkey
actid
funcmode
resultout
NOTIFIED:<notification_id>:
<assigned_user> - an external entity is notified that
an action must be performed. A notification ID and an
assigned user can optionally be returned with this
result. Note that the external entity must call
CompleteActivity() to inform the Workflow Engine
when the action completes.
(2) This section declares any local arguments that are used within the procedure.
(3) The procedure body begins in this section with an IF statement. This section
contains one or more executable statements that run if the value of funcmode is 'RUN'.
One of the executable statements can return a result for the procedure. For example, a
result can be 'COMPLETE:APPROVED'.
Note: The Workflow Engine automatically runs a post-notification
(4) This section clears the activity and can contain executable statements that run if the
value of funcmode is 'CANCEL'. Often, this section contains no executable statements
to simply return a null value, but this section also provides you with the chance to
'undo' something if necessary. An activity can have a funcmode of 'CANCEL' in the
special case where the activity is part of a loop that is being revisited.
The first activity in a loop must always have the Loop Reset option set in the activity
properties Detail page. When the Workflow Engine encounters an activity that has
already run, it verifies the activity's Loop Reset option. If this option is set to Reset, the
engine then identifies the activities that belong in that loop and sets funcmode to
'CANCEL' for those activities. Next, the engine transitions through the loop in forward
order and executes each activity in 'CANCEL' mode to clear all prior results for the
activities so they can run again. See: Looping, Oracle Workflow API Reference and Loop
Counter Activity, page 5-7.
(5) This section can contain executable statements that run if the value of funcmode is
'SKIP'. For example, you can validate the result supplied for the skipped activity or
notify an administrator that the activity was skipped. An activity can have a funcmode
of 'SKIP' if a user skips the activity from the Status Monitor, from an error
notification, or using the WF_ENGINE.HandleError API.
Note: If you want to prevent users from skipping the activity, return a
(6) This section can contain executable statements that run if the value of funcmode is
'RETRY'. For example, you can verify that the retried activity is eligible to be
reexecuted. An activity can have a funcmode of 'RETRY' if a user retries the activity
from the Status Monitor, from an error notification, or using the
WF_ENGINE.HandleError API.
(7) This section is needed only for post-notification functions. Use this section to include
execution statements that run if the value of funcmode is 'VALIDATE'. This mode is
executed before 'RESPOND' mode, if you define this section in your post-notification
function. For example, include execution statements that validate the response values
before accepting and recording the response.
(8) This section is needed only for post-notification functions. Use this section to include
execution statements that run if the value of funcmode is 'RESPOND', that is, when a
RESPOND operation is performed. For example, include execution statements that
validate the response to the notification. After the Notification System completes
execution of the post-notification function in RESPOND mode, the Workflow Engine
then runs the post-notification function again in RUN mode. See: Post-Notification
Functions, Oracle Workflow API Reference.
(9) This section is needed only for post-notification functions. Use this section to include
execution statements that run if the value of funcmode is 'FORWARD', that is, when a
notification's state changes to 'FORWARD'. For example, include execution statements
that validate the role to which the notification is being forwarded.
(10) This section is needed only for post-notification functions. Use this section to
include execution statements that run if the value of funcmode is 'TRANSFER', that is,
when a notification's state changes to 'TRANSFER'. For example, include execution
statements that validate the role to which the notification is being transferred.
(11) This section is needed only for post-notification functions. Use this section to
include execution statements that run if the value of funcmode is 'QUESTION', that is,
when a user requests more information about a notification from another user. For
example, include execution statements that validate the role to which the request for
more information is being sent.
(12) This section is needed only for post-notification functions. Use this section to
include execution statements that run if the value of funcmode is 'ANSWER', that is,
when a user answers a request. For example, include execution statements that validate
the answering information.
Note: For the 'VALIDATE', 'RESPOND', 'FORWARD', 'TRANSFER',
(13) This section is needed only for post-notification functions. Use this section to
include execution statements that run if a notification activity times out. You can
include logic to test whether the workflow can proceed normally, and if so, to complete
the activity so that the workflow can continue to the next activity. For example, if a
Voting activity times out before all recipients respond, you can include logic that
determines how to interpret the responses based on the current response pool and
completes the activity with the appropriate result.
You should also include logic to return a result of wf_engine.eng_timedout if the
workflow cannot proceed normally. Model any subsequent behavior in your process
diagram using a <Timeout> transition to another activity. The Workflow Engine will
follow the <Timeout> transition when the result wf_engine.eng_timedout is
returned.
(14) This section handles execution modes other than those already specified. Other
execution modes may be added in the future. Since your activity does not need to
implement any of these other possible modes, it should simply return null.
(15) This section calls WF_CORE.CONTEXT() if an exception occurs, so that you can
include context information in the error stack to help you locate the source of an error.
See: CONTEXT, Oracle Workflow API Reference.
RUN - to select the appropriate process to start when either of the following two
conditions occur:
SET_CTX - to establish any context information for an item type and item key
combination that a function activity in the item type needs in order to execute. The
Workflow Engine calls the selector/callback function with this command each time
it encounters a new item type and item key combination, to ensure that the correct
context information is always set.
The standard API for the selector/callback function is as follows. The example in this
section is numbered with the notation (1) for easy referencing. The numbers themselves
are not part of the procedure.
(1)
(2)<local declarations>(3)
begin
(5)
(6)
(7)
exception
when others then
WF_CORE.CONTEXT ('<package name>', '<procedure name>',
<itemtype>,<itemkey>,
to_char(<actid>), <command>);
raise;
(8)
(1) When the Workflow Engine calls the selector/callback function, it passes four
parameters to the procedure and may expect a result when the procedure completes.
The parameters are defined here:
itemtype
The internal name for the item type. Item types are defined
in the Oracle Workflow Builder.
itemkey
actid
command
resultout
(2) This section declares any local arguments that are used within the procedure.
(3) The procedure body begins in this section with an IF statement. This section
contains one or more executable statements that make up your selector function. It
executes if the value of command is 'RUN'. One of the executable statements should
return a result for the procedure that reflects the process to run. For example, a result
can be 'REQUISITION_APPROVAL', which is the name of an example process activity.
(4) This section contains one or more executable statements that set item type context
information if the value of command is 'SET_CTX'. The Workflow Engine calls the
selector/callback function with this command each time it encounters a new item type
and item key combination, before executing any function activities for that combination.
This command is useful when you need to set item type context information in a
database session before the activities in that session can execute as intended. For
example, you might need to set up the responsibility and organization context for
function activities that are sensitive to multi-organization data.
(5) This section contains one or more executable statements that validate item type
context information if the value of command is 'TEST_CTX'. The Workflow Engine
calls the selector/callback function with this command to validate that the current
database session context is acceptable before the Workflow Engine executes an activity,
such as during background processing. The code in this section should return 'TRUE'
if the context is correct, 'FALSE' if the context is incorrect, or 'NOTSET' if the context
has not been initialized yet.
Note: The selector/callback function should return'NOTSET' only
when none of the context variables has been initialized. If one or more
context variables are set but not all the required variables are set, then
the selector/callback function should return 'FALSE'. Likewise, if any
context variable is set to an invalid value, then the selector/callback
If the result is 'TRUE', the Workflow Engine keeps the current context.
If the result is 'NOTSET', the Workflow Engine runs the function in 'SET_CTX'
mode to set the context.
If the result is 'FALSE' and the Workflow Engine permits context switching at this
point in its processing, it runs the function in 'SET_CTX' mode to set the correct
context. However, if the result is 'FALSE' but the Workflow Engine requires the
current context to be preserved, it defers the activity to be processed by a
background engine instead.
Note: The Workflow Engine permits context switching during
(6) This section handles execution modes other than 'RUN', 'SET_CTX' or
'TEST_CTX' as others may be added in the future. Since your function does not need
to implement any of these other possible commands, it should simply return null.
(7) This section calls WF_CORE.CONTEXT() if an exception occurs, so that you can
include context information in the error stack to help you locate the source of an error.
See: CONTEXT, Oracle Workflow API Reference.
Note: If your PL/SQL document contains date values, you can use the
Related Topics
"PL/SQL" Documents, page 6-12
"PL/SQL CLOB" Documents, page 6-15
"PL/SQL BLOB" Documents, page 6-21
"PL/SQL" Documents
The PL/SQL procedure that generates a PL/SQL document must have the following
standard API:
display_type
document
document_type
Related Topics
To Define a Document Attribute, page 3-17
display_type
document
document_type
WF_MAIL_UTIL.EncodeBLOB API to
encode binary data to base64 in order to
store the data in this PL/SQL CLOB
document, then the document_type
parameter should specify an appropriate
MIME type with a primary type of either
application or image, such as
'application/doc',
'application/pdf', 'image/jpg', or
'image/gif'. The MIME type must be
followed by a semicolon (';') and then by
the encoding specification
'encoding=base64' with no spaces
before or after the equal sign. You can also
optionally specify a file name for the
attachment as part of this argument. Use a
semicolon (';') to separate the file name
Example
The following example shows a sample procedure to produce a PL/SQL CLOB
document that contains a PDF or RTF document, using the
UTL_RAW.Cast_To_VARCHAR2 function to convert a BLOB to a CLOB.
procedure cdoc
(document_id in varchar2,
display_type in varchar2,
document in out nocopy clob,
document_type in out nocopy varchar2)
is
bdoc blob;
cdoc clob;
content_type varchar2(100);
lob_id number;
amount number;
bdoc_size number;
block number := 10000;
blockCount number;
rawBuff RAW(32000);
pos number;
charBuff varchar2(32000);
charBuff_size number;
filename varchar2(200);
location varchar2(200);
data_type varchar2(100);
begin
dbms_lob.createTemporary(cdoc, FALSE, dbms_lob.call);
-- Determine the document to display from the
-- Document ID
lob_id := to_number(document_id);
-- Obtain the BLOB version of the document
select filename, location, content_type, data_type, bdata
into filename, location, content_type, data_type, bdoc
from sjm_lobs
where id = lob_id;
-- recast the BLOB to a CLOB
bdoc_size := dbms_lob.getLength(bdoc);
if block < bdoc_size then
blockCount := round((bdoc_size/block)+0.5);
else
blockCount := 1;
end if;
pos := 1;
for i in 1..blockCount loop
dbms_lob.read(bdoc, block, pos, rawBuff);
charBuff := utl_raw.cast_to_varchar2(rawBuff);
charbuff_size := length(charBuff);
dbms_lob.writeAppend(cdoc, charbuff_size, charBuff);
pos := pos + block;
end loop;
-- Now copy the content to the document
amount := dbms_lob.getLength(cdoc);
dbms_lob.copy(document, cdoc, amount, 1, 1);
Related Topics
To Define a Document Attribute, page 3-17
display_type
document_type
Example
The following example shows a sample procedure to produce a PL/SQL BLOB
document that contains a binary file such as an image or a PDF document.
Note: This example shows a simple API used for testing purposes. In a
Related Topics
To Define a Document Attribute, page 3-17
File Type
File Extension
text/plain
Text document
.txt
text/html
HTML document
.htm
text/richtext
.rtf
text/tab-separated-values
Tab-separated values
.tsv
text/comma-separated-values
Comma-separated values
.csv
application/msword
.doc
application/vnd.openxmlform
ats-officedocument.wordproc
essingml.document
.docx
application/vnd.ms-word.doc
ument.macroEnabled.12
.docm
application/vnd.openxmlform
ats-officedocument.wordproc
essingml.template
.dotx
application/vnd.ms-word.tem
plate.macroEnabled.12
.dotm
application/vnd.ms-excel
.xls
application/vnd.openxmlform
ats-officedocument.spreadshe
etml.sheet
.xlsx
File Type
File Extension
application/vnd.ms-excel.shee
t.macroEnabled.12
.xlsm
application/vnd.openxmlform
ats-officedocument.spreadshe
etml.template
.xltx
application/vnd.ms-excel.tem
plate.macroEnabled.12
.xltm
application/vnd.ms-excel.shee
t.binary.macroEnabled.12
.xlsb
application/vnd.ms-excel.addi
n.macroEnabled.12
.xlam
application/vnd.ms-powerpoi
nt
Microsoft PowerPoint
presentation (versions prior to
Microsoft PowerPoint 2007)
.ppt
application/vnd.openxmlform
ats-officedocument.presentati
onml.presentation
.pptx
application/vnd.ms-powerpoi
nt.presentation.macroEnabled
.12
.pptm
application/vnd.openxmlform
ats-officedocument.presentati
onml.slideshow
.ppsx
application/vnd.ms-powerpoi
nt.slideshow.macroEnabled.1
2
.ppsm
application/vnd.openxmlform
ats-officedocument.presentati
onml.template
.potx
File Type
File Extension
application/vnd.ms-powerpoi
nt.template.macroEnabled.12
.potm
application/vnd.ms-powerpoi
nt.addin.macroEnabled.12
.ppam
application/vnd.openxmlform
ats-officedocument.presentati
onml.slide
.sldx
application/vnd.ms-powerpoi
nt.slide.macroEnabled.12
.sldm
for the event, Oracle Workflow creates a default set of event data using
the event name and event key.
Note: If the generate function is costly, and you want to return control
to the calling application more quickly after raising the event, you can
defer all the subscriptions that require the complete event data. Then
the Event Manager will not run the generate function until those
subscriptions are executed at a later time. See: Deferred Subscription
Processing, page 8-32.
Oracle Workflow provides a standard generate function that you can use for
demonstration or testing purposes. See: Default_Generate, Oracle Workflow API Reference
.
Related Topics
Defining Events, page 8-9
Defining Event Subscriptions, page 8-36
Parameter List Structure, Oracle Workflow API Reference
p_event_key
p_parameter_list
Note: If you use custom PL/SQL generate functions, you can optionally
context
Related Topics
Event Message Structure, Oracle Workflow API Reference
Agents, page 8-46
Mapping Between WF_EVENT_T and SYS.AQ$_JMS_TEXT_MESSAGE, Oracle
Workflow API Reference
p_out_agent_override
Dequeue
The Dequeue procedure in a queue handler package must dequeue an event message
from the queue associated with the specified inbound agent, selecting the message to
dequeue by the message priority. The procedure transforms the event message's header
information if necessary and returns the event message in the standard WF_EVENT_T
structure. Additionally, the Dequeue procedure can set the date and time when the
message is dequeued into the RECEIVE_DATE attribute of the event message.
When an event message is being received, the WF_EVENT.Listen procedure determines
which queue handler to use with the specified inbound agent and calls the Dequeue
procedure in that queue handler to dequeue the message.
You can optionally call the dequeue navigation APIs WF_EVENT.setNavigationParams,
WF_EVENT.resetNavigationParams, and WF_EVENT.getQueueNavigation within a
custom Dequeue procedure to control the order in which messages are dequeued. See:
Event APIs, Oracle Workflow API Reference.
The PL/SQL Dequeue procedure must have the following standard API:
procedure dequeue
(p_agent_guid in raw,
p_event out WF_EVENT_T);
p_event
In addition to the enqueue and dequeue APIs, a Java queue handler must also contain
methods to initialize the connection to the agent, destroy objects created during queue
processing after the processing is complete, retrieve a message ID from a message on
the queue, and retrieve the CLOB reference to the event data of the last business event
dequeued by the queue handler.
The arguments for the init method are as follows:
conn
agent
log
uniqueLogId
props
Default_Rule2 - Performs the basic subscription processing only if the parameter list
within the event message includes parameters whose names and values match all
the parameters defined for the subscription. See: Default_Rule2, Oracle Workflow
API Reference.
Default_Rule3 - Sets the parameter name and value pairs from the subscription
parameters into the parameter list within the event message before performing the
basic subscription processing. See: Default_Rule3, Oracle Workflow API Reference.
A rule function may read from or write to the event message or perform any other
database action. However, you should never commit within a rule function. The Event
Manager never issues a commit as it is the responsibility of the calling application to
commit. Additionally, the rule function must not change the connection context in any
way, including security and NLS settings.
Note: If your rule function writes to the event message, any subsequent
If the subscription processing that you want to perform for an event includes several
successive steps, you may find it advantageous to define multiple subscriptions to the
event with simple rule functions that you can reuse, rather than creating complex
specialized rule functions that cannot be reused. You can use the phase numbers for the
subscriptions to specify the order in which they should be executed.
By default, the Event Manager uses the event key as the correlation ID for the event
message when no other correlation ID is specified. If you want to specify a different
correlation ID, you can use WF_EVENT_FUNCTIONS_PKG.AddCorrelation to add a
correlation ID to the event message, either by calling this function within your custom
rule function or by defining another subscription that uses
WF_EVENT_FUNCTIONS_PKG.AddCorrelation as its rule function. See: AddCorrelation,
Oracle Workflow API Reference.
If you want to send the event message to a workflow process or to an agent after
running custom code on the message, you must either include the send processing in
your rule function, or define a separate subscription that uses the default rule function
to perform the send processing.
define the workflow item type, workflow process name, out agent, to
agent, priority, and parameters for your send processing, as well as
defining the rule function. Any rule function can access these send
attributes, but if you do not use the default rule function, you must
explicitly include the send processing in your custom rule function if
you want to send the event from the same subscription.
Related Topics
Defining Event Subscriptions, page 8-36
function <function_name>
(p_subscription_guid in raw,
p_event in out WF_EVENT_T)
return varchar2 is
return 'SUCCESS';
(6)
exception
when others then
WF_CORE.CONTEXT('<package name>',
'<function name>',
p_event.getEventName( ),
p_subscription_guid);
WF_EVENT.setErrorInfo(p_event, 'ERROR');
return 'ERROR';
(7)
end;
(1) When the Event Manager calls the rule function, it passes two parameters to the
function and expects a return code when the function completes. The parameters are
defined here:
p_subscription_guid
p_event
ERROR - An error occurred. The rule function reports an error message using the
Workflow Core error APIs and sets the error information into the event message.
The Event Manager places the event message on the WF_ERROR queue. Depending
on the error handling specified for the subscription, the Event Manager can either
halt subscription processing for this event and roll back any subscriptions already
executed for the event, or roll back only the errored subscription and continue
processing the next subscription for the event.
(2) This section declares any local arguments that are used within the function.
(3) The procedure body begins in this section with one or more executable statements
that make up your rule function.
(4) This optional section calls WF_CORE.CONTEXT() if a warning condition occurs, so
that you can include context information in the error stack to help you locate the source
of an error. It also sets the warning information into the event message and returns the
status code 'WARNING'. See: CONTEXT, Oracle Workflow API Reference.
(5) This section returns the status code 'SUCCESS' when the rule function's normal
processing completes successfully.
(6) This section calls WF_CORE.CONTEXT() if an exception occurs, so that you can
include context information in the error stack to help you locate the source of an error. It
also sets the error information into the event message and returns the status code
'ERROR'. See: CONTEXT, Oracle Workflow API Reference.
Note: If you raise an unhandled exception in a rule function, the Event
For Stop and Rollback error handling, the Event Manager rolls back
all subscription processing for the event and raises the exception to
the calling application. In this case the event message is not placed
on the WF_ERROR queue.
For Skip to Next error handling, the Event Manager rolls back only
the current subscription and does not raise the exception to the
calling application. However, it does place the event message on
the WF_ERROR queue.
Note: If you use custom PL/SQL rule functions, you can optionally
event
ctx
If the execution of the rule function does not succeed, the subscription can pass the
error details to the Event Manager by encapsulating the details in a
BusinessEventException. Depending on the error handling specified for the
subscription, the Event Manager can either halt subscription processing for this event
and roll back any subscriptions already executed for the event, or roll back only the
errored subscription and continue processing the next subscription for the event.
Ensure that your rule function Java class is part of the JAVA_TOP that is included in the
AF_CLASSPATH on the concurrent processing tier for your Oracle E-Business Suite
installation.
Note: When raising an event from Java, you can also set a serializable
object as a payload for the event. The payload is available to all Java
subscriptions to the event.
7
Testing Workflow Definitions
This chapter tells you how to test your workflow definitions using the Developer
Studio.
This chapter covers the following topics:
Use a Web browser to navigate to the Developer Studio, using a responsibility and
navigation path specified by your system administrator. See: Oracle Workflow
Developer Navigation Paths, page A-1.
2.
Search for the workflow definitions you want to review. The search criteria are:
3.
Workflow Type - Select the workflow item type you want to review. The
display name for the workflow type you select populates the Workflow Type
field, and the internal name for the workflow type you select populates the
Type Internal Name field.
Type Internal Name - Enter the internal name of the workflow type you want to
view, if you want to enter the internal name directly instead of selecting a
value. You can enter a partial value to search for workflow types whose internal
names begin with that value.
If you have workflow administrator privileges, you can run a test workflow process
by selecting the run icon for that workflow definition. See: To Run a Test Workflow
Process, page 7-2.
Note: If a workflow definition does not include any runnable
2.
In the Workflow Identifier region, specify the identifying details for the workflow
process you want to run.
Workflow Owner - Optionally specify an owner for the process. The default
value is your user name.
Note: If an administrator has configured restrictions for the
user list of values, then only the values to which you have
access appear in the list. See: Configuring the Oracle Workflow
User List of Values, Oracle Workflow Administrator's Guide.
Note: The item key for a process instance can only contain
User Key - An optional user-friendly identifier that you can use to locate the
workflow process in the Status Monitor and other Oracle Workflow user
interface components.
Process - The name of the workflow process to test. If the workflow item type
includes only one runnable process, Oracle Workflow automatically displays
that process. If the workflow item type includes more than one runnable
process, select the process that you want to test.
3.
The Workflow Attributes region displays any item attributes associated with the
workflow item type. Enter values for any item attributes that are required to initiate
the process.
4.
Select the Run Workflow button. To initiate the workflow process, the Run
Workflow page calls the Workflow Engine CreateProcess() and StartProcess() APIs
for the specified workflow item type and item key. It also calls the Workflow
Engine SetItemOwner() and SetItemAttr() APIs to set the process owner and all the
item type attributes to the specified values.
5.
To view the status of the workflow process, choose the Status Monitor tab and
search for the process in the Workflows search page. See: Accessing the
Administrator Monitor, Oracle Workflow Administrator's Guide.
6.
If the process you are testing includes notifications, choose the Notifications tab to
view and respond to the notifications in the Worklist. See: To View Notifications
from the Advanced Worklist, Oracle Workflow User's Guide.
Alternatively, if you have set the notification preference of the recipients to receive
e-mail notifications, you can use an e-mail reader to view and respond to the
notifications. If you specified an override e-mail address for the notification mailer,
you can connect to that e-mail account to access all notifications for the process. See:
Reviewing Notifications via Electronic Mail, Oracle Workflow User's Guide.
8
Managing Business Events
This chapter tells you how to manage business events using the Oracle Workflow Event
Manager Web pages.
This chapter covers the following topics:
Event Manager
Events
Defining Events
Event Subscriptions
Agents
Defining Agents
Systems
Defining Systems
System integration messaging hubs - Oracle Workflow with the Business Event
System can serve as a messaging hub for complex system integration scenarios. The
Event Manager can be used to "hard-wire" routing between systems based on event
and originator. Workflow process event activities can be used to model more
advanced routing, content-based routing, transformations, error handling, and so
on.
Event Manager
The Oracle Workflow Event Manager lets you register interesting business events that
may occur in your applications, the systems among which events will be
communicated, named communication agents within those systems, and subscriptions
indicating that an event is significant to a particular system. The Event Manager also
performs subscribtion processing when events occur.
You must have workflow administrator privileges to maintain Business Event System
objects in the Event Manager pages. If you have workflow administrator privileges, you
can create, update, and delete events, subscriptions, systems, and agents. You can also
test business events by manually raising a test event. If you do not have administrator
privileges, you can view Business Event System objects in the Event Manager, but you
cannot modify them. Workflow administrator privileges are assigned in the Workflow
Configuration page. See: Setting Global User Preferences, Oracle Workflow
Administrator's Guide.
Note: When defining internal names for Business Event System objects
in the Event Manager, use only characters from the ASCII character set.
You can use the Workflow XML Loader to upload and download XML definitions for
Business Event System objects between a database and a flat file. See: Using the
Workflow XML Loader, Oracle Workflow Administrator's Guide.
Note: To ensure that your customizations are handled appropriately in
When an event occurs in an application on your local system, an event key must be
assigned to uniquely identify that particular instance of the event. Then the event must
be raised to the Event Manager.
You can raise an event by any of the following methods:
Raise the event from the application where the event occurs using the
WF_EVENT.Raise() PL/SQL API or the raise method in the BusinessEvent Java class.
See: Raise, Oracle Workflow API Reference.
Raise the event from a workflow process using a Raise event activity. See: Event
Activity, page 3-86.
Raise the event manually using the Test Business Event page. See: To Raise a Test
Event, page 8-14.
Additionally, the Event Manager can receive events sent from the local system or
remote systems.
When an event is raised by a local application or received from a local or external
system, the Event Manager executes any subscriptions to that event. Depending on the
action defined in the subscription, the Event Manager may send the event information
to a workflow process, send the event information to an agent, send a notification, send
or receive an Oracle XML Gateway message, execute custom code, or invoke a Web
service.
To communicate event messages between systems, you must schedule propagation for
outbound messages and run agent listeners for inbound messages. You can use Oracle
Enterprise Manager to schedule propagation and the Workflow Manager component of
Oracle Applications Manager to run agent listeners. You can also view the distribution
of event messages on different agents in Workflow Manager, drill down to view details
about individual event messages, and review queue details for the agents. For more
information, please refer to the Oracle Enterprise Manager online help, Oracle
Enterprise Manager Support, Oracle Streams Advanced Queuing User's Guide and Reference
, Oracle Workflow Manager Overview, Oracle Workflow Administrator's Guide, and
Setting Up the Business Event System, Oracle Workflow Administrator's Guide.
To test your Business Event System setup, you can run the Workflow Agent
Ping/Acknowledge workflow. See: Workflow Agent Ping/Acknowledge, page 8-75.
Related Topics
Events, page 8-4
Event Subscriptions, page 8-15
Agents, page 8-46
Systems, page 8-66
Events
A business event is an occurrence in an internet or intranet application or program that
might be significant to other objects in a system or to external agents. For instance, the
creation of a purchase order is an example of a business event in a purchasing
application. You can define your significant events in the Event Manager.
Oracle Workflow provides several predefined events for significant occurrences within
the Business Event System. See: Predefined Workflow Events, page 9-1.
Predefined events are also provided with some Oracle E-Business Suite products. For
more information on application-specific workflow events, consult the documentation
or help for that specific Oracle E-Business Suite product, the Oracle E-Business Suite
Electronic Technical Reference Manual, available from My Oracle Support, and the
business event interface information in the Integration Repository. For information
about using the Integration Repository, see: Oracle E-Business Suite Integrated SOA
Gateway User's Guide.
This format allows you to organize the events you define into a classification hierarchy.
Java generate function - The Business Event System will always perform
subscription processing for the event in the middle tier to enable execution of the
Java generate function, even if the subscriptions to the event are all PL/SQL
subscriptions. If the event is raised from PL/SQL code or received through a
PL/SQL agent listener, the Event Manager places the event on the
WF_JAVA_DEFERRED queue to move subscription processing to the middle tier.
Note: When raising an event from Java, you can also set a
The Event Manager checks each subscription before executing it to determine whether
the subscription requires the event data. If the event data is required but is not already
provided, the Event Manager calls the generate function for the event to produce the
event data. If the event data is required but no generate function is defined for the
event, Oracle Workflow creates a default set of event data using the event name and
event key.
Note: If the generate function is costly, and you want to return control
to the calling application more quickly after raising the event, you can
defer all the subscriptions that require the complete event data. Then
the Event Manager will not run the generate function until those
subscriptions are executed at a later time. See: Deferred Subscription
Processing, page 8-32.
You can run a diagnostic test through Oracle Diagnostics Framework to verify that the
generate functions that are defined for events exist in the database and are valid. See:
Oracle Workflow Diagnostic Tests, Oracle Workflow Administrator's Guide.
<SAM> - Specify the package and class for the service application module in the
following format:
oracle.apps.myBasePackage.myPackage.server.classname
For example:
oracle.apps.fnd.wf.bes.sample.WorkflowAgentSAM
<SDO> - Specify the service data object name in the following format:
:mySDOName
For example:
:Agent
<FILTER> - Specify the fully qualified filter name in the following format:
/oracle/apps/myBasePackage/myPackage/server/xxxFilter
For example:
/oracle/apps/fnd/wf/bes/sample/AgentFilter
<KEYS> - Specify the keys for the service data object preceded by a question mark
and separated by commas in the following format:
?Key1,Key2,...KeyN
For example:
?Name
For more information about service data objects, refer to the Oracle Application
Framework Developer's Guide, available from My Oracle Support Knowledge Document
1315485.1.
Core - No changes can be made to the event definition. This level is used only for
events seeded by Oracle E-Business Suite.
Limit - The event status can be updated to Enabled or Disabled, but no other
changes can be made to the event definition. This level is used only for events
seeded by Oracle E-Business Suite.
User - Any property in the event definition can be updated. This level is
automatically set for events that you define.
See: Access Protection for Business Event System Data, Oracle Workflow Administrator's
Guide.
Some Oracle E-Business Suite products provide seeded events and subscriptions. In
these cases, Oracle Workflow executes subscriptions only if the triggering event and the
subscription are both owned by products that you have licensed with a status of
Installed or Shared.
Your Oracle E-Business Suite installation may include seeded events owned by Oracle
E-Business Suite products that you have not licensed. For such events, the Update Event
page displays a notice that the event is not licensed. Oracle Workflow will not execute
any subscriptions to these events. Additionally, Oracle Workflow will not execute any
subscriptions owned by products that you have not licensed, even if the triggering
events for those subscriptions are licensed.
You can use the License Manager utility to review which products you currently have
licensed. To ensure that the license status of the seeded events and subscriptions in the
Business Event System is updated according to the status of the products you currently
have licensed, you can run the Synchronize Product License and Workflow BES License
concurrent program. See: License Manager, Oracle E-Business Suite Maintenance Guide
and Synchronizing License Statuses, Oracle Workflow Administrator's Guide.
Note: Any events that you define with a customization level of User are
Event Groups
You can also define event groups that let you associate any events you want with each
other and reference them as a group in event subscriptions. An event group is a type of
event composed of a set of individual member events. The internal names of event
groups should follow the same format as the names of individual events. Once you
have defined an event group, you can register a subscription to the group rather than
having to create separate subscriptions for each individual event within it. The
subscription will be executed whenever any one of the group's member events occurs.
Note: Event groups cannot be used to raise events. You must raise each
event individually.
Related Topics
To View and Maintain Events, page 8-9
To Create or Update an Event, page 8-11
Defining Events
To View and Maintain Events:
1.
Use a Web browser to navigate to the Event Manager, using a responsibility and
navigation path specified by your system administrator. Then choose Events in the
horizontal navigation. See: Oracle Workflow Developer Navigation Paths, page A1.
2.
Search for the events you want to display. The main search option is:
Name - Enter the internal name of the event you want to display. You can enter
a partial value to search for events whose internal names contain that value.
3.
Display Name - Enter the display name of the event you want to display.
Type - Select Event or Group as the type of the events you want to display.
Status - Select Enabled or Disabled as the status of the events you want to
display.
Owner Name - Enter the name of the program or application that owns the
event you want to display.
Owner Tag - Enter the application short name of the application that owns the
event you want to display.
To view the subscriptions to an event, select the subscription icon for that event.
Note: For events that do not have any subscriptions, a blank
subscription by selecting the update icon for that subscription. See: To Create or
Update a Subscription, page 8-37.
Note: For seeded subscriptions with a customization level of
Limit, you can only update the subscription status. For seeded
subscriptions with a customization level of Core, you cannot
update any properties; you can only view the subscription
definition.
4.
If you have workflow administrator privileges, you can use the administration
icons and buttons in the Events page to perform administrative operations.
To update an event, choose the update icon for that event. See: To Create or
Update an Event, page 8-11 and To Create or Update an Event Group, page 812.
Note: For seeded events with a customization level of Limit,
you can only update the event status. For seeded events with a
customization level of Core, you cannot update any properties;
you can only view the event definition.
To manually raise a test event, select the test icon for the event you want. See:
To Raise a Test Event, page 8-14.
Note: You cannot raise an event group. You must raise each
event individually.
To delete an event, select the event and select the Delete button.
Note: You can only delete events that do not have any
To create a new individual event, select the Create Event button. See: To Create
or Update an Event, page 8-11.
To create a new event group, select the Create Event Group button. See: To
Create or Update an Event Group, page 8-12.
Navigate to the Create Event page or to the Update Event page. The Create Event
page and the Update Event page are identical, except that the fields in the Update
Event page are populated with previously defined information for the selected
event.
Note: For seeded events with a customization level of Limit, you
can only update the event status. For seeded events with a
customization level of Core, you cannot update any properties; you
can only view the event definition.
2.
Enter the internal name of the event in the Name field. The internal name is
case-sensitive. The suggested format is a compound structure of identifiers
separated by periods (.) as follows:
<company>.<family>.<product>.<component>.<object>.<event>
3.
4.
5.
Select Enabled or Disabled as the event status. If you disable an event, its definition
remains in the Event Manager for reference, but you cannot use the event in active
subscriptions.
6.
If you are defining an event that occurs on your local system, enter a generate
function for the event. A generate function is a PL/SQL procedure or Java API that
can produce the complete event data from the event name, event key, and an
optional parameter list. Define only one generate function for an event, either
PL/SQL or Java. See: Standard API for an Event Data Generate Function, page 6-27.
To assign the event a PL/SQL generate function, enter the PL/SQL procedure in
the Generate Function field in the following format:
<package_name>.<function_name>
To assign the event a Java generate function, enter the Java API in the Java
Generate Function field in the following format:
<customPackage>.<customClass>
Identify the program or application that owns the event by selecting the application
short name in the Owner Tag field. By default, Oracle Workflow sets the Owner
Name field to the application name associated with that application short name.
However, you can optionally enter a different name in the Owner Name field, such
as a particular program or component within the application.
8.
Core - No changes can be made to the event definition. This level is used only
for events seeded by Oracle E-Business Suite.
Limit - The event status can be updated to Enabled or Disabled, but no other
changes can be made to the event definition. This level is used only for events
seeded by Oracle E-Business Suite.
User - Any property in the event definition can be updated. This level is
automatically set for events that you define.
Navigate to the Create Group page or to the Update Group page. The Create Group
page and the Update Group page are identical, except that the fields in the Update
Group page are populated with previously defined information for the selected
event group.
Note: For seeded event groups with a customization level of Limit,
you can only update the event group status. For seeded event
groups with a customization level of Core, you cannot update any
properties; you can only view the event group definition.
2.
Enter the internal name of the event group in the Name field. The internal name is
case-sensitive. The suggested format is a compound structure of identifiers
separated by periods (.) as follows:
<company>.<family>.<product>.<component>.<object>.<event>
3.
4.
5.
Select Enabled or Disabled as the event group status. If you disable an event group,
its definition remains in the Event Manager for reference, but you cannot use the
event group in active subscriptions.
6.
Identify the program or application that owns the event group by selecting the
application short name in the Owner Tag field. By default, Oracle Workflow sets the
Owner Name field to the application name associated with that application short
name. However, you can optionally enter a different name in the Owner Name
field, such as a particular program or component within the application.
7.
Core - No changes can be made to the event group definition. This level is used
only for event groups seeded by Oracle E-Business Suite.
Limit - The event group status can be updated to Enabled or Disabled, but no
other changes can be made to the event group definition. This level is used only
for event groups seeded by Oracle E-Business Suite.
User - Any property in the event group definition can be updated. This level is
automatically set for event groups that you define.
8.
9.
To add a member event to the group, select the Add Events to Group button.
Note: An event group can contain only individual events as its
10. In the Add Events to Group page, search for the events you want to add. The main
Name - Enter the internal name of the event you want to add. You can enter a
partial value to search for events whose internal names contain that value.
Display Name - Enter the display name of the event you want to add.
Type - You can only add individual events as members of the group.
Status - Select Enabled or Disabled as the status of the events you want to add.
Owner Name - Enter the name of the program or application that owns the
event you want to add.
Owner Tag - Enter the program ID of the program or application that owns the
event you want to add.
11. Select the event or events that you want to add to your event group, and select the
event group.
13. After you finish adding events to the event group, select the Apply button to save
delete the event definition for the individual event. The individual
event remains in the Event Manager.
2.
In the Event Identifier region, specify the event you want to raise.
event individually.
3.
Event Key - Enter an event key that uniquely identifies this instance of the
event.
Send Date - Optionally specify the date when the event message is available for
dequeuing. If you set the send date to a future date when you raise the event,
the event message is placed on the WF_DEFERRED queue, and subscription
processing does not begin until the specified date.
In the Event Parameters region, optionally enter any additional parameter name
and value pairs to be stored in the parameter list within the event message. You can
In the Event Data region, you can optionally enter an XML document to describe
what occurred in the event.
To enter the event data manually, select Write XML in the Upload Option field
and enter the XML document in the XML Content field. You can enter up to
4000 characters.
To upload an XML file from your file system, select Upload XML in the Upload
Option field. Enter the full path and file name of the XML file containing your
event data in the XML File Name field, and select the Upload XML File button.
Note: You can also assign generate functions in the event definition
5.
Choose the tier where you want to raise the event and begin event processing.
To raise the event in the database, select the Raise in PLSQL button.
To raise the event in the middle tier, select the Raise in Java button.
The Test Business Event page displays a confirmation message together with the
values you submitted for you to review. If the event triggers a Web service
subscription that is executed synchronously and returns an XML response, the page
also displays that response.
6.
To clear all fields except the Event Name field, select the Clear button. You can then
optionally raise another event.
Event Subscriptions
An event subscription is a registration indicating that a particular event is significant to
a particular system and specifying the processing to perform when the triggering event
occurs. You can define your event subscriptions in the Event Manager.
When you install Oracle Workflow, several default subscriptions to predefined
Workflow events are automatically created. You can enable, disable, or copy these
subscriptions to perform the event processing that you want. See: Predefined Workflow
Events, page 9-1.
Whenever an event is raised locally or received from an external source, the Event
Manager searches for and executes any eligible subscriptions. To be eligible, a
The triggering event must be the event that was raised or received, an event group
that includes that event, or the Any event.
Both the subscription and its triggering event must be marked as active by having a
status of Enabled.
The source type of the subscription must match the source of the event, either local
or external.
If no eligible subscriptions exist for the event that occurred (apart from subscriptions to
the Any event), then Oracle Workflow executes any enabled subscriptions by the local
system to the Unexpected event with the appropriate source type. See: Any Event, page
9-15 and Unexpected Event, page 9-18.
Note: Additionally, for events and subscriptions seeded by Oracle
define one subscription for the sending system and another subscription for the
receiving system.
Local - The subscription applies only to events raised on the subscribing system.
Error - The subscription applies to only to errored events dequeued from the
WF_ERROR queue or the WF_JAVA_ERROR queue.
Next, select the event that you want to trigger the subscription. You can choose either
an individual event or an event group. If you choose an event group, the subscription
will be triggered whenever any one of the group's member events occurs.
You can also optionally restrict the subscription to be triggered only by events received
from a specific source agent. However, in most cases you do not need to specify a
source agent.
Note: If you enter the same phase number for more than one
The phase number 0 (zero) is reserved for Oracle Workflow seeded subscriptions.
Depending on the processing to be performed, a subscription may require the complete
set of event information contained in the event data, or it may require only the event
key that identifies the instance of the event. You can improve performance by
specifying Key as the rule data for subscriptions that do not require the complete event
data. For locally raised events, the Event Manager checks each subscription before
executing it to determine whether the subscription requires the complete event data. If
the event data is required but is not already provided, the Event Manager runs the
generate function for the event to produce the event data. However, if no subscriptions
to the event require the event data, then the Event Manager will not run the generate
function, minimizing the resources required to execute the subscriptions.
Note: Even if there are subscriptions that require the complete event
data, you can return control to the calling application more quickly
after raising the event by deferring all those subscriptions. Then the
Event Manager will not run the generate function until those
subscriptions are executed at a later time.
Each subscription is assigned a customization level that determines whether you can
update the subscription definition. Oracle Workflow uses the customization level to
protect Oracle E-Business Suite seed data and to preserve your customizations in an
upgrade. A subscription can have one of the following customization levels:
Core - No changes can be made to the subscription definition. This level is used
only for subscriptions seeded by Oracle E-Business Suite.
Limit - The subscription status can be updated to Enabled or Disabled, but no other
changes can be made to the subscription definition. This level is used only for
subscriptions seeded by Oracle E-Business Suite.
User - Any property in the subscription definition can be updated. This level is
automatically set for subscriptions that you define.
See: Access Protection for Business Event System Data, Oracle Workflow Administrator's
Guide.
Some Oracle E-Business Suite products provide seeded events and subscriptions. In
these cases, Oracle Workflow executes subscriptions only if the triggering event and the
subscription are both owned by products that you have licensed with a status of
Installed or Shared.
Your Oracle E-Business Suite installation may include seeded subscriptions owned by
Oracle E-Business Suite products that you have not licensed. For such subscriptions, the
Update Subscription page displays a notice that the subscription is not licensed. Oracle
Workflow will not execute any of these subscriptions. Additionally, Oracle Workflow
will not execute any subscriptions to events that you have not licensed, even if the
subscriptions themselves are owned by a product that you have licensed.
You can use the License Manager utility to review which products you currently have
licensed. To ensure that the license status of the seeded events and subscriptions in the
Business Event System is updated according to the status of the products you currently
have licensed, you can run the Synchronize Product License and Workflow BES License
concurrent program. See: License Manager, Oracle E-Business Suite Maintenance Guide
and Synchronizing License Statuses, Oracle Workflow Administrator's Guide.
Note: Any subscriptions that you define with a customization level of
Stop and Rollback - The Event Manager halts all subscription processing for the
event and rolls back any subscriptions already executed for the event. If the
subscription trapped an error and returned a PL/SQL ERROR status code or a Java
BusinessEventException, the Event Manager places the event message on the
standard WF_ERROR or WF_JAVA_ERROR agent, as appropriate. If the
subscription raised an unhandled exception, the Event Manager raises that
exception to the calling application.
If you later retry subscription processing for the event, the Event Manager
re-executes all subscriptions to the event.
Skip to Next - The Event Manager rolls back only this subscription. The Event
Manager then places the event message on the standard WF_ERROR or
WF_JAVA_ERROR agent, regardless of whether the subscription trapped an error
or raised an unhandled exception. The exception is not raised to the calling
application. Finally, the Event Manager continues processing the next subscription
for the event according to the subscription phase order.
If you later retry subscription processing for the event, the Event Manager
re-executes only the errored subscription.
Note: Skip to Next error handling is not available for subscriptions
For errored events placed on the WF_ERROR and WF_JAVA_ERROR agents, Oracle
Workflow provides default error handling through a predefined Error subscription to
the Unexpected event and the Default Event Error process in the System: Error item
type. You can also define custom error handling for your events.
See: Error Handling for Event Subscription Processing, page 11-4.
You can also define additional subscription parameters to be used in one of two ways:
If you want to specify additional parameters to set as item attributes for the
workflow process, you can enter these parameters for the subscription and choose
the Add Subscription Parameters option to set the subscription parameters into the
event message parameter list. The event parameters will then be set as item
attributes for the workflow process when the process receives the event.
If you want to send the event to multiple existing workflow processes, instead of to one
particular process, you can choose the Launch when Business Key Matches option
instead of specifying an item type and process name. In this case, the Event Manager
sends the event to all existing workflow process instances that have eligible receive
event activities waiting to receive it, marked by a business key attribute that matches
the event key. For each receive event activity that you want to receive the event, you
must define an activity attribute named #BUSINESS_KEY, and set an item type
attribute as the default value for that activity attribute. Then include logic to set that
item attribute value to match the event key of the corresponding event at runtime.
Note: With this option the event is only sent to continue existing
processes. If you want to launch a new process instance with the event,
do not select this option.
Note: The rule function used for the Launch when Business Key
Workflow Engine must execute after the event has been received.
Consequently, when you select this option, it is strongly recommended
that you set the phase number for the subscription to 100 or higher to
defer the subscription and allow the rule function processing to be
completed in the background by an agent listener.
Sets any parameters in the event message parameter list as item type attributes for
the process, creating new item type attributes if a corresponding attribute does not
already exist for any parameter.
Sets the subscription's globally unique identifier (GUID) as a dynamic item attribute
so that the workflow process can reference other information in the subscription
definition.
If the event was originally raised by a Raise event activity in another workflow
process, the item type and item key for that process are included in the parameter
list within the event message. In this case, the Workflow Engine automatically sets
the specified process as the parent for the process that receives the event, overriding
any existing parent setting. See: SetItemParent, Oracle Workflow API Reference.
Searches for receive event activities that are eligible to accept the event. For an
activity to be eligible, the event must match the activity's event filter, and the
activity must either be marked as a Start activity or have a status of 'NOTIFIED',
meaning the process has transitioned to the event.
Note: If you chose the Launch when Business Key Matches option,
If an event arrives at a Start activity to launch a new process instance, the Workflow
Engine also searches for all other receive event activities that are marked as Start
activities and that do not have any incoming transitions, regardless of their event
filter. For these activities, the Workflow Engine sets the activity status to 'NOTIFIED
' so that they will be ready to receive an event if any more events are sent to this
process. This feature lets you design a workflow process that requires multiple
events to be received when you do not know in advance the order in which the
events will arrive.
Stores the event name, event key, and event message in item type attributes, as
specified in each eligible activity node's event details.
Marks all the eligible event activity nodes with a status of 'COMPLETED' and
continues the thread of execution from each of those nodes.
See: Default_Rule, Oracle Workflow API Reference, Default_Rule2, Oracle Workflow API
Reference, Default_Rule3, Oracle Workflow API Reference, and Instance_Default_Rule,
Oracle Workflow API Reference.
Note: You can also send an event to a workflow process by choosing
the custom action option and including send processing in your custom
rule function. See: Standard API for an Event Subscription Rule
Function, page 6-32.
If you specify both a To Agent and an Out Agent, Oracle Workflow places the event
message on the Out Agent's queue for propagation, addressed to the To Agent.
If you specify an Out Agent without a To Agent, Oracle Workflow places the event
message on the Out Agent's queue without a specified recipient.
You can omit the To Agent if the Out Agent uses a multi-consumer queue with
a subscriber list. (The standard Workflow queue handlers work only with
multi-consumer queues.) In this case the queue's subscriber list determines
which consumers can dequeue the message. If no subscriber list is defined for
that queue, however, the event message is placed on the WF_ERROR queue for
error handling.
Note: The subscriber list for a multi-consumer queue in Oracle
You can also omit the To Agent if the Out Agent uses a single-consumer queue
for which you have defined a custom queue handler. For a single-consumer
queue, no specified consumer is required.
You can optionally specify the priority with which the recipient should dequeue a
message. Messages are dequeued in ascending priority order.
You can also define additional subscription parameters to be used in one of two ways:
If you want to add more parameters to the event message before it is sent, you can
enter these parameters for the subscription and choose the Add Subscription
Parameters option to set the subscription parameters into the event message
parameter list.
If you want an event message to become available to the recipient at a future date,
rather than being available immediately as soon as it is propagated, you can set the
SEND_DATE attribute within the event message to the date you want. You should set
the send date during prior subscription processing before the event is sent. The event
message is propagated to the To Agent but does not become available for dequeuing
until the specified date.
See: Default_Rule, Oracle Workflow API Reference, Default_Rule2, Oracle Workflow API
Reference, and Default_Rule3, Oracle Workflow API Reference.
Note: You can also send an event to an agent by choosing the custom
Sending a Notification
If the only processing you need to perform when an event occurs is sending a
notification, you can define a subscription that simply performs that action. In this case
you do not need to define and run a complete workflow process to send the notification.
However, you must specify a message template for the notification you want to send.
The message template must be a message defined within an item type in the Workflow
Builder and stored in your database. You can either select a standard message provided
by Oracle E-Business Suite or define a custom message.
You must also specify the role that should receive the notification. The notification will
appear in the recipient's worklist.
You can optionally specify a custom callback function you want the Notification System
If you specify a custom callback function, then you can enter the context information
that is appropriate for your function.
You can also optionally enter a comment to include with the message and a priority for
the message.
After sending the notification, the Event Manager sets the notification ID into the event
parameter list as a parameter named #NID. If you want to use the notification ID in
further processing, raise the event using WF_EVENT.Raise3(), which returns the event
parameter list after the Event Manager completes subscription processing for the event.
You can then call WF_EVENT.GetValueForParameter() to obtain the value of the #NID
parameter. See: Raise3, Oracle Workflow API Reference and GetValueForParameter, Oracle
Workflow API Reference.
For example, if the notification requires a response, you can retrieve the response values
from the user's reply by obtaining the notification ID and using it to call
WF_NOTIFICATION.GetAttrText(), WF_NOTIFICATION.GetAttrNumber(), or
WF_NOTIFICATION.GetAttrDate() for the RESPOND attributes. See: GetAttribute,
Oracle Workflow API Reference.
See: SendNotification, Oracle Workflow API Reference.
If you want to invoke a BPEL process, identify the triggering business event, and
define the BPEL process to accept the event data payload. Then identify the Web
Services Description Language (WSDL) description URL and other Web service
properties for the BPEL process, and define a subscription to your event specifying
those properties. When the event occurs, the Business Event System executes the
subscription and invokes the BPEL process. For more information about BPEL
processes and setting up security for BPEL process Web services, see: Oracle BPEL
Process Manager Developer's Guide and Oracle Web Services Manager Administrator's
Guide.
To invoke any other Web service, identify the triggering business event, identify the
WSDL description URL and other properties for the Web service, and define a
subscription to your event specifying those properties. When the event occurs, the
Business Event System executes the subscription and invokes the Web service.
When you raise an event to trigger a Web service subscription, provide the content for
the Simple Object Access Protocol (SOAP) body of the XML input message in the event
data payload. If you want to use the XML metadata corresponding to a service data
object (SDO) as the event data payload, define the generate function for the event to
retrieve the SDO metadata. See: Generating Service Data Object Metadata, page 8-6.
If the input message definition for your Web service operation requires other parts
within the message, you can provide those parts in the event parameters. For example,
you can use an event parameter to provide any header part that may be required to
embed the application context into the SOAP envelope. The event parameters that
contain input message parts must be identified by parameter names in the following
format:
WFBES_INPUT_<PartName>
Replace <PartName> with the name of the part as it appears in the input message
definition from the WSDL. For example:
WFBES_INPUT_header
Do not omit any of the parts specified in the input message definition. If any of the parts
are optional, you must still create corresponding event parameters for those parts and
set those parameters to a null value so that the Web service subscription can properly
identify the part that should contain the SOAP body.
You can use additional parameters to include further pre-invocation and
post-invocation processing. You can specify the following parameters both within the
event parameter list and within the subscription parameter list. If the triggering event
contains any of the same parameters as the subscription, the event parameter values
override the subscription parameter values.
The message transformation parameters let you specify XSL files to transform the
XML input message and response message during pre-invocation or
post-invocation processing. First, upload the XSL files to Oracle E-Business Suite
using the oracle.apps.ecx.loader.LoadXSLTToClob loader in Oracle XML
Gateway. Then specify the following parameters for the event or subscription:
Set each parameter value to the XSL file name, owning application short name, and
version number, separated by colons, in the following format:
<filename>:<application_short_name>:<version>
See: Loading and Deleting an XSLT Style Sheet, Oracle XML Gateway User's Guide.
The security parameters let you provide a user name and password in a
UsernameToken element in the WS-Security header to authenticate the user
invoking the Web service. If you want to provide these security parameters at the
event level, first store the password in the database under the appropriate module
name and key, using the $FND_TOP/sql/fndvltput.sql script. Then specify the
following parameters for the event:
valid before it expires. The expiration time for the header helps protect it from
being reused during a replay attack. By default, the header is set to expire 60
seconds after it is created. You can optionally specify a different expiration time in
the WFBES_SOAP_EXPIRY_DURATION parameter. Specify the value for this
parameter in seconds.
The callback parameters let you raise or enqueue a callback event to continue
processing based on the response message received from the Web service.
You can then define subscriptions that define the processing to perform on the
callback event. The callback event is assigned the same event key as the event
originally used to invoke the Web service in order to identify it. For example, if the
Web service was originally invoked through a raise event activity in a workflow
process, you can send the callback event to continue the waiting process. If you set
the event key of the original invoking event to the item key of the workflow
process, Oracle Workflow can use the same event key in the callback event to
identify the process to which the callback event should be sent.
By default, Web service subscriptions use a Java rule function called
oracle.apps.fnd.wf.bes.WebServiceInvokerSubscription. The
oracle.apps.fnd.wf.bes.WebServiceInvokerSubscription Java class is a
standard rule function that implements the SubscriptionInterface Java interface. This
rule function sends the event data to the Web service when the subscription is executed.
When defining a subscription that invokes a Web service, ensure that you select
Message as the rule data. You must also specify the URL where the Web Services
Description Language (WSDL) description for the Web service is located. For example:
http://www.example.com/myservice.wsdl
If the Web service is a BPEL process, you can specify a relative URL using the prefix
bpel:// followed by a relative path to the WSDL description on the BPEL server. For
example:
bpel://mybpelservice.wsdl
At runtime, Oracle Workflow replaces the bpel:// prefix with the host name and port
for the BPEL server specified in the WF: BPEL Server profile option. This profile option
lets you quickly change the BPEL server setup for all subscriptions that invoke BPEL
processes, such as if you move these subscription definitions from a test instance to a
production instance. See: Specifying the BPEL Server, Oracle Workflow Administrator's
Guide.
After entering the WSDL URL, you can select the service name, port, and operation for
the Web service from that WSDL description that you want to invoke. A port is a single
communication endpoint defined by a combination of a network address and a binding.
The binding specifies concrete protocol and data format specifications for the operations
and messages defined by the port type. The port type is the set of abstract operations
that includes the operation to invoke. The operation is an abstract description of an
action supported by the service. For more information about Web Services Description
Language (WSDL), see: http://www.w3.org/TR/wsdl.
You can also specify the user name and password for the Web service in the
subscription action details.
Internally, Oracle Workflow stores the WSDL URL, service name, port, operation,
associated port type, user name, and password in subscription parameters named
SERVICE_WSDL_URL, SERVICE_NAME, SERVICE_PORT, SERVICE_OPERATION,
SERVICE_PORTTYPE, WFBES_SOAP_USERNAME, and WFBES_SOAP_PASSWORD_MOD
and WFBES_SOAP_PASSWORD_KEY, respectively. The
oracle.apps.fnd.wf.bes.WebServiceInvokerSubscription rule function
references the Web service properties through these parameters.
You can also specify the WFBES_IN_XSL_FILENAME, WFBES_OUT_XSL_FILENAME,
WFBES_CALLBACK_EVENT, and WFBES_CALLBACK_AGENT parameters for the
subscription. However, if the triggering event contains any of the same parameters as
the subscription, the event parameter values override the subscription parameter
values.
Additionally, you can include custom processing by extending the
oracle.apps.fnd.wf.bes.WebServiceInvokerSubscription class and
overriding the following methods.
setInputParts - Override this method to add parts to the XML input message,
such as the header, body, and so on, according to the input message definition for
the selected operation. For example, you can set specific input parts that you
require, or extend this method to set values for RPC-style Web service invocation.
Note: Currently Oracle E-Business Suite Integrated SOA Gateway
The default implementation adds the event data payload as the body of the input
message. It also adds any other parts provided as event parameters in the triggering
See: Standard API for an Event Subscription Rule Function, page 6-32 and
WebServiceInvokerSubscription, Oracle Workflow API Reference.
If you want to provide specific Web service details in the administrator notifications for
any errors in a Web service subscription, you can define a custom error handling
subscription that sends the event to the Default Event Error Process (One Retry Option)
instead of the Default Event Error Process. See: Error Handling for Event Subscription
Processing, page 11-4 and Default Event Error Process (One Retry Option), page 1121.
You can use a rule function for many different purposes, including:
Performing validation
A rule function may read or write to the event message or perform any other database
action. However, you should never commit within a rule function. The Event Manager
never issues a commit as it is the responsibility of the calling application to commit.
Additionally, the function must not change the connection context in any way,
including security and NLS settings.
To run a function on the event message, you must specify the rule function that you
want to execute. You can also specify any additional parameters that you want to pass
to the function.
If you want to send the event message to a workflow process or to an agent as part of
your custom processing, you can specify the workflow item type, process name, Out
Agent, and To Agent in the subscription definition, for your rule function to reference.
Note, however, that you must explicitly include the send processing in your rule
function.
You can optionally specify the priority with which the event message should be
dequeued if it is placed on an agent, such as a standard agent for deferred subscription
processing. Messages are dequeued in ascending priority order.
Oracle Workflow provides standard rule functions that perform subscription processing
for the standard subscription actions. You can also use these rule functions in a custom
subscription if you choose. Oracle Workflow also provides some standard rule
functions that you can use for testing and debugging or other purposes. See: Event
Subscription Rule APIs, Oracle Workflow API Reference.
If the subscription processing that you want to perform for an event includes several
successive steps, you may find it advantageous to define multiple subscriptions to the
event with simple rule functions that you can reuse, rather than creating complex
specialized rule functions that cannot be reused. You can enter phase values for the
subscriptions to specify the order in which they should be executed.
You can run a diagnostic test through Oracle Diagnostics Framework to verify that the
rule functions that are defined for event subscriptions exist in the database and are
valid. See: Oracle Workflow Diagnostic Tests, Oracle Workflow Administrator's Guide.
Raise the event with a future date in the SEND_DATE attribute. Use this method
when you want to defer all subscription processing for a locally raised event until a
particular effective date.
Define subscriptions to the event with phase numbers of 100 or higher. Use this
method when you want to defer processing of particular subscriptions for either
local or external events.
Set the dispatch mode of the Event Manager to deferred processing before raising
the event from PL/SQL code. This method can be used to defer all subscription
processing for a locally raised event. This method is not recommended, however,
and should only be used in exceptional circumstances.
Note: Additionally, if an event is raised by PL/SQL code or received by
When subscription processing for an event is deferred by any of these methods, the
event message is placed on a standard deferred agent. If the subscription at which
processing is deferred is a PL/SQL subscription, the event is placed on the standard
WF_DEFERRED agent. If the subscription at which processing is deferred is a Java
subscription, the event is placed on the standard WF_JAVA_DEFERRED agent. You
must ensure that agent listeners are running to monitor the WF_DEFERRED and
WF_JAVA_DEFERRED agents. See: Scheduling Listeners for Local Inbound Agents,
Oracle Workflow Administrator's Guide.
The listener dequeues event messages from the WF_DEFERRED agent or
WF_JAVA_DEFERRED agent in priority order. The event messages retain their original
source type, whether Local or External. The amount of time by which subscription
processing for these events is deferred depends on the schedule defined for the listener,
locally, the event must not be raised with a future send date, and the
Event Manager must be in the normal synchronous mode for
subscription processing. Otherwise, the event message will
immediately be placed on the deferred queue, and the Event Manager
will not execute any subscriptions until the event is dequeued from
there.
When a triggering event is raised or received, the Event Manager executes subscriptions
to that event in phase order until it encounters a subscription with a phase number of
100 or higher. The Event Manager sets that subscription into the
ERROR_SUBSCRIPTION attribute within the event message, as well as setting the
priority specified in the subscription properties into the PRIORITY attribute. Then the
event message is placed on the appropriate deferred queue.
Note: Additionally, if an event is raised by PL/SQL code or received by
number of the subscription set into the event message. It does not
necessarily begin with the phase number 100, if there were no
subscriptions with that phase number when the event was originally
processed.
Related Topics
To View and Maintain Event Subscriptions, page 8-36
To Create or Update an Event Subscription, page 8-37
Standard API for an Event Subscription Rule Function, page 6-32
Scheduling Listeners for Local Inbound Agents, Oracle Workflow Administrator's Guide.
Use a Web browser to navigate to the Event Manager, using a responsibility and
navigation path specified by your system administrator. Then choose Subscriptions
in the horizontal navigation. See: Oracle Workflow Developer Navigation Paths,
page A-1.
2.
Search for the subscriptions you want to display. The main search option is:
System - Select the system for which you want to display subscriptions.
Source Type - Select Local, External, or Error as the type of source system for
which you want to display subscriptions.
Event - Select the event for which you want to display subscriptions.
3.
Status - Select Enabled or Disabled as the status of the subscriptions you want
to display.
If you have workflow administrator privileges, you can use the administration
icons and buttons to perform administrative operations.
To update a subscription, choose the update icon for that subscription. See: To
Create or Update an Event Subscription, page 8-37.
Note: For seeded subscriptions with a customization level of
Limit, you can only update the subscription status. For seeded
subscriptions with a customization level of Core, you cannot
update any properties; you can only view the subscription
definition.
To delete a subscription, select the subscription and select the Delete button.
Note: You cannot delete any subscription seeded by Oracle
2.
In the Subscriber region, select the system where the subscription executes.
3.
In the Triggering Event region, specify the event source to which the subscription
applies in the Source Type field.
Error - The subscription applies to only to errored events dequeued from the
WF_ERROR queue or WF_JAVA_ERROR queue.
4.
Select the event that triggers the subscription in the Event Filter field. You can
specify an individual event or an event group.
5.
Optionally select a source agent to which the subscription applies. If you specify a
source agent, then the subscription is executed only when the triggering event is
received from that agent.
Note: In most cases, the Source Agent field is left blank.
6.
In the Execution Condition region, enter a phase number for the subscription to
specify the order in which subscriptions triggered by the same event are executed.
The phase number also controls whether a subscription is executed immediately or
is deferred, unless processing for the event is deferred by another method.
7.
8.
In the Rule Data field, specify the event information required by the subscription.
9.
In the Action Type region, select the subscription processing you want to perform
when the triggering event occurs.
Send to Agent - Send the event message to a Business Event System agent.
10. Specify the error handling to perform if Oracle Workflow encounters an error while
Stop and Rollback - The Event Manager halts all subscription processing for the
event and rolls back any subscriptions already executed for the event.
Skip to Next - The Event Manager rolls back only this subscription and then
continues processing the next subscription for the event according to the
subscription phase order.
Select the workflow item type and process name for the workflow process to
which you want to send the event. Ensure that the process contains a receive
event activity that will be able to accept the event. The event can either launch a
new process instance or continue an existing process instance that is waiting to
receive the event.
Note: The list of values for the Workflow Process field includes
only the runnable processes within the item type you specify.
Select Normal, High, or Low as the priority for the subscription. Oracle
Workflow uses the priority to help determine the order in which deferred
subscriptions are processed. The default priority is Normal.
You can optionally select an additional option to control how the subscription is
executed.
Launch when Business Key Matches - Send the event to all existing
workflow process instances that have eligible receive event activities
waiting to receive it, marked by a business key attribute that matches the
event key. This option lets you send the event to multiple processes.
However, note that with this option the event is only sent to continue
existing processes. If you want to launch a new process instance with the
event, do not select this option.
Note: If you select this option, the Event Manager ignores
Note: The rule function used for the Launch when Business
Launch when Parameters Match - Send the event to the specified workflow
process only if the event message includes parameters whose names and
values match all the parameters defined for the subscription. This option
lets you specify additional conditions to control whether or not the
subscription is executed. Ensure that you include the required parameters
in the parameter list within the event message, either by providing them
If you selected the Add Subscription Parameters option or the Launch when
Parameters Match option, specify the parameters for the subscription. Enter the
name and value for each parameter with no spaces.
13. If you selected Send to Agent as the action type, enter the following details.
Enter either the Out Agent that you want to send the outbound message, or the
To Agent that you want to receive the inbound message, or both.
If you specify both a To Agent and an Out Agent, Oracle Workflow places
the event message on the Out Agent's queue for propagation, addressed to
the To Agent.
system. The list of values for the Out Agent field includes only
agents with a direction of Out.
The list of values for the To Agent field includes only agents
with a direction of In.
Select Normal, High, or Low as the priority for the subscription. Oracle
Workflow uses the priority to help determine the order in which deferred
subscriptions are processed. The default priority is Normal.
You can optionally select an additional option to control how the subscription is
executed.
Launch when Parameters Match - Place the event message on the outbound
agent only if the event message includes parameters whose names and
values match all the parameters defined for the subscription. This option
lets you specify additional conditions to control whether or not the
subscription is executed. Ensure that you include the required parameters
in the parameter list within the event message, either by providing them
when the event is raised or by adding them during prior subscription
processing.
If you selected the Add Subscription Parameters option or the Launch when
Parameters Match option, specify the parameters for the subscription. Enter the
name and value for each parameter with no spaces.
14. If you selected Send Notification as the action type, enter the following details.
Select the workflow item type and message name for the message you want to
send.
Note: You do not need to define or run a workflow process to
Optionally enter a custom callback function you want the Notification System
to use for communication of SEND and RESPOND source message attributes.
See: Custom Callback Function, Oracle Workflow API Reference.
Optionally enter context information for a workflow process instance that you
want to pass to the callback function. With the standard Oracle Workflow
callback function, the Notification System requires a context to obtain values for
item type attributes. If you do not specify a context, do not reference any item
type attributes in the message attributes. Otherwise the message body will not
display correctly. The context information consists of the item type, item key,
and activity ID in the following format:
<itemtype>:<itemkey>:<activityid>
If you specify a custom callback function, then enter the context information
that is appropriate for your function.
Select Normal, High, or Low as the priority for the message. Oracle Workflow
also uses the priority to help determine the order in which deferred
as the action type, select Normal, High, or Low as the priority for the subscription.
Oracle Workflow uses the priority to help determine the order in which deferred
subscriptions are processed. The default priority is Normal.
Note: You do not need to enter any additional subscription
16. If you selected Invoke Web Service as the action type, enter the Web service details
Enter the URL where the Web Services Description Language (WSDL)
description for the Web service is located, and choose Next. For example:
http://www.example.com/myservice.wsdl
If the Web service is a BPEL process, you can specify a relative URL using the
prefix bpel:// followed by a relative path to the WSDL description on the
BPEL server. For example:
bpel://mybpelservice.wsdl
letters.
At runtime, Oracle Workflow replaces the bpel:// prefix with the host name
and port for the BPEL server specified in the WF: BPEL Server profile option.
This profile option lets you quickly change the BPEL server setup for all
subscriptions that invoke BPEL processes, such as if you move these
subscription definitions from a test instance to a production instance. See:
Specifying the BPEL Server, Oracle Workflow Administrator's Guide.
Oracle Workflow displays the WSDL source and description that you specified.
Select the name of the Web service from that description that you want to
consume, and choose Next.
Oracle Workflow displays the WSDL source, WSDL description, and service
name that you specified, and lists the name and endpoint of each available port.
Select the port to use for the service and choose Next.
Oracle Workflow displays the WSDL source, WSDL description, service name,
and port that you specified, and lists the name, port type, and operation type of
each available service operation. Select the operation to invoke, and choose
Next.
In the Web Service Security region, enter a user name and password if required
to authenticate the user invoking the Web service.
Note: For a subscription seeded by Oracle E-Business Suite
If you define a custom rule function, the function can reference the parameters
from this format.
17. If you selected Custom as the action type, enter the following details.
Enter the rule function that contains the custom business logic you want to run
on the event message. You can define the rule function either as a Java class or
as a PL/SQL function. In either case, the rule function must be defined
according to a standard API. See: Standard API for an Event Subscription Rule
Function, page 6-32.
For a Java subscription, enter the Java rule function in the following format:
<customPackage>.<customClass>
In this case, you should leave the PL/SQL Rule Function field blank.
For a PL/SQL subscription, enter the PL/SQL rule function in the following
format:
<package_name>.<function_name>
In this case, you should leave the Java Rule Function field blank.
If your rule function will send the event to a workflow process, you can specify
the workflow item type and process name for the function to reference. Ensure
that the process contains a receive event activity that will be able to accept the
event.
Note: The list of values for the Workflow Process field includes
only the runnable processes within the item type you specify.
If your rule function will send the event to an agent, you can specify the
outbound and inbound agents for the function to reference. Depending on the
send processing in your function, you may need to specify either the Out Agent
that you want to send the outbound message, or the To Agent that you want to
receive the inbound message, or both.
Note: The Out Agent must be located on the subscribing
system. The list of values for the Out Agent field includes only
agents with a direction of Out.
The list of values for the To Agent field includes only agents
with a direction of In.
Select Normal, High, or Low as the priority for the subscription. Oracle
Workflow uses the priority to help determine the order in which deferred
subscriptions are processed. The default priority is Normal.
The rule function can reference the parameters from this format.
18. For all action types, in the Documentation region, identify the program or
application that owns the subscription by selecting the application short name in
the Owner Tag field. By default, Oracle Workflow sets the Owner Name field to the
application name associated with that application short name. However, you can
optionally enter a different name in the Owner Name field, such as a particular
program or component within the application.
19. Review the customization level for the subscription.
Core - No changes can be made to the subscription definition. This level is used
only for subscriptions seeded by Oracle E-Business Suite.
User - Any property in the subscription definition can be updated. This level is
automatically set for subscriptions that you define.
Agents
An agent is a named point of communication within a system. Communication within
and between systems is accomplished by sending a message from one agent to another.
A single system can have several different agents representing different communication
alternatives. For example, a system may have different agents to support inbound and
outbound communication, communication by different protocols, different propagation
frequencies, or other alternatives.
You should define each agent that you will use to communicate events in the Event
Manager. Each agent's name must be unique within its system. The agent can be
referenced in code within Oracle Workflow by a compound name in the following
format:
<agent_name>@<system_name>
For example, the agent WF_IN within the system HUB could be referenced as
WF_IN@HUB.
After defining the agents on your local system, you should set them up for event
message communication by scheduling agent listeners for local inbound agents and
propagation for local outbound agents. You can use Oracle Enterprise Manager to
schedule propagation and the Workflow Manager component of Oracle Applications
Manager to run agent listeners. In Oracle Workflow Manager you can also view the
distribution of event messages on different agents, drill down to view details about
individual event messages, and review queue details for the agents. For more
information, please refer to the Oracle Enterprise Manager online help, Oracle
Enterprise Manager Support, Oracle Streams Advanced Queuing User's Guide and Reference
, Oracle Workflow Manager Overview, Oracle Workflow Administrator's Guide, and
Setting Up the Business Event System, Oracle Workflow Administrator's Guide.
You can run a diagnostic test through Oracle Diagnostics Framework to verify the
status of your agents. See: Oracle Workflow Diagnostic Tests, Oracle Workflow
Administrator's Guide.
Out - Outbound communication from the system. The agent accepts messages from
the system in a standard format and sends them using the specified protocol.
2.
3.
Define a lookup code for the new protocol in the Event Protocol Type (
WF_AQ_PROTOCOLS) lookup type, which is stored in the Standard item type. The
Event Manager uses the Event Protocol Type lookup type to validate the protocol
for an agent. See: To Create Lookup Codes for a Lookup Type, page 3-26.
4.
Define agents with the new protocol. See: To Create or Update an Agent, page 8-62.
If an agent supports inbound communication, you must specify the address by which
systems can communicate with it. The format of the address depends on the agent's
protocol. For agents that use the SQLNET protocol, the address must be in the following
format to enable AQ propagation:
<schema>.<queue>@<database link>
In this format, <schema> represents the schema that owns the queue, <queue>
represents the queue name, and <database link> represents the name of the
database link to the instance where the queue is located.
Note: You must enter the database link name exactly as the name was
Oracle Workflow provides two standard queue handlers, called WF_EVENT_QH and
WF_ERROR_QH, for queues that use SQLNET propagation and use the WF_EVENT_T
datatype as their payload type. You can use WF_EVENT_QH with queues that handle
normal Business Event System processing, while WF_ERROR_QH should be used
exclusively with error queues.
If you define a PL/SQL queue handler, then you can run both PL/SQL and Java
agent listeners on this agent. The PL/SQL queue handler is used during both Java
and PL/SQL event message processing. Java agent listeners will execute the PL/SQL
queue handler through Java Database Connectivity (JDBC).
Note: If you use custom PL/SQL queue handlers, you can
If you define a Java queue handler, then you can run only Java agent listeners on
this agent. The Java queue handler is used during Java event message processing.
You cannot run a PL/SQL agent listener on this agent, because a PL/SQL agent
listener cannot execute a Java queue handler.
Agent Groups
You can also define agent groups that let you associate several inbound agents with
each other and reference them as a group in event subscriptions and Send event
activities. An agent group is a type of agent composed of a set of individual member
agents. Once you have defined an agent group, you can send event messages to the
group rather than having to send the messages separately to each individual agent
within it.
Agent groups can only be used for inbound communication. All agent groups have a
direction of In, and only individual agents with a direction of In can be members of an
agent group.
You must associate each agent group with a system to which it belongs. However, you
can include agents on other systems within the group.
Ensure that you run an agent listener for each agent within the group to receive
inbound messages.
Note: You cannot run an agent listener for an agent group. Agent
Standard Agents
When you install Oracle Workflow, several standard agents are automatically defined
for the Business Event System.
These agents use standard queues that are automatically defined when you install
Oracle Workflow. See: Setting Up Queues, Oracle Workflow Administrator's Guide.
You can enable or disable the WF_IN, WF_JMS_IN, WF_WS_JMS_IN, WF_OUT,
WF_JMS_OUT, and WF_WS_JMS_OUT agents, but you must not make any other
changes to their definitions. You must not make any changes to the definitions of the
other agents.
Oracle Workflow automatically runs PL/SQL agent listeners for the standard
WF_DEFERRED, WF_ERROR, and WF_NOTIFICATION_IN agents in order to perform
deferred subscription processing, error handling for the Business Event System, and
inbound e-mail processing for notification mailers, respectively. Oracle Workflow also
automatically runs Java agent listeners for the standard WF_JAVA_DEFERRED and
WF_JAVA_ERROR agents in order to perform deferred subscription processing and
error handling in the middle tier. Additionally, Oracle Workflow provides a Java agent
listener named Web Services IN Agent that you can optionally start for the
WF_WS_JMS_IN agent. If you want to use the WF_IN and WF_JMS_IN agents for event
message propagation, schedule listeners for those agents as well.
Likewise, if you want to use the WF_OUT and WF_JMS_OUT agents for event message
propagation, schedule propagation for those agents. You do not need to schedule
propagation for the WF_CONTROL, WF_NOTIFICATION_OUT, or WF_WS_JMS_OUT
agents, however. The middle tier processes that use WF_CONTROL dequeue messages
directly from its queue, and notification mailers send messages placed on the
WF_NOTIFICATION_OUT queue. For WF_WS_JMS_OUT, you can optionally start a
Web services outbound component named Web Services OUT Agent, provided by
Oracle Workflow. For more information, please refer to the Oracle Enterprise Manager
online help, Oracle Enterprise Manager Support, Oracle Streams Advanced Queuing
User's Guide and Reference , Oracle Workflow Manager Overview, Oracle Workflow
Administrator's Guide, and Setting Up the Business Event System, Oracle Workflow
Administrator's Guide.
You can run a diagnostic test through Oracle Diagnostics Framework to verify that the
WF_DEFERRED queue and the WF_ERROR each have only one subscriber rule
defined. No custom subscribers should be added to these queues. See: Oracle Workflow
Diagnostic Tests, Oracle Workflow Administrator's Guide.
Note: Oracle Workflow also includes three additional agents named
The following table lists the default properties for the standard WF_CONTROL agent.
See: Cleaning Up the Workflow Control Queue, Oracle Workflow Administrator's Guide.
WF_CONTROL Agent Properties
Agent Property
Value
Name
WF_CONTROL
Display Name
Description
Protocol
SQLNET
Agent Property
Value
Address
<workflow schema>.WF_CONTROL@<local
database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_CONTROL
Direction
Out
Status
Enabled
The following table lists the default properties for the standard WF_DEFERRED agent.
WF_DEFERRED Agent Properties
Agent Property
Value
Name
WF_DEFERRED
Display Name
WF_DEFERRED
Description
WF_DEFERRED
Protocol
SQLNET
Address
<workflow schema>.WF_DEFERRED@<local
database>
System
<local system>
Queue Handler
WF_EVENT_QH
Queue Name
<workflow schema>.WF_DEFERRED
Direction
In
Status
Enabled
The following table lists the default properties for the standard WF_ERROR agent.
WF_ERROR Agent Properties
Agent Property
Value
Name
WF_ERROR
Display Name
WF_ERROR
Description
WF_ERROR
Protocol
SQLNET
Address
<workflow schema>.WF_ERROR@<local
database>
System
<local system>
Queue Handler
WF_ERROR_QH
Queue Name
<workflow schema>.WF_ERROR
Direction
In
Status
Enabled
The following table lists the default properties for the standard WF_JAVA_DEFERRED
agent.
WF_JAVA_DEFERRED Agent Properties
Agent Property
Value
Name
WF_JAVA_DEFERRED
Display Name
Description
Protocol
SQLNET
Agent Property
Value
Address
<workflow schema>.WF_JAVA_DEFERRED@
<local database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_JAVA_DEFERRED
Direction
In
Status
Enabled
The following table lists the default properties for the standard WF_JAVA_ERROR
agent.
WF_JAVA_ERROR Agent Properties
Agent Property
Value
Name
WF_JAVA_ERROR
Display Name
Description
Protocol
SQLNET
Address
<workflow schema>.WF_JAVA_ERROR@<local
database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_JAVA_ERROR
Direction
In
Agent Property
Value
Status
Enabled
The following table lists the default properties for the standard WF_IN agent.
WF_IN Agent Properties
Agent Property
Value
Name
WF_IN
Display Name
WF_IN
Description
WF_IN
Protocol
SQLNET
Address
System
<local system>
Queue Handler
WF_EVENT_QH
Queue Name
<workflow schema>.WF_IN
Direction
In
Status
Enabled
The following table lists the default properties for the standard WF_JMS_IN agent.
WF_JMS_IN Agent Properties
Agent Property
Value
Name
WF_JMS_IN
Display Name
Agent Property
Value
Description
Protocol
SQLNET
Address
<workflow schema>.WF_JMS_IN@<local
database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_JMS_IN
Direction
In
Status
Enabled
The following table lists the default properties for the standard WF_JMS_OUT agent.
WF_JMS_OUT Agent Properties
Agent Property
Value
Name
WF_JMS_OUT
Display Name
Description
Protocol
SQLNET
Address
<workflow schema>.WF_JMS_OUT@<local
database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_JMS_OUT
Agent Property
Value
Direction
Out
Status
Enabled
The following table lists the default properties for the standard
WF_NOTIFICATION_IN agent. See: Implementing Notification Mailers, Oracle
Workflow Administrator's Guide.
WF_NOTIFICATION_IN Agent Properties
Agent Property
Value
Name
WF_NOTIFICATION_IN
Display Name
Description
Protocol
SQLNET
Address
<workflow schema>.WF_NOTIFICATION_IN@
<local database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_NOTIFICATION_IN
Direction
In
Status
Enabled
The following table lists the default properties for the standard
WF_NOTIFICATION_OUT agent. See: Implementing Notification Mailers, Oracle
Workflow Administrator's Guide.
Value
Name
WF_NOTIFICATION_OUT
Display Name
Description
Protocol
SQLNET
Address
<workflow schema>
.WF_NOTIFICATION_OUT@<local database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_NOTIFICATION_OUT
Direction
Out
Status
Enabled
The following table lists the default properties for the standard WF_OUT agent.
WF_OUT Agent Properties
Agent Property
Value
Name
WF_OUT
Display Name
WF_OUT
Description
WF_OUT
Protocol
SQLNET
Address
Agent Property
Value
System
<local system>
Queue Handler
WF_EVENT_QH
Queue Name
<workflow schema>.WF_OUT
Direction
Out
Status
Enabled
The following table lists the default properties for the standard WF_WS_JMS_IN agent.
WF_WS_JMS_IN Agent Properties
Agent Property
Value
Name
WF_WS_JMS_IN
Display Name
Description
Protocol
SOAP
Address
<workflow schema>.WF_WS_JMS_IN@<local
database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_WS_JMS_IN
Direction
In
Status
Enabled
The following table lists the default properties for the standard WF_WS_JMS_OUT
agent.
Value
Name
WF_WS_JMS_OUT
Display Name
Description
Protocol
SOAP
Address
<workflow schema>.WF_WS_JMS_OUT@<local
database>
System
<local system>
Queue Handler
WF_EVENT_OJMSTEXT_QH
Queue Name
<workflow schema>.WF_WS_JMS_OUT
Direction
Out
Status
Enabled
You must manually define the inbound agents for an external non-Workflow system in
the Event Manager of your local system. You can optionally define the external system's
outbound agents as well.
1.
Before defining agents for a non-Workflow system, you must define the system
itself using the Create System page. See: To Create or Update a System, page 8-72.
2.
You can then use the Create Agent page to define an agent for the non-Workflow
system, following the same steps as for any other agent. See: To Create or Update
an Agent, page 8-62.
You must associate the agent with the non-Workflow system to which it
belongs.
You must specify the protocol by which you will communicate with the agent.
For an inbound agent, you must also specify the address at which you will
communicate with the agent.
You can leave the queue name and queue handler blank if the agent is not
implemented as an Oracle Advanced Queueing queue.
Related Topics
To View and Maintain Agents, page 8-61
To Create or Update an Agent, page 8-62
To Create or Update an Agent Group, page 8-64
Defining Agents
To View and Maintain Agents:
1.
Use a Web browser to navigate to the Event Manager, using a responsibility and
navigation path specified by your system administrator. Then choose Agents in the
horizontal navigation. See: Oracle Workflow Developer Navigation Paths, page A1.
2.
Search for the agents you want to display. The main search option is:
Name - Enter the internal name of the agent you want to display. You can enter
a partial value to search for agents whose internal names contain that value.
3.
Direction - Select In or Out as the direction of the agents you want to display.
Type - Select Agent or Group as the type of the agents you want to display.
Status - Select Enabled or Disabled as the status of the agents you want to
display.
If you have workflow administrator privileges, you can use the administration
icons and buttons to perform administrative operations.
To update an agent, choose the update icon for that agent. See: To Create or
Update an Agent, page 8-62 and To Create or Update an Agent Group, page 864.
To delete an agent, select the agent and select the Delete button.
Note: You can only delete agents that do not have any
To create a new individual agent, select the Create Agent button. See: To Create
or Update an Agent, page 8-62.
To create a new agent group, select the Create Agent Group button. See: To
Create or Update an Agent Group, page 8-64.
Note: Whenever you make changes to your agents that affect the
Navigate to the Create Agent page or to the Update Agent page. The Create Agent
page and the Update Agent page are identical, except that the fields in the Update
Agent page are populated with previously defined information for the selected
agent.
Note: You should not use the Create Agent page to create agent
2.
Enter the internal name of the agent in the Name field. The agent's internal name
must be unique within the agent's system.
Important: The internal name must be all-uppercase and should not
3.
4.
5.
6.
If the agent supports inbound communication to its system, enter the address for
the agent. The format of the address depends on the protocol you select.
For agents that use the SQLNET protocol, the address must be in the following
format to enable AQ propagation:
<schema>.<queue>@<database link>
<schema> represents the schema that owns the queue, <queue> represents the
queue name, and <database link> represents the database link to the instance
where the queue is located.
Note: You must enter the database link name exactly as the name
was specified when the database link was created. See: Creating
Database Links, Oracle Workflow Administrator's Guide.
7.
8.
Enter the queue handler for the agent. A queue handler is a PL/SQL or Java package
that translates between the Workflow event message format (WF_EVENT_T
datatype or BusinessEvent Java object) and the message format required by the
queue associated with the agent. Define only one queue handler for an agent, either
PL/SQL or Java. See: Standard APIs for a Queue Handler, page 6-29.
To assign the agent a PL/SQL queue handler, enter the PL/SQL package name
in the Queue Handler field in all uppercase. You can run both PL/SQL and Java
To assign the agent a Java queue handler, enter the Java package name in the
Java Queue Handler field. You can run only Java agent listeners on an agent
with a Java queue handler.
Note: For an agent that is not implemented as a queue, such as an
9.
Enter the name of the queue that the local system uses to interact with the agent.
Since only the local system refers to this queue name, the queue name should be
within the scope of this system, without requiring a database link. Use the
following format to specify the queue name:
<schema>.<queue>
<schema> represents the schema that owns the queue, and <queue> represents the
queue name.
Important: You must enter the queue name in all uppercase.
agent on a non-Oracle system, you can leave the Queue field blank.
10. In the Direction field, select In for an agent that supports inbound communication
to its system, or select Out for an agent that supports outbound communication
from its system.
11. Select Enabled or Disabled as the agent status. If you disable an agent, its definition
remains in the Event Manager for reference, but you cannot use the agent in active
subscriptions.
Navigate to the Create Agent Group page or to the Update Agent Group page. The
Create Agent Group page and the Update Agent Group page are identical, except
that the fields in the Update Agent Group page are populated with previously
defined information for the selected agent group.
2.
Enter the internal name of the agent group in the Name field. The agent group's
internal name must be unique within the agent group's system.
3.
4.
5.
you can include agents from other systems as members within the
group.
Since agent groups are used only for inbound communication, the direction for an
agent group is automatically set to In.
6.
Select Enabled or Disabled as the agent group status. If you disable an agent group,
its definition remains in the Event Manager for reference, but you cannot use the
agent group in active subscriptions.
7.
8.
To add a member agent to the group, select the Add Agents to Group button.
Note: An agent group can contain only individual agents as its
9.
In the Add Agents to Group page, search for the agents you want to add. The main
search option is:
Name - Enter the internal name of the agent you want to add. You can enter a
partial value to search for agents whose internal names contain that value.
Status - Select Enabled or Disabled as the status of the agents you want to add.
10. Select the agent or agents that you want to add to your agent group, and select the
11. You can optionally enter new search criteria to search for other agents to add to the
agent group.
12. After you finish adding agents to the agent group, select the Apply button to save
Group or Update Agent Group page and select the Delete button.
Note: Deleting a member agent from an agent group does not
delete the agent definition for the individual agent. The individual
agent remains in the Event Manager.
Systems
A system is a logically isolated software environment such as a host machine or
database instance. You should define each system to or from which you will
communicate events in the Event Manager.
When you define a system, you can specify whether it is associated with a master
system from which you want it to receive Event Manager object definition updates.
Each system can expose one or more addressable points of communication, called
agents. After you define your systems, you should define the agents within those
systems that you will use to communicate business events. See: Agents, page 8-46.
Local System
When you install Oracle Workflow in a database, that database is automatically defined
as a system in the Event Manager and set as the local system in the Workflow
Configuration page. The following table lists the default properties of the local system
definition.
Local System Properties
System Property
Value
Name
Display Name
Description
System Property
Value
Master
(blank)
Retrieve the local system and inbound agent definitions, which together make up
the system identifier information, from the destination system.
Note: The system identifier information includes only the
definitions for the system itself and its individual inbound agents.
The system identifier does not include agent group definitions.
If Oracle Workflow is installed on the destination system, you can use the
Generate Local System Identifier page on the destination system to generate
and save an XML document containing the system identifier information. See:
To Generate Local System Identifier Information, page 8-73.
Note: If you do not have access to the Oracle Workflow
2.
If Oracle Workflow is not installed on the destination system, you will need to
manually gather the information needed to create definitions for the system and
its inbound agents.
Register the destination system identifier information in the Event Manager in the
source system.
If Oracle Workflow is installed on both the source system and the destination
system, you can use the Register External System Web page on the source
system to register the information by raising the System Signup event with the
system identifier XML document from the destination system as the event data.
When the System Signup event is raised on the source system, Oracle Workflow
executes a predefined subscription that loads the system identifier information
to the Event Manager in that system. See: To Register an External System, page
8-73.
Note: If you do not have access to the Oracle Workflow
If Oracle Workflow is installed on the source system but not on the destination
system, you must manually create system and agent definitions for the
destination system in the Event Manager of the source system. See: To Create or
Update a System, page 8-72 and To Create or Update an Agent, page 8-62.
If Oracle Workflow is not installed on the source system but is installed on the
destination system, you must store the system and inbound agent information
for the destination system in the source system according to that non-Workflow
source system's requirements. You can optionally make use of the system
identifier XML document generated by the Generate Local System Identifier
page on the destination system, but you must manually perform whatever steps
are necessary to store that information in the non-Workflow source system.
Synchronizing Systems
Synchronizing systems means replicating all the Event Manager objects that are defined
on the source system to the target system. You can use the Synchronize Event Systems
event to synchronize two Workflow-enabled systems with each other.
To synchronize systems, perform the following steps:
1.
Register the source and target systems with each other. See: Registering External
Systems, page 8-67.
2.
On the source system, copy the predefined subscription to the Seed Event Group
with the Local source type and modify the copy as follows.
Specify the inbound agent on the target system that you want to receive the
event message, or specify a workflow process that sends the event message to
the target system.
Note: If you want to send the event message to more than one
3.
On the target system, enable the predefined subscription to the Seed Event Group
with the External source type.
Note: If you do not have access to the Oracle Workflow installation
4.
When the Synchronize Event Systems event is raised on the source system, it
triggers the subscription to the Seed Event Group with the Local source type. The
Event Manager generates the event message, which contains the definitions of all
the Event Manager objects on the local system, including events, event groups,
systems, agents, agent groups, and subscriptions. Then the event message is sent to
the specified inbound agent on the target system, or to the specified workflow
process that sends the event message to the target system.
When the Synchronize Event Systems event is received on the target system, it
triggers the subscription to the Seed Event Group with the External source type.
Oracle Workflow loads the object definitions from the event message into the Event
Manager on the target system, creating new definitions or updating existing
definitions as necessary.
Automatic Replication
After you enable the predefined subscriptions in steps 2 and 3, these subscriptions will
also replicate any subsequent changes you make to Event Manager object definitions on
the source system. Whenever you create, update, or delete events, event group
members, systems, agents, agent group members, or subscriptions, Oracle Workflow
raises the corresponding predefined events. These events trigger the Local subscription
to the Seed Event Group on the source system, which sends the object definition data to
the target system. The External subscription to the Seed Event Group on the target
system receives the data and adds, updates, or deletes the object definition in the Event
Manager there.
If you do not want to continue automatically replicating changes on the source system
to the target system, you can either disable the subscriptions after you finish
synchronizing the systems, or disable the predefined events corresponding to those
changes.
Master/Copy Systems
If you choose, you can treat one system as a master system that replicates its own Event
Manager object definitions to its associated copy systems, but does not accept any object
definition changes from those systems. To set up master/copy replication, perform the
steps to synchronize the target copy systems with the source master system, as usual.
Then, to prevent object definitions from being sent from the copy systems, ensure that
the Local subscription to the Seed Event Group on the copy systems is disabled. To
prevent object definitions from being received into the master system, ensure that the
External subscription to the Seed Event Group on the master system is disabled as well.
Related Topics
To View and Maintain Systems, page 8-71
To Create or Update a System, page 8-72
To Generate Local System Identifier Information, page 8-73
To Register an External System, page 8-73
Predefined Workflow Events, page 9-1
Synchronize Event Systems Event, page 9-9
Seed Event Group, page 9-9
Defining Systems
To View and Maintain Systems:
1.
Use a Web browser to navigate to the Event Manager, using a responsibility and
navigation path specified by your system administrator. Then choose Systems in
the horizontal navigation, and choose System Details in the side navigation. See:
Oracle Workflow Developer Navigation Paths, page A-1.
2.
Search for the systems you want to display. The main search option is:
Name - Enter the internal name of the system you want to display. You can
enter a partial value to search for systems whose internal names contain that
value.
Display Name - Enter the display name of the system you want to display.
Master - Select the master system for the system you want to display.
If you display the local system, its internal name is marked with an asterisk (*).
3.
To view the agents on a system, select the agents icon for that system.
If you have workflow administrator privileges, you can update an agent by
selecting the update icon for that agent. See: To Create or Update an Agent, page 862.
4.
To view the subscriptions for a system, select the subscription icon for that system.
Note: For systems that do not have any subscriptions, a blank
Limit, you can only update the subscription status. For seeded
subscriptions with a customization level of Core, you cannot
update any properties; you can only view the subscription
definition.
5.
If you have workflow administrator privileges, you can use the administration
icons and buttons in the System Details page to perform administrative operations.
To update a system, choose the update icon for that system. See: To Create or
Update a System, page 8-72.
To delete a system, select the system and select the Delete button.
Note: You can only delete systems that do not have any agents
To create a new system definition, select the Create System button. See: To
Create or Update a System, page 8-72.
Note: You should use the Create System page only to manually
Navigate to the Create System page or to the Update System page. The Create
System page and the Update System page are identical, except that the fields in the
Update System page are populated with previously defined information for the
selected system.
Note: You should use the Create System page only to manually
You can use the Update System page to update both systems that
are Workflow-enabled and those that are not.
2.
3.
4.
5.
Optionally enter a master system from which you want this system to receive Event
Manager object definition updates.
Use a Web browser to navigate to the Event Manager on the system you want to
register as a destination system, using a responsibility and navigation path
specified by your system administrator. Then choose Systems in the horizontal
navigation, and choose Generate Local System Identifier in the side navigation. See:
Oracle Workflow Developer Navigation Paths, page A-1.
Note: If you do not have access to the Oracle Workflow installation
2.
Select the Generate button. Oracle Workflow generates the local system identifier
XML document, which contains the definitions of the local system and its inbound
agents, and displays that document in the XML Content field.
3.
Select the Save button to save the XML document to your file system as an XML file.
You can then enter it as the event data when you register this system with a source
system. See: To Register an External System, page 8-73.
Use a Web browser to navigate to the Event Manager on the source system where
you want to register a destination system, using a responsibility and navigation
path specified by your system administrator. Then choose Systems in the horizontal
navigation, and choose Register External System in the side navigation. See: Oracle
Workflow Developer Navigation Paths, page A-1.
2.
In the Event Identifier region, specify the identifying information for the System
Signup event.
Event Name - Oracle Workflow automatically displays the internal name of the
System Signup event, oracle.apps.wf.event.system.signup.
Event Key - Enter an event key that uniquely identifies this instance of the
event.
Send Date - Optionally specify the date when the event message is available for
dequeuing. If you set the send date to a future date when you raise the event,
the event message is placed on the WF_DEFERRED queue, and subscription
processing does not begin until the specified date.
3.
In the Event Parameter region, optionally enter any additional parameter name and
value pairs to be stored in the parameter list within the event message. You can
enter up to 100 parameters.
4.
In the Event Data region, enter the system identifier XML document for the
destination system you want to register. See: To Generate Local System Identifier
Information, page 8-73.
To enter the system identifier information manually, select Write XML in the
Upload Option field and paste the XML document into the XML Content field.
You can enter up to 4000 characters.
To upload the system identifier XML file from your file system, select Upload
XML in the Upload Option field. Enter the full path and file name of the XML
file containing the system identifier information in the XML File Name field,
and select the Upload XML File button.
Note: You must provide the system identifier information in order
to register a system. You cannot leave the event data XML content
blank.
5.
Choose the Submit button to raise the System Signup event to the Event Manager.
When the System Signup event is raised, Oracle Workflow executes a predefined
subscription that loads the system identifier information from the event data to the
Event Manager. See: System Signup Event, page 9-14.
When you launch the Master Ping process without specifying a particular agent to ping,
the Workflow Engine identifies all the inbound agents that you have defined on the
local system or on external systems and launches a Detail Ping process for each agent.
The master process then waits for each detail process to complete. If you do specify an
inbound agent to ping, the Workflow Engine launches a Detail Ping process only for
that agent.
Note: The Workflow Agent Ping/Acknowledge workflow tests all
The Detail Ping process begins by sending a Ping Agent event to the inbound agent
identified by the master process. The detail process places a Ping Agent event message
on a queue associated with the specified outbound agent on the local system. The event
message is addressed to the inbound agent and contains a correlation ID that identifies
the detail process to which it belongs. AQ propagation transmits the event message
from the outbound queue to the queue associated with the specified inbound agent.
On the receiving system, the listener for the inbound agent dequeues the Ping Agent
message the next time it runs. When the event message is dequeued, the Event Manager
searches for and executes any active subscriptions to the Ping Agent event or the Any
event on that system that have a source type of External.
When the predefined External subscription to the Ping Agent event is executed, its rule
function places an Acknowledge Ping event message on a queue associated with an
outbound agent on that system. The event message is addressed to an inbound agent on
the originating system and includes the correlation ID from the Ping Agent event
message. AQ propagation transmits the Acknowledge Ping event message from the
outbound queue to the queue associated with the specified inbound agent.
On the originating system, the listener for the inbound agent dequeues the
Acknowledge Ping message the next time it runs. When the event message is dequeued,
the Event Manager searches for and executes any active subscriptions to the
Acknowledge Ping event or the Any event on that system that have a source type of
External.
When the predefined External subscription to the Acknowledge Ping event is executed,
its rule function, which is the default rule function, sends the event message to the
Detail Ping process. The Workflow Engine uses the correlation ID to match the message
with the running detail process to which it belongs. After receiving the event message,
the Detail Ping process completes.
Finally, after all the detail processes are complete, the master process also completes.
The amount of time needed to complete the Workflow Agent Ping/Acknowledge
workflow depends on how often the listeners run to dequeue messages from the
inbound agents.
Schedule propagation for the outbound agent on the local system that you want to
use to send the pings, such as WF_OUT. You can use the Distributed Database
Management feature to manage AQ, including scheduling propagation, through
Oracle Enterprise Manager. See: Oracle Enterprise Manager Support, Oracle Streams
Advanced Queuing User's Guide and Reference, and Distributed Management in the
Oracle Enterprise Manager online help.
You can also schedule propagation manually by running the
DBMS_AQADM.Schedule_Propagation API. For example:
begin
DBMS_AQADM.Schedule_Propagation('APPLSYS.WF_OUT', null, sysdate,
null, 'SYSDATE+(120/86400)', 60);
end;
/
2.
Verify that the Ping Agent event was enqueued on the WF_OUT agent's queue and
propagated to the inbound agents' queues. You can use Oracle Workflow Manager
to verify the processing of the Ping Agent event messages. See: Agents, Oracle
Workflow Administrator's Guide.
You can also use SQL*Plus commands to verify the processing of the events. For
example, to check the WF_OUT agent's queue, use the following command:
SQL> select o.* from applsys.aq$wf_out o where trunc (enq_time) >=
trunc(sysdate) order by enq_time desc ;
You can also check the other inbound agents using similar commands.
4.
Run agent listeners on the inbound agents to process the Ping Agent events. You
can use Oracle Workflow Manager to submit and manage agent listeners. See:
Scheduling Listeners for Local Inbound Agents, Oracle Workflow Administrator's
Guide and the Oracle Applications Manager online help.
You can also run listeners for inbound agents manually by running the
WF_EVENT.Listen API. For example, to run listeners for the WF_IN and
WF_REPLAY_IN agents, use the following commands. You can add similar
commands to run listeners for any other inbound agents as well.
Verify that the Acknowledge Ping events are enqueued on one of the inbound
agents, such as WF_IN. There should be one Acknowledge Ping event for each
inbound agent to which a Ping Agent event was originally sent. The Business Event
System enqueues all the Acknowledge Ping events on the first inbound agent it
finds on the local system, often WF_IN. You can either use Oracle Workflow
Manager or perform the verification using SQL*Plus commands, as in step 3.
6.
Run an agent listener on the inbound agent where the Acknowledge Ping events are
enqueued to process those events. You can use Oracle Workflow Manager to run an
agent listener or run a listener manually, as in step 4.
7.
Use the Status Monitor to check the progress of the Workflow Agent
Ping/Acknowledge workflow and verify that the Master Ping process and all the
Detail Ping processes are complete. See: Viewing Workflows in the Status Monitor,
Oracle Workflow Administrator's Guide.
Define database links from your local system to the external system and from the
external system to your local system. You can use Oracle DBA Studio in Oracle
Enterprise Manager to create database links. See the Oracle Enterprise Manager
online help.
You can also create database links manually in SQL*Plus. For example, if your local
system is system A and the external system is system B, use the following syntax on
system A to create a database link to system B:
SQL>
CREATE PUBLIC DATABASE LINK B.mycompany.com
CONNECT TO apps IDENTIFIED BY <password>
USING
'(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<host_name>)(PORT=<port_n
umber>))
(CONNECT_DATA=(SID=B)))';
On both the local system and the external system, schedule propagation from the
outbound agent that you want to use to send the pings, such as WF_OUT, to the
other system. You can use the Distributed Database Management feature to manage
AQ, including scheduling propagation, through Oracle Enterprise Manager. See:
Oracle Enterprise Manager Support, Oracle Streams Advanced Queuing User's Guide
and Reference, and the Oracle Enterprise Manager online help.
You can also schedule propagation manually by running the
DBMS_AQADM.Schedule_Propagation API. For example, use the following
command to schedule propagation from the WF_OUT agent on system A to system
B:
begin
DBMS_AQADM.Schedule_Propagation('APPLSYS.WF_OUT', B.mycompany.com,
sysdate, null, 'SYSDATE+(120/86400)', 60);
end;
/
Register both systems with each other so that each system has the definition of the
other system and that system's inbound agents stored in its Event Manager. See:
Registering External Systems, page 8-67.
4.
declare
ename varchar2(100):=null;
itype varchar2(8):='WFPING';
ikey varchar2(10):='<item_key>';
wfprocess varchar2(10):='WFMSTPNG';
outAg varchar2(100):='WF_OUT@<local_system>';
toAg varchar2(100):='WF_IN@<external_sytem>';
ekey varchar2(100);
begin
fnd_global.APPS_INITIALIZE( 0, -1, -1 , 0 );
wf_engine.createprocess(itemtype=>itype, itemkey=>ikey,
process=>wfprocess);
wf_engine.SetItemAttrText(itemtype=>itype, itemkey=>ikey,
aname=>'EVNTKEY', avalue=>ekey);
wf_engine.SetItemAttrText(itemtype=>itype, itemkey=>ikey,
aname=>'OUTAGENT', avalue=>outAg);
wf_engine.SetItemAttrText(itemtype=>itype, itemkey=>ikey,
aname=>'TOAGENT', avalue=>toAg);
wf_engine.startprocess(itemtype=>itype, itemkey=>ikey);
commit;
end;
/
5.
Run an agent listener on the inbound agent on the external system to process the
Ping Agent event. You can use Oracle Workflow Manager to run an agent listener
or run a listener manually, as in step 4 of case 1.
6.
Run an agent listener on the inbound agent on the local system where the
Acknowledge Ping event is received to process that event. You can use Oracle
Workflow Manager to run an agent listener or run a listener manually, as in step 4
of case 1.
7.
Use the Status Monitor to check the progress of the Workflow Agent
Ping/Acknowledge workflow and verify that the Master Ping process and the Detail
Ping process are complete. See: Viewing Workflows in the Status Monitor, Oracle
Workflow Administrator's Guide.
Define database links from your local system to all the external systems you want to
connect to, and from the external systems to your local system. You can use Oracle
DBA Studio in Oracle Enterprise Manager to create database links or create the
database links manually, as in step 1 of case 2.
2.
On the local system schedule propagation from the outbound agent that you want
to use to send the ping messages, such as WF_OUT, to the other systems. On the
external systems, schedule propagation from the outbound agent there to your local
system. You can use the Distributed Database Management feature to manage AQ,
Register all the external systems with your local system, and register the local
system with each external system. See: Registering External Systems, page 8-67.
4.
5.
Run agent listeners on the inbound agents on the local system and the external
systems to process the Ping Agent events. You can use Oracle Workflow Manager
to run agent listeners or run listeners manually, as in step 4 of case 1.
6.
Run an agent listener on the inbound agent on the local system where the
Acknowledge Ping events are received to process those events. You can use Oracle
Workflow Manager to run an agent listener or run a listener manually, as in step 4
of case 1.
7.
Use the Status Monitor to check the progress of the Workflow Agent
Ping/Acknowledge workflow and verify that the Master Ping process and all the
Detail Ping processes are complete. See: Viewing Workflows in the Status Monitor,
Related Topics
Ping Agent Events, page 9-12
Description
Type
Length/Format/Look
up Type
To Agent
Text
Event Name
Text
Display Name
Description
Type
Length/Format/Look
up Type
Out Agent
Text
Event Key
Text
Event Message
Event
The Workflow Agent Ping/Acknowledge workflow begins when you launch the Master
Ping Process using the Developer Studio. You can optionally provide a to agent, event
name, out agent, event key, and event message. See: Testing Workflow Definitions
Using the Developer Studio, page 7-1.
The workflow begins at node 1 with the Start activity. At node 2, the master process
spawns a detail process for each inbound agent that you have defined on the local
system or on external systems. The detail process pings the agent by sending it a Ping
Agent event and waits to receive an acknowledgement in the form of an Acknowledge
Ping event.
Node 3 is a Wait for Flow activity that waits for all the detail processes to complete.
When all the detail processes have completed, the master process ends.
Start (Node 1)
This Standard function activity marks the start of the process.
Function
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
None
WF_EVENT_PING_PKG.LAUNCH_PROCESSES
Result Type
None
Prerequisite Activities
None
WF_STANDARD.WAITFORFLOW
Result Type
None
Prerequisite Activities
End (Node 4)
This Standard function activity marks the end of the process.
Function
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
The Detail Ping process begins when it is launched by the Master Ping process. See:
Summary of the Master Ping Process, page 8-83.
The workflow begins at node 1 with the Start activity. At node 2, the process sends a
Ping Agent event to the selected inbound agent. At node 3, the process waits to receive
an Acknowledge Ping event back from the agent. When the acknowledgement is
received, the master process can continue. The detail process ends at this point.
Start (Node 1)
This Standard function activity marks the start of the process.
Function
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
None
Send
Prerequisite Activities
None
Receive
Event Filter
oracle.apps.wf.event.test.ack
Prerequisite Activities
Send Event
WF_STANDARD.CONTINUEFLOW
Result Type
None
Prerequisite Activities
Receive Event
End (Node 5)
This Standard function activity marks the end of the process.
Function
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
Continue Flow
9
Predefined Workflow Events
This chapter tells you how to use Oracle Workflow's predefined events.
This chapter covers the following topics:
Related Topics
Event Definition Events, page 9-2
Event Group Definition Events, page 9-3
System Definition Events, page 9-5
Agent Definition Events, page 9-6
Agent Group Definition Events, page 9-7
Event Subscription Definition Events, page 9-8
Synchronize Event Systems Event, page 9-9
Seed Event Group, page 9-9
Ping Agent Events, page 9-12
System Signup Event, page 9-14
Any Event, page 9-15
Unexpected Event, page 9-18
User Entry Has Changed Event, page 9-21
Notification Events, page 9-22
Notification Mailer Events, page 9-39
Business Event System Control Events, page 9-41
Generic Service Component Framework Control Events, page 9-44
Workflow Engine Events, page 9-47
Directory Service Events, page 9-48
Workflow Send Protocol, page 9-58
oracle.apps.wf.event.event.create
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Event Updated
Oracle Workflow raises this event whenever an individual event or event group
definition is updated.
Internal Name
oracle.apps.wf.event.event.update
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Event Deleted
Oracle Workflow raises this event whenever an individual event or event group
definition is deleted.
Internal Name
oracle.apps.wf.event.event.delete
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Internal Name
oracle.apps.wf.event.group.create
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.event.group.update
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.event.group.delete
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.event.system.create
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
System Updated
Oracle Workflow raises this event whenever a system definition is updated.
Internal Name
oracle.apps.wf.event.system.update
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
System Deleted
Oracle Workflow raises this event whenever a system definition is deleted.
Internal Name
oracle.apps.wf.event.system.delete
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.event.agent.create
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Agent Updated
Oracle Workflow raises this event whenever an agent definition is updated.
Internal Name
oracle.apps.wf.event.agent.update
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Agent Deleted
Oracle Workflow raises this event whenever an agent definition is deleted.
Internal Name
oracle.apps.wf.event.agent.delete
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.agent.group.create
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.agent.group.update
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.agent.group.delete
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.event.subscription.create
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Subscription Updated
Oracle Workflow raises this event whenever a subscription definition is updated.
Internal Name
oracle.apps.wf.event.subscription.update
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Subscription Deleted
Oracle Workflow raises this event whenever a subscription definition is deleted.
Internal Name
oracle.apps.wf.event.subscription.delete
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.event.all.sync
Status
Enabled
Generate Function
wf_event_functions_pkg.generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.event.group.all
Status
Enabled
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Members
oracle.apps.wf.event.event.create
oracle.apps.wf.event.event.update
oracle.apps.wf.event.event.delete
oracle.apps.wf.event.group.create
oracle.apps.wf.event.group.update
oracle.apps.wf.event.group.delete
oracle.apps.wf.event.system.create
oracle.apps.wf.event.system.update
oracle.apps.wf.event.system.delete
oracle.apps.wf.event.agent.create
oracle.apps.wf.event.agent.update
oracle.apps.wf.event.agent.delete
oracle.apps.wf.agent.group.create
oracle.apps.wf.agent.group.update
oracle.apps.wf.agent.group.delete
oracle.apps.wf.event.subscription.create
oracle.apps.wf.event.subscription.update
oracle.apps.wf.event.subscription.delete
oracle.apps.wf.event.all.sync
Oracle Workflow provides two default subscriptions to the Seed Event Group. The first
subscription can send the Event Manager data to an agent and to a workflow process
when one of the group member events is raised locally. To use this subscription, you
must create a copy of this subscription with the same properties, except you should give
your new subscription a customization level of User and add the agent or workflow to
which you want to send the data, and enable the subscription. The following table lists
the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.event.group.all
Phase
50
Status
Disabled
Rule Data
Message
Rule Function
wf_rule.default_rule
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
The second subscription can load the Event Manager data into the local system when
one of the group member events is received from an external source. To use this
subscription, you must enable it. The following table lists the properties defined for this
subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.event.group.all
Subscription Property
Value
Phase
50
Status
Disabled
Rule Data
Key
Rule Function
wf_event_functions_pkg.receive
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Related Topics
Synchronizing Systems, page 8-68
oracle.apps.wf.event.test.ping
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the Ping Agent event. This
subscription sends the Acknowledge Ping event back to the originating system when
the Ping Agent event is received from an external source. The subscription is enabled by
default. The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.event.test.ping
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
wf_event_ping_pkg.acknowledge
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Acknowledge Ping
Oracle Workflow sends this event back to the originating system when a Ping Agent
event is received. See: Workflow Agent Ping/Acknowledge, page 8-75.
Internal Name
oracle.apps.wf.event.test.ack
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the Acknowledge Ping event.
This subscription sends the Acknowledge Ping event to the Detail Ping process in the
Workflow Agent Ping/Acknowledge item type when the event is received from an
external source. The subscription is enabled by default. The following table lists the
properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.event.test.ack
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
wf_rule.default_rule
WFPING
WFDTLPNG
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.event.system.signup
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the System Signup event. This
subscription loads the Event Manager data into the local system when the System
Signup event is raised locally. The subscription is enabled by default. The following
table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.event.system.signup
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
wf_event_functions_pkg.receive
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Any Event
This event is raised implicitly when any other event is raised locally or received from an
external source. You can define a subscription to the Any event to implement
processing that you want to execute whenever an event occurs.
Internal Name
oracle.apps.wf.event.any
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides three default subscriptions to the Any event. The first
subscription can be triggered when an event is raised locally. To use this subscription,
you must create a copy of this subscription with the same properties, except you should
give your new subscription a customization level of User, define the action for the
subscription, and enable it. The following table lists the properties defined for this
subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.event.any
Phase
100
Status
Disabled
Rule Data
Key
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
The second subscription can be triggered when an event is received from an external
source. To use this subscription, you must create a copy of this subscription with the
same properties, except you should give your new subscription a customization level of
User, define the action for the subscription and enable it. The following table lists the
properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.event.any
Phase
100
Status
Disabled
Rule Data
Key
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
The third subscription sends the event message to the Default Event Error process in the
System: Error item type and raises an exception when an event is received from an
Error source (that is, when it is dequeued from the WF_ERROR or WF_JAVA_ERROR
queue). To use this subscription, you must enable it. The following table lists the
properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Error
Event Filter
oracle.apps.wf.event.any
Phase
100
Subscription Property
Value
Status
Disabled
Rule Data
Key
Rule Function
wf_rule.error_rule
WFERROR
DEFAULT_EVENT_ERROR
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Unexpected Event
Oracle Workflow executes subscriptions to this event when an event is raised locally or
received from an external source, but no subscription exists for that event.
Important: You must not change or disable the definition of the
Unexpected event. If you do, the Event Manager will not be able to
perform error handling for event and subscription processing.
Internal Name
oracle.apps.wf.event.unexpected
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides two default subscriptions to the Unexpected event. The first
subscription sends the event message to the Default Event Error process in the System:
Error item type when an unexpected event is received from an external source. This
subscription allows your local system to handle any event messages received from
external systems that you were not expecting.
The Default Event Error process notifies the system administrator, who can retry or
abort subscription processing for the event. For example, the system administrator can
optionally define a subscription to process the event and then retry the event.
The External subscription to the Unexpected event is enabled by default. You can
disable it if necessary.
Important: If you want to disable this subscription, be careful to
The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.event.unexpected
Phase
50
Status
Enabled
Rule Data
Key
WFERROR
DEFAULT_EVENT_ERROR
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
The second subscription sends the event message to the Default Event Error process in
the System: Error item type when an unexpected event is received from an Error source
(that is, when it is dequeued from the WF_ERROR or WF_JAVA_ERROR queue). This
subscription is enabled by default.
Important: You must not change or disable the definition of the
The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Error
Event Filter
oracle.apps.wf.event.unexpected
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
wf_rule.error_rule
WFERROR
DEFAULT_EVENT_ERROR
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.global.user.change
Status
Enabled
Generate Function
wf_entity_mgr.gen_xml_payload
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the User Entry Has Changed
event that loads the changed user data into the WF_LOCAL_ROLES table in Oracle
E-Business Suite when the User Entry Has Changed event is raised locally. You should
enable this subscription if you want to implement integration with Oracle Internet
Directory. The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.global.user.change
Phase
51
Status
Disabled
Rule Data
Key
Rule Function
fnd_user_pkg.user_create_rf
Owner Name
Oracle Workflow
Subscription Property
Value
Owner Tag
FND
Customization Level
Limit
Notification Events
Event for Notification Send
Oracle Workflow uses this event to send outbound notification messages.
Internal Name
oracle.apps.wf.notification.send
Status
Enabled
Generate Function
WF_XML.Generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.reassign
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.cancel
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.question
Status
Enabled
Generate Function
WF_XML.Generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.answer
Status
Enabled
Generate Function
WF_XML.Generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.send.group
Status
Enabled
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Members
oracle.apps.wf.notification.send.
oracle.apps.wf.notification.reassign
oracle.apps.wf.notification.cancel
oracle.apps.wf.notification.question
oracle.apps.wf.notification.answer
Oracle Workflow provides three default subscriptions to the Notification Send Group.
The first subscription places the event message on the WF_NOTIFICATION_OUT agent
to be sent by a notification mailer when one of the group member events is raised
locally. This subscription is enabled by default. The following table lists the properties
defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.notification.send.group
Phase
100
Subscription Property
Value
Status
Enabled
Rule Data
Message
Rule Function
wf_rule.default_rule
Out Agent
WF_NOTIFICATION_OUT@<local system>
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Value
System
<local system>
Source Type
Error
Event Filter
oracle.apps.wf.notification.send.group
Phase
50
Status
Enabled
Rule Data
Key
Subscription Property
Value
Rule Function
wf_xml.error_rule
WFERROR
DEFAULT_EVENT_ERROR
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
The third subscription can be used to place the event message on the
WF_SMTP_O_1_QUEUE to be processed by the C-based version of the Notification
Mailer, when one of the group member events is raised locally. This subscription
should only be used when Oracle Support determines it to be necessary. Do not enable
this subscription unless you are directed to do so by Oracle Support. The following
table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.notification.send.group
Phase
Status
Disabled
Rule Data
Key
Rule Function
wf_xml.sendnotification
Subscription Property
Value
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.summary.send
Status
Enabled
Generate Function
WF_XML.Generate
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the Send Summary Notification
event. When the Send Summary Notification event is raised locally, this subscription
places the event message on the WF_NOTIFICATION_OUT agent to be sent by a
notification mailer. The subscription is enabled by default. The following table lists the
properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.notification.summary.send
Phase
Subscription Property
Value
Status
Enabled
Rule Data
Message
Rule Function
wf_rule.default_rule
Out Agent
WF_NOTIFICATION_OUT@<local system>
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.send.failure
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.notification.send.failure
Phase
100
Status
Enabled
Rule Data
Key
Rule Function
WF_MAIL.Disable_Recipient_Ntf_Pref
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
The second subscription sends the event message to the Default Event Error process in
the System: Error item type when the E-Mail Notification Dispatch Failure event is
received from an Error source (that is, when it is dequeued from the WF_ERROR or
WF_JAVA_ERROR queue). The subscription is enabled by default. The following table
lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Error
Event Filter
oracle.apps.wf.notification.send.failure
Phase
100
Subscription Property
Value
Status
Enabled
Rule Data
Key
Rule Function
wf_rule.default_rule
WFERROR
DEFAULT_EVENT_ERROR
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.send.error
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.receive.message
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.receive.sendreturn
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.receive.unavail
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.receive.error
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.receive
Status
Enabled
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Members
oracle.apps.wf.notification.receive.message
oracle.apps.wf.notification.receive.sendreturn
oracle.apps.wf.notification.receive.unavail
oracle.apps.wf.notification.receive.error
Oracle Workflow provides one default subscription to the Notification Receive Group.
This subscription processes the incoming message when one of the group member
events is received from an external source.
since the notification's status is still OPEN. However, the notification's mail status is
updated to UNAVAIL.
This subscription is enabled by default. The following table lists the properties defined
for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.notification.receive
Phase
Status
Enabled
Rule Data
Message
Rule Function
wf_xml.receive
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.respond
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.close
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.notification.denormalize
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.notification.denormalize
Phase
100
Status
Enabled
Rule Data
Key
Rule Function
Wf_Notification_Util.Denormalize_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.fnd.wf.attribute.denormalize Event
Oracle Workflow raises this event when a worklist flexfields rule is created or updated,
requiring denormalized message attributes to be stored in the designated worklist
flexfields columns.
Internal Name
oracle.apps.fnd.wf.attribute.denormalize
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.attribute.denormalize
Phase
10
Status
Enabled
Rule Data
Key
Action Type
Custom
On Error
Rule Function
WF_NTF_RULE.Submit_Conc_Program_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Internal Name
oracle.apps.wf.notification.wl.response.message
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.notification.wl.response.messa
ge
Phase
Status
Enabled
Action Type
Custom
On Error
Rule Data
Key
WF_NOTIFICATION_UTIL.COMPLETE_RF
Owner Name
Oracle Workflow
Subscription Property
Value
Owner Tag
FND
Customization Level
Core
The second subscription sends the event message to the Error Process for Notification
Response Processing in the System: Error item type when the Receipt of Worklist
Notification Response event is received from an Error source (that is, when it is
dequeued from the WF_ERROR or WF_JAVA_ERROR queue). The subscription is
enabled by default. The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Error
Event Filter
oracle.apps.wf.notification.wl.response.messa
ge
Phase
50
Status
Enabled
Rule Data
Key
Action Type
Custom
On Error
Rule Function
WF_RULE.DEFAULT_RULE
WFERROR
NTF_DEFER_RESP_PROCESS_ERROR
Priority
Normal
Subscription Property
Value
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
oracle.apps.fnd.wf.mailer.Mailer.notification.summary
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Value
System
<local system>
Source Type
Local
Subscription Property
Value
Event Filter
oracle.apps.fnd.wf.mailer.Mailer.notification.s
ummary
Phase
Status
Enabled
Rule Data
Message
Rule Function
wf_xml.summaryrule
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
same e-mail address, those messages are simply discarded. The mailer
does not raise the Unsolicited Email Threshold Reached event again.
Internal Name
oracle.apps.wf.mailer.unsolicited
Status
Disabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.bes.control.ping
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.bes.control.group
Status
Enabled
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Members
oracle.apps.wf.bes.control.ping
Oracle Workflow provides one default subscription to the Business Event System
Control Group. This subscription places the event message on the standard
WF_CONTROL queue when one of the group member events is raised locally. Middle
tier subscribers to this queue can then dequeue the event message. This subscription is
enabled by default. The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.bes.control.group
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
wf_rule.default_rule
Out Agent
WF_CONTROL@<local system>
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.fnd.bes.control.group
Status
Enabled
Owner Name
Owner Tag
FND
Customization Level
Limit
Oracle Application Object Library provides one default subscription to the Business
Event System Applications Control Group. When one of the group member events is
raised locally, this subscription updates the event message with Oracle E-Business Suite
context data such as the database ID and security group ID and then places the event
message on the standard WF_CONTROL queue. Middle tier subscribers to this queue
can then dequeue the event message. This subscription is enabled by default. The
following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.bes.control.group
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
fnd_bes_proc.process_event
Out Agent
WF_CONTROL@<local system>
Priority
Normal
Owner Name
Owner Tag
FND
Customization Level
Limit
Related Topics
Cleaning Up the Workflow Control Queue, Oracle Workflow Administrator's Guide
Business Event System Cleanup API, Oracle Workflow API Reference
oracle.apps.fnd.cp.gsc.SvcComponent.start
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Refresh Event
The Generic Service Component Framework uses this event to refresh a running service
component with new parameter values, for those parameters that can be dynamically
refreshed.
Internal Name
oracle.apps.fnd.cp.gsc.SvcComponent.refresh
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Suspend Event
The Generic Service Component Framework uses this event to suspend processing for a
running service component.
Internal Name
oracle.apps.fnd.cp.gsc.SvcComponent.suspend
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Resume Event
The Generic Service Component Framework uses this event to resume processing for a
suspended service component.
Internal Name
oracle.apps.fnd.cp.gsc.SvcComponent.resume
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Stop Event
The Generic Service Component Framework uses this event to stop a running service
component.
Internal Name
oracle.apps.fnd.cp.gsc.SvcComponent.stop
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
oracle.apps.fnd.cp.gsc.bes.control.group
Status
Enabled
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Members
oracle.apps.fnd.cp.gsc.SvcComponent.start
oracle.apps.fnd.cp.gsc.SvcComponent.refresh
oracle.apps.fnd.cp.gsc.SvcComponent.suspend
oracle.apps.fnd.cp.gsc.SvcComponent.resume
oracle.apps.fnd.cp.gsc.SvcComponent.stop
Oracle Workflow provides one default subscription to the GSC Business Event System
Control Group. This subscription places the event message on the standard
WF_CONTROL queue when one of the group member events is raised locally. Middle
tier subscribers to this queue can then dequeue the event message. This subscription is
enabled by default. The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.cp.gsc.bes.control.group
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
wf_rule.error_rule
Out Agent
WF_CONTROL@<local system>
Subscription Property
Value
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
For more information about the Generic Service Component Framework, see: Service
Components, Oracle Workflow Administrator's Guide.
oracle.apps.wf.engine.abort
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
oracle.apps.wf.engine.retry Event
The Oracle Workflow Engine raises this event when an activity is retried using
WF_ENGINE.HandleError. See: HandleError, Oracle Workflow API Reference.
Internal Name
oracle.apps.wf.engine.retry
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
oracle.apps.wf.engine.skip Event
The Oracle Workflow Engine raises this event when an activity is skipped using
WF_ENGINE.HandleError. See: HandleError, Oracle Workflow API Reference.
Internal Name
oracle.apps.wf.engine.skip
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
oracle.apps.fnd.wf.ds.user.updated
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the Workflow User Updated
event. When the Workflow User Updated event is raised locally, this subscription
makes corresponding updates to any associations of that user with roles. This
subscription is enabled by default. The following table lists the properties defined for
this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.ds.user.updated
Phase
100
Status
Enabled
Rule Data
Key
Rule Function
WF_ROLE_HIERARCHY.Denormalize_User_
Role_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.fnd.wf.ds.role.updated
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the Workflow Role Updated
event. When the Workflow Role Updated event is raised locally, this subscription
makes corresponding updates to any associations of that role with users. This
subscription is enabled by default. The following table lists the properties defined for
this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.ds.role.updated
Phase
100
Status
Enabled
Rule Data
Key
Rule Function
WF_ROLE_HIERARCHY.Denormalize_User_
Role_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.fnd.wf.ds.userRole.created
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.ds.userRole.created
Phase
Status
Enabled
Rule Data
Key
Rule Function
WF_ROLE_HIERARCHY.Cascade_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
The second subscription stores denormalized associations of the user with roles, based
on the hierarchy of role assignments for the user, when the Workflow User/Role
Relationship Created event is raised locally. This subscription is enabled by default. The
following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.ds.userRole.created
Phase
100
Status
Enabled
Rule Data
Key
Rule Function
WF_ROLE_HIERARCHY.Denormalize_User_
Role_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.fnd.wf.ds.userRole.updated
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.ds.userRole.updated
Phase
Status
Enabled
Rule Data
Key
Rule Function
WF_ROLE_HIERARCHY.Cascade_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.fnd.wf.ds.roleHierarchy.relationshipCreated
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the Workflow Role Hierarchy
Relationship Created event. This subscription runs the Workflow Role Hierarchy
Propagation concurrent program (FNDWFDSRHP) to update the denormalized
associations of users with roles, based on the hierarchy of roles, when the Workflow
Role Hierarchy Relationship Created event is raised locally. This subscription is enabled
by default. The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.ds.roleHierarchy.relationsh
ipCreated
Phase
Status
Enabled
Rule Data
Key
Rule Function
WF_ROLE_HIERARCHY.Propagate_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.fnd.wf.ds.roleHierarchy.relationshipUpdated
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the Workflow Role Hierarchy
Relationship Updated event. This subscription runs the Workflow Role Hierarchy
Propagation concurrent program (FNDWFDSRHP) to update the denormalized
associations of users with roles, based on the hierarchy of roles, when the Workflow
Role Hierarchy Relationship Updated event is raised locally. This subscription is
enabled by default. The following table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.fnd.wf.ds.roleHierarchy.relationsh
ipUpdated
Phase
Status
Enabled
Rule Data
Key
Rule Function
WF_ROLE_HIERARCHY.Propagate_RF
Priority
Normal
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
oracle.apps.wf.bes.test.testEvent
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Oracle Workflow provides three default subscription to the Test BES event. The first
subscription is used to test execution of a synchronous PL/SQL subscription when the
Test BES event is raised locally. The subscription is enabled by default. The following
table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.bes.test.testEvent
Phase
50
Status
Enabled
Rule Data
Key
Action Type
Custom
On Error
Skip to Next
WF_RULE.success
Subscription Property
Value
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.bes.test.testEvent
Phase
100
Status
Enabled
Rule Data
Key
Action Type
Custom
On Error
Skip to Next
WF_RULE.success
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
The third subscription is used to test execution of a Java subscription when the Test BES
event is raised locally. The subscription is enabled by default. The following table lists
the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.bes.test.testEvent
Phase
99
Status
Enabled
Rule Data
Key
Action Type
Custom
On Error
Skip to Next
oracle.apps.fnd.wf.bes.sample.TestSubscriptio
n
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Core
for example, and you can also use the same process on the second system to send the
acknowledgement message back to the first system.
The Workflow Send Protocol workflow consists of one process, the Workflow Event
Protocol process. This process is launched when it receives an event message from an
event subscription.
You can start the Workflow Send Protocol workflow by any of the following methods:
Raise the Workflow Send Protocol event from the Test Business Event page. Enter a
unique event key, and enter any valid XML document as the event data. A
predefined subscription sends the event message to the Workflow Event Protocol
process. See: To Raise a Test Event, page 8-14 and Workflow Send Protocol Events,
page 9-65.
The process can also be started when an agent receives the Workflow Send Protocol
event from an external source. A predefined subscription sends the event message
to the Workflow Event Protocol process. See: Workflow Send Protocol Events, page
9-65.
Define your own subscription to send any event you choose to the Workflow Event
Protocol process. In the subscription, specify the workflow item type as WFSNDPRT
and the workflow process name as WFEVPRTC. Ensure that you either use the
default rule function or include send processing in your custom rule function to
send the event to the workflow. The Workflow Event Protocol process starts when
the subscription is executed and the process receives the event message. See:
Defining Event Subscriptions, page 8-36.
Related Topics
The Workflow Send Protocol Item Type, page 9-59
Summary of the Workflow Event Protocol Process, page 9-61
Workflow Event Protocol Process Activities, page 9-63
Workflow Send Protocol Events, page 9-65
persistence type of Temporary and persistence number of days of 0. This means that the
runtime data associated with any work items for this item type are eligible for purging
as soon as they complete.
The Workflow Send Protocol item type also has several attributes associated with it.
These attributes reference information in the Workflow application tables. The
attributes are used and maintained by function activities as well as event activities
throughout the process. The following table lists the Workflow Send Protocol item type
attributes.
Workflow Send Protocol Item Type Attributes
Display Name
Description
Type
Length/Format/Look
up Type
Event Name
Text
Event Key
Text
Event Message
Event
To Agent
Text
From Agent
Text
Acknowledge
Required?
An option that
specifies whether the
event message that is
sent requires an
acknowledgement
from the recipient
Text
Display Name
Description
Type
Length/Format/Look
up Type
Send
Acknowledgement?
An option that
specifies whether to
send an
acknowledgement of
a message that is
received
Text
Acknowledge
Message
The
acknowledgement
message that is sent
Event
Acknowledge To
Agent
Text
Subscription GUID
Text
The Workflow Send Protocol workflow begins when the Event Manager sends an event
message to the Workflow Event Protocol process. For example, when you raise the
Workflow Send Protocol event locally or receive that event from an external source,
predefined subscriptions send the event message to the Workflow Event Protocol
process. See: Workflow Send Protocol Events, page 9-65.
The workflow begins at node 1 with the Receive message activity. At node 2, the
process attempts to retrieve the agent details for the intended outbound and inbound
agents from the subscription.
If no inbound agent is specified, the process continues immediately to node 6 to
determine whether to send an acknowledgement message.
If the subscription does specify a To Agent, the process sends the event message to that
agent. Then the process determines whether the event message requires an
acknowledgement from the recipient, based on a subscription parameter. If an
acknowledgement is required, the Workflow Engine waits to receive the
acknowledgement message. Otherwise, the process continues immediately to node 6 to
determine whether to send an acknowledgement message.
At node 6, the process determines whether it should send an acknowledgement of the
original message that it received. If no acknowledgement needs to be sent, the process
ends at this point. Otherwise, the process retrieves the agent details for the inbound
agent where the acknowledgement must be sent and sends the acknowledgement
message to that agent. Then the process ends.
Receive
Event Filter
None
Prerequisite Activities
None
WF_STANDARD.GETAGENTS
Result Type
Boolean
Prerequisite Activities
Receive Message
Subscription GUID
Send
Prerequisite Activities
WF_STANDARD.COMPARE
Result Type
Comparison
Prerequisite Activities
None
Acknowledge Required?
Receive
Event Filter
oracle.apps.wf.event.wf.ack
Prerequisite Activities
Compare Text
WF_STANDARD.COMPARE
Result Type
Comparison
Prerequisite Activities
None
Send Acknowledgement?
WF_STANDARD.GETACKAGENT
Result Type
None
Prerequisite Activities
Compare Text
Acknowledge To Agent
Send
Prerequisite Activities
To Agent Details
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
None
oracle.apps.wf.event.wf.send
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides two default subscriptions to the Workflow Send Protocol
event. The first subscription sends the event message to the Workflow Event Protocol
process in the Workflow Send Protocol item type when the Workflow Send Protocol
event is raised locally. A subscription parameter specifies that the message requires an
acknowledgement. This subscription is enabled by default. You can also create a copy
of this subscription with the same properties, except you should give your new
subscription a customization level of User, and add an outbound agent and inbound
agent to the subscription to specify where you want the Workflow Event Protocol
process to send the event message. The following table lists the properties defined for
this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
Local
Event Filter
oracle.apps.wf.event.wf.send
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
wf_rule.workflow_protocol
WFSNDPRT
WFEVPRTC
Parameters
ACKREQ=Y
Owner Name
Oracle Workflow
Subscription Property
Value
Owner Tag
FND
Customization Level
Limit
The second subscription sends the event message to the Workflow Event Protocol
process in the Workflow Send Protocol item type when the Workflow Send Protocol
event is received from an external source. This subscription is enabled by default. You
can optionally create a copy of this subscription with the same properties, except you
should give your new subscription a customization level of User, and add an outbound
agent and inbound agent to the subscription to specify that you want the Workflow
Event Protocol process to send the event message on to another agent. The following
table lists the properties defined for this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.event.wf.send
Phase
50
Status
Enabled
Rule Data
Key
Rule Function
wf_rule.workflow_protocol
WFSNDPRT
WFEVPRTC
Owner Name
Oracle Workflow
Owner Tag
FND
Subscription Property
Value
Customization Level
Limit
oracle.apps.wf.event.wf.ack
Status
Enabled
Generate Function
None
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
Oracle Workflow provides one default subscription to the Workflow Send Protocol
Acknowledgement Event. This subscription sends the event message to the Workflow
Event Protocol process in the Workflow Send Protocol item type when the Workflow
Send Protocol Acknowledgement event is received from an external source. This
subscription is enabled by default. The following table lists the properties defined for
this subscription.
Subscription Properties
Subscription Property
Value
System
<local system>
Source Type
External
Event Filter
oracle.apps.wf.event.wf.ack
Phase
50
Status
Enabled
Subscription Property
Value
Rule Data
Key
Rule Function
wf_rule.workflow_protocol
WFSNDPRT
WFEVPRTC
Owner Name
Oracle Workflow
Owner Tag
FND
Customization Level
Limit
10
Sample Workflow Process
This chapter describes a sample workflow process that illustrates several Oracle
Workflow features.
This chapter covers the following topics:
Requisition Process
The Requisition process is an example workflow process that is initiated when a user
creates a new requisition to purchase an item. The Requisition process is based on two
tables that store approval hierarchy and spending authority information.
Important: Oracle E-Business Suite includes a predefined requisition
process that is different from the example process described here. The
example process documented in this section is for explanation purposes
only and not for production use. For detailed information about
runnable workflow processes that are integrated with Oracle
E-Business Suite, refer to the appropriate Oracle E-Business Suite user's
guide or online documentation. See: Predefined Workflows Embedded
When a user submits a requisition in this example, the process sends a notification to
the next manager in the approval hierarchy to approve the requisition. If the spending
limit of the approving manager is less than the requisition amount, the process
forwards the requisition to the next higher manager in the approval hierarchy until it
finds a manager with the appropriate spending limit to approve the requisition. Each
intermediate manager must approve the requisition to move it to the next higher
manager. When a manager with the appropriate spending limit approves the
requisition, the process ends with a result of Approve.
The process can end with a result of Reject if:
The sample Requisition workflow is based on a sample data model that includes two
tables with data: one table that maintains an employee approval hierarchy and another
that maintains the spending limit of each employee. These two tables make up the
database application used to approve a requisition. In addition, the data model also
includes a directory service that identifies the Oracle Workflow users and roles in the
example implementation.
The example assumes that the application that creates the requisition provides the name
of the employee who prepared the requisition, the requisition amount, the requisition
number, a requisition description, and a requisition process owner. The application calls
the sample PL/SQL procedure WF_REQDEMO.StartProcess to initiate the Requisition
process. See: Sample StartProcess Function, page 10-14.
Two tables with seed data that make up the sample workflow-enabled database
application.
ADMIN Role
MANAGERS
Role
WORKERS
Role
OTHERS Role
SYSADMIN
yes
WFADMIN
yes
BLEWIS
yes
KWALKER
yes
CDOUGLAS
yes
yes
SPIERSON
yes
yes
The PL/SQL specification and body for a packages called WF_REQDEMO, which
contains the PL/SQL stored procedures called by the function activities used in the
Requisition Process workflow.
The Requisition workflow definition in the wfdemo.wft file. You can view this
process in Oracle Workflow Builder.
process. The following table lists the Requisition item type attributes.
Requisition Item Type Attributes
Display Name
Description
Type
Length/Format/Look
up Type
Forward From
Username
Username of the
person that the
requisition is
forwarded from
Role
Forward To
Username
Username of the
person that the
requisition is
forwarded to
Role
Requestor Username
Username of the
requisition preparer
Role
Requisition Amount
Requisition amount
Number
9,999,999,999.99
Requisition Number
Unique identifier of a
requisition
Text
Monitor URL
Monitor URL
URL
Requisition
Description
Text
80
Requisition Process
Owner
Username of the
requisition owner
Role
Reminder Requisition
Document
Reminder Requisition
Document is
generated by PL/SQL
Document
Note
Note
Text
Text
the final process result of Reject. If an approver is found, then the requestor is notified
of who that approver is and a function records in the application that the requisition is
being forwarded to the approver. Both of these activities must complete before the
approver is actually notified in node 8.
Node 8 is a subprocess that requests the approver to approve the requisition by a
specified period of time and if the approver does not respond by that time, the
subprocess performs a timeout activity to keep sending a reminder to the approver
until the approver responds. If the approver rejects the requisition, the requisition gets
updated as rejected in node 9, and the requestor is notified in node 10. The process ends
at this point with a result of Reject.
If the approver approves the requisition, the process transitions to node 12 to verify that
the requisition amount is within the approver's spending limit. If it is, the process
approves the requisition in node 13, and notifies the requestor in node 14. The process
ends in this case with a result of Approve.
WF_REQDEMO is the name of the package that groups all the procedures used by the
Requisition process. <PROCEDURE> represents the name of the procedure.
Several activities are described in greater depth to provide examples of how they are
constructed. See: Example Function Activities, page 10-17 and Example Notification
Activity, page 10-23.
Start (Node 1)
This is a Standard function activity that simply marks the start of the process.
Function
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
None
previous approver or the name of the preparer if the requisition was never approved
before. If an approver is found, this procedure returns a value of 'T', for True,
otherwise it returns a value of 'F' for False.
Function
WF_REQDEMO.SelectApprover
Result Type
Boolean
Prerequisite Activities
None
Result Type
None
Prerequisite Activities
Select Approver
Requisition Forward
Result Type
None
Prerequisite Activities
Select Approver
which you want to integrate this workflow, you can customize this activity to execute a
PL/SQL stored procedure that updates your purchasing application table to indicate
that the requisition is being forwarded to the next approver.
Function
WF_REQDEMO.Forward_Req
Result Type
None
Prerequisite Activities
Select Approver
And (Node 7)
This Standard function activity merges two or more parallel branches in the flow only
when the activities in all of those branches complete.
Function
WF_STANDARD.ANDJOIN
Result Type
None
Prerequisite Activities
Approval
Prerequisite Activities
Select Approver
WF_REQDEMO.Reject_Req
Result Type
None
Prerequisite Activities
Requisition Rejected
Result Type
None
Prerequisite Activities
Notify Approver
WF_REQDEMO.VerifyAuthority
Result Type
Yes/No
Prerequisite Activities
WF_REQDEMO.Approve_Req
Result Type
None
Prerequisite Activities
message also includes a 'Send' attribute for the from role that sent the notification, to be
displayed in the notification header.
In the property page of the activity node, the activity is assigned to a performer whose
name is stored in an item type attribute named Requestor Username.
Message
Requisition Approved
Result Type
None
Prerequisite Activities
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
Start
The subprocess begins at node 1 with the Start activity. At node 2, the comments from
the previous approver, if any, which are stored in the Note item attribute, are assigned
to the Note for Reminder item attribute for use in the Reminder-Approval Needed
notification. Then the Note item attribute is cleared, so that it can be used to store
comments from the current approver.
At node 4, the process notifies the current approver to approve a requisition within a
specified period of time. If the approver approves the requisition, the subprocess ends
at node 7 and returns the result Approve to the top level Requisition process. Similarly,
if the approver rejects the requisition, the subprocess ends at node 9 and returns the
result Reject to the top level Requisition process.
If the approver does not respond by the due date, the subprocess takes the <Timeout>
transition to node 5 to send a reminder to the approver to approve the requisition. Node
5 also has a timeout value assigned to it, and if the approver does not respond to the
reminder by that time, the subprocess takes the next <Timeout> transition to loop back
to node 5 to send another reminder to the approver. This loop continues until the
approver approves or rejects the requisition, which would end the subprocess at node 7
or 9, respectively.
Start (Node 1)
This is a Standard function activity that simply marks the start of the subprocess.
Function
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
None
Assign (Node 2)
This is a Standard function activity that assigns a value to an item attribute. This Assign
activity node assigns the value of the Note item attribute to the Note for Reminder item
attribute.
Function
WF_STANDARD.ASSIGN
Result Type
None
Prerequisite Activities
None
Assign (Node 3)
This is a Standard function activity that assigns a value to an item attribute. This Assign
activity node assigns a blank value to the Note item attribute to clear any previous
value.
Function
WF_STANDARD.ASSIGN
Result Type
None
Prerequisite Activities
None
value that the approver selects becomes the result that determines which activity branch
the Workflow Engine transitions to next.
The "Respond" attribute is called Note and this attribute prompts the approver for
optional comments to include in the notification response.
In the property page of this activity node, the activity is assigned to a performer whose
name is stored in an item type attribute named Forward To Username.
Message
Result Type
Approval
Prerequisite Activities
Select Approver
Result Type
Approval
Prerequisite Activities
Or (Nodes 6 and 8)
This Standard function activity merges two or more parallel branches in a flow as soon
as an activity in any one of those branches completes.
Function
WF_STANDARD.ORJOIN
Result Type
None
Prerequisite Activities
None
WF_STANDARD.NOOP
Result Type
None
Prerequisite Activities
Start
(1)
procedure StartProcess
(RequisitionNumber in varchar2,
RequisitionDesc in varchar2,
RequisitionAmount in number,
RequestorUsername in varchar2,
ProcessOwner in varchar2,
Workflowprocess in varchar2 default null,
item_type in varchar2 default null) is
(2)
(3)
begin
wf_engine.CreateProcess (itemtype => ItemType,
itemkey => ItemKey,
process => WorkflowProcess );
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(14)
(15)
(16)
exception
when others then
wf_core.context('WF_REQDEMO','StartProcess',
RequisitionNumber,RequisitionAmount,
RequestorUsername,ProcessOwner,Workflowprocess);
raise;
end StartProcess;
(1) This section represents the specification of the procedure, which includes the list of
parameters that must be passed to StartProcess.
(2) The declarative part of the procedure body begins in this section. StartProcess
consists of calls to various Workflow Engine PL/SQL APIs. See: Workflow Engine APIs,
Oracle Workflow API Reference.
Since all of these APIs require an item type and item key input, we define ItemType
and ItemKey as local arguments. The argument ItemType is defined as 'WFDEMO',
which is the internal name for the Requisition item type. The argument ItemKey is the
value of the RequisitionNumber parameter that is passed to the StartProcess
procedure.
Note: The item key for a process instance can only contain single-byte
(3) The executable part of the procedure body begins here. This section calls the
CreateProcess Workflow Engine API. This API creates a new runtime instance of the
Requisition process, whose internal name is 'WFDEMO', and the new instance is
identified by the item type and item key that are supplied. See: CreateProcess, Oracle
Workflow API Reference.
Note: If you do not pass a value for <process_int_name> when
initiating the requisition, the selector function for the Requisition item
type determines what process to run.
(4) This section calls the SetItemUserKey Workflow Engine API to mark the new
runtime instance of the Requisition process with an end-user key. The end-user key
makes it easier for users to query and identify the process instance when it is displayed.
See: SetItemUserKey, Oracle Workflow API Reference.
(5), (6), (7), (8), (9), (10), (11), and (12) These sections call either the SetItemAttributeText
or SetItemAttributeNumber Workflow Engine APIs to set values for the item type
Result type for the activity, which can be none or the name of a predefined lookup
type.
Also, the PL/SQL stored procedure that a function activity calls must comply with a
specific API. See: Standard API for PL/SQL Procedures Called by Function Activities,
page 6-2.
Related Topics
Example: Select Approver, page 10-17
Example: Verify Authority, page 10-20
Example: Select Approver
The Select Approver function activity calls a PL/SQL stored procedure named
WF_REQDEMO.SelectApprover that determines who the next approver is based on the
employee approval hierarchy in the example data model.
Result Type
not found. The possible responses are defined in a lookup type called Boolean,
associated with the Standard item type.
PL/SQL Stored Procedure
The PL/SQL stored procedure that this function activity calls is described in detail
below. Each section in the procedure is numbered with the notation (1) for easy
referencing.
procedure SelectApprover
(itemtype in varchar2,
itemkey in varchar2,
actid in number,
funcmode in varchar2,
resultout out varchar2) is
(1)
l_forward_from_username varchar2(320);
l_forward_to_username varchar2(320);
(2)
begin
if (funcmode = 'RUN') then
l_forward_to_username := wf_engine.GetItemAttrText (
itemtype => itemtype,
itemkey => itemkey,
aname => 'FORWARD_TO_USERNAME');
(3)
(4)
l_forward_from_username := l_forward_to_username;
(5)
(6)
l_forward_to_username := wf_reqdemo.GetManager(
l_forward_from_username);
(7)
(8)
(9)
end if;
raise;
(13) end SelectApprover;
stored procedure.
Result Type
This activity expects a result of 'Yes' or 'No' when the procedure completes to
indicate whether the approver has the authority to approve the requisition. These result
values are defined in the lookup type called Yes/No, associated with the Standard item
type.
PL/SQL Stored Procedure
The PL/SQL stored procedure that this function activity calls is described in detail
below. Each section in the procedure is numbered with the notation (1) for easy
referencing. We also use the convention 'l_' to identify local arguments used within
the procedure.
procedure VerifyAuthority
(itemtype in varchar2,
itemkey in varchar2,
actid in number,
funcmode in varchar2,
resultout out varchar2) is
(1) l_forward_to_username varchar2(320);
l_requisition_amount number;
l_spending_limit number;
(2)
(3)
begin
if (funcmode = 'RUN') then
l_requisition_amount := wf_engine.GetItemAttrNumber (
itemtype => itemtype,
itemkey => itemkey,
aname => 'REQUISITION_AMOUNT');
l_forward_to_username := wf_engine.GetItemAttrText (
itemtype => itemtype,
itemkey => itemkey,
aname => 'FORWARD_TO_USERNAME');
(4)
if (wf_reqdemo.checkSpendingLimit(l_forward_to_username,
l_requisition_amount)) then
resultout :='COMPLETE:Y';
else
resultout :='COMPLETE:N';
end if;
end if;
(5)
(6)
(7)
exception
when others then
wf_core.context('WF_REQDEMO', 'VerifyAuthority',
itemtype, itemkey, actid, funcmode);
raise;
(8)
end VerifyAuthority;
(4) This section calls the function CheckSpendingLimit for the current approver to
determine whether the requisition amount is less than or equal to the approver's
spending limit. If the requisition amount is less than or equal to the value in
l_spending_limit, meaning the approver has authority to approve, then assign
resultout to be COMPLETE:Y. Otherwise, assign resultout to be COMPLETE:N.
(5) If the value of funcmode is CANCEL, then assign resultout to be COMPLETE:.
(6) If the value of funcmode is TIMEOUT, then assign resultout to be COMPLETE:.
(7) This section calls WF_CORE.CONTEXT if an exception occurs, to include context
information in the error stack to help you locate the source of an error. See: CONTEXT,
Oracle Workflow API Reference.
(8) This section marks the end of the procedure.
Result type for the activity, which can be none or the name of a predefined lookup
type.
Related Topics
Example: Notify Requisition Approval Required, page 10-23
Example: Notify Requisition Approval Required
The Notify Requisition Approval Required activity sends a message called Requisition
Approval Required to an approving manager. The message requests that the manager
approve or reject a requisition and provides details about the requisition within the
body of the message.
Result Type
The manager's response determines the activity that the process transitions to next. The
possible responses, 'APPROVE' or 'REJECT', are defined in a lookup type called
Approval. These values are defined by the message's special Result attribute, whose
display name is Action. These values are also the possible results of the notification
activity, as defined by the Result Type field in the Activity property page.
Message
The content of the notification is defined in the message called Requisition Approval
Required:
Subject
Requisition &REQUISITION_NUMBER,
&REQUISITION_DESCRIPTION for
&REQUISITION_AMOUNT requires approval
Body
WF_NOTIFICATION(ATTRS,REQUISITION_NUMBER,REQUISI
TION_AMOUNT,
REQUISITION_DESCRIPTION,FORWARD_FROM_USERNAME,RE
QUESTOR_USERNAME)
WF_NOTIFICATION(HISTORY)
Message attributes, preceded by an ampersand '&' in the subject line or body of the
message, are token substituted with runtime values when the notification is sent.
However, in order for token substitution to occur properly, all message attributes
referenced in the subject line or body of the message must be defined with a source of
'Send'.
In this example, the message body consists of two calls to the special message function
called WF_NOTIFICATION(). The first call displays the requisition number, requisition
description, requisition amount, previous approver name, and preparer name for the
requisition in a message attribute table within the message. The second call displays a
notification history table in the message. Additionally, the message includes a special
'Send' attribute named #FROM_ROLE, for the from role that sent the notification, to be
displayed in the notification header. See: #FROM_ROLE Attribute, page 3-38 and
WF_NOTIFICATION() Message Function, page 3-32.
This message also contains a special result message attribute called Action and a
'Respond' message attribute called Note.
The result message attribute is defined in the Result tab of the message's property page.
The result attribute prompts the approver to respond with a value from a list of possible
values provided by the lookup type specified. The response, in turn, becomes the result
of the Notify Requisition Approval Required activity. In this case, the possible response
values are 'APPROVE' or 'REJECT', as defined by the Approval lookup type. This
result determines which activity the process transitions to next.
The 'Respond' message attribute Note is of type 'Text'. This attribute prompts the
approver to enter optional comments when responding to the notification.
Note: To view the content of any message, double-click the message in
the navigator tree or select the message and choose Properties from the
Edit menu.
Process Node Properties
In the properties page of the Notify Requisition Approval Required activity node in the
Notify Approver subprocess, this node is set to Normal because it is neither the start
nor end activity in the process.
The performer is set to the Forward To Username item type attribute, indicating that the
notification is sent to the user whose name is stored in the item type attribute called
'Forward To Username'. The value of 'Forward To Username' is determined earlier in
the Requisition process by the activity called Select Approver.
11
Error Handling
This chapter describes how Oracle Workflow handles errors in workflow processes and
event subscription processing.
This chapter covers the following topics:
Error Handling
Error Handling
Oracle Workflow provides default error handling for both workflow processes and
event subscription processing. The default handling is defined by error processes
provided in a special item type called System: Error, and, for events, by special
subscriptions with a source type of Error. You can also choose to define your own
custom error handling by creating custom error processes and subscriptions.
Related Topics
Error Handling for Workflow Processes, page 11-1
Error Handling for Event Subscription Processing, page 11-4
System: Error Item Type and Item Attributes, page 11-8
Default Error Process, page 11-10
Retry-only Process, page 11-13
Default Event Error Process, page 11-16
Default Event Error Process (One Retry Option), page 11-21
Error Process for Notification Response Processing, page 11-28
may be a background engine with no human operator. Instead, Oracle Workflow lets
you define the processing you want to occur in case of an error by specifying an error
handling process when you create your workflow process in Oracle Workflow Builder.
At design time, you can assign an error handling process for a process, function, or
event activity in the activity's Details property page. You must specify the internal
names of both the item type that owns the error handling process and the error
handling process itself. See: To Define Optional Activity Details, page 3-91.
Details Property Page
Oracle Workflow provides a special item type called System: Error, which contains
error processes called Default Error process and Retry-only process that you can use for
generic error handling in any of your processes. However, you cannot modify the error
processes in the System: Error item type. If you want to incorporate functionality that is
not available in these error processes, you should create your own custom error
handling process in your own item type. An error process can branch based on error
codes, send notifications, and attempt to deal with the error using automated rules for
resetting, retrying, or skipping the failed activity.
Note: Rather than relying on an error process to handle errors due to
that the workflow process can progress forward. If you do not model
this situation into your workflow process, and instead rely on the error
to activate an error process, the entire workflow process will have an
ERROR status and will halt until a workflow administrator handles the
error.
At runtime, the Workflow Engine traps errors produced by function activities by setting
a savepoint before each function activity. If an activity produces an unhandled
exception, the engine performs a rollback to the savepoint, and sets the activity to the
ERROR status.
Note: For this reason, you should never commit within the PL/SQL
The Workflow Engine then attempts to locate an error process to run by starting with
the activity which caused the error and then checking each parent process activity until
an associated error process is located. If the Workflow Engine finds an error process, it
launches that process to handle the error. If no error process is assigned for the running
process, the Workflow Engine performs a rollback to the savepoint and sets the activity
to the ERROR status, but no error process can be launched.
Note: Both the error item type and the error process must be specified
in the item type that owns your requisition approval workflow and set the
WF_ADMINISTRATOR attribute to the purchasing administrator's role, which may be
PO_ADMIN.
You can also optionally use an item type attribute in your own item type to control
whether the error notification activity in the Default Error process or the Retry-only
process times out. Create an item type attribute of type number named
ERROR_TIMEOUT, and set the value of this attribute to the timeout interval you want,
specified in minutes. The Workflow Engine interprets the timeout value of this attribute
as a relative offset from the begin date of the activity. If the ERROR_TIMEOUT attribute
contains a null value, a value of zero, or is not defined at all, the error notification
activity does not time out.
Related Topics
System:Error Item Type and Item Attributes, page 11-8
Default Error Process, page 11-10
Retry-only Process, page 11-13
For subscription processing in the database, the event message is placed on the
standard WF_ERROR queue associated with the WF_ERROR agent.
For subscription processing in the middle tier, the event message is placed on the
standard WF_JAVA_ERROR queue associated with the WF_JAVA_ERROR agent.
However, if the subscription rule function raised an unhandled exception, the Event
Manager reraises that exception directly to the calling application after rolling back all
subscription processing for the event. In this case the event message is not placed on an
error queue.
Note: With Stop and Rollback error handling, if you want the calling
application.
Rolling back all subscription processing allows you to handle the error by retrying the
event, if appropriate. In this way, Oracle Workflow ensures that no subscription is
duplicated when subscription processing is restarted. If you later retry subscription
processing for the event, the Event Manager re-executes all subscriptions to the event.
You can optionally assign a subscription a different type of error handling, called Skip
to Next. In Skip to Next error handling, the Event Manager rolls back only this
subscription. The Event Manager then places the event message on the standard
WF_ERROR or WF_JAVA_ERROR agent, regardless of whether the subscription
trapped an error or raised an unhandled exception. The exception is not raised to the
calling application. Finally, the Event Manager continues processing the next
subscription for the event according to the subscription phase order.
Skipping to the next subscription lets you continue processing without waiting in cases
where the calling application does not depend on the successful completion of a
subscription and the subscription does not impact the execution of any other
subscriptions to the same event. If you later retry subscription processing for the event,
the Event Manager re-executes only the errored subscription.
Note: Skip to Next error handling is not available for subscriptions with
The WF_ERROR agent is a standard agent for error handling in the database that is
automatically defined on the local system when you install Oracle Workflow. The
WF_JAVA_ERROR agent is a standard agent for error handling in the middle tier.
Oracle Workflow provides agent listeners to monitor these agents. When a listener
dequeues an event message from the WF_ERROR queue or the WF_JAVA_ERROR
queue, the message is assigned a source type of Error. The Event Manager then searches
for and executes any subscriptions by the local system to that event or to the Any event
with the source type Error. If no subscriptions are found, the Event Manager executes
any subscriptions by the local system to the Unexpected event with the source type
Error.
Oracle Workflow provides one predefined subscription to the Unexpected event with
the source type Error. This subscription performs the default error handling for any
errored event that does not have a specific Error subscription. The subscription sends
the event message to the Default Event Error process in the System: Error item type.
Important: You must not change or disable the definition of the
The Default Event Error process sends a notification to the system administrator, who
can then abort or retry the event subscription processing.
Oracle Workflow also provides a predefined subscription with the source type Error for
the oracle.apps.wf.notification.wl.response.message event, which
represents a notification response whose processing has been deferred. The subscription
sends the event message to the Error Process for Notification Response Processing in
the System: Error item type. That process sends a notification to the workflow
administrator specified in the Workflow Configuration page, who can retry the
notification response processing. For more information about deferred notification
response processing and the workflow administrator role, see: Setting Global User
Preferences, Oracle Workflow Administrator's Guide.
You can set up custom error handling for a particular event by defining a subscription
to that event with a source type of Error and specifying the custom processing you want
to execute as the subscription action. In this case, the Event Manager will not perform
the default error handling, since the errored event will no longer be an unexpected
event. Instead, your custom error handling will replace the default error handling.
For example, if you want to provide specific Web service details for any errors in
subscriptions that invoke Web services, or if you want to present a simpler
administrative notification for local errored events, you can define custom error
handling subscriptions that send the event to the Default Event Error Process (One
Retry Option) instead of the Default Event Error Process. See: Default Event Error
Process (One Retry Option), page 11-21.
Note: If an event has multiple subscriptions, and the Event Manager
For additional information about diagnostic and mass event reprocessing scripts, see:
Handling Business Event System Errors, Oracle Workflow Administrator's Guide.
the administrator to the warning condition. This notification does not require a
response.
You can also define custom Error subscriptions to perform custom handling for
warning conditions.
Note: Both the WARNING status code and the Skip to Next error
Unexpected Events
Oracle Workflow also uses the Default Event Error process to handle unexpected
events. If an event is received from an external source, but the local system does not
have any subscriptions to that event, the Event Manager automatically searches for
subscriptions to the Unexpected event with the source type External. Oracle Workflow
provides a predefined External subscription to the Unexpected event that sends the
event message to the Default Event Error process.
The Default Event Error process notifies the system administrator of the unexpected
event and allows the system administrator to abort or retry the event subscription
processing. For example, the system administrator can create a subscription to handle
the event and then re-enqueue the event message to trigger the new subscription.
Note: Oracle Workflow also provides a predefined Local subscription
to the Unexpected event that sends the event message to the Default
Event Error process when there are no subscriptions to a locally raised
event. However, this subscription is disabled by default, because many
local events may be raised to which you do not want to subscribe. If
you want to enable this subscription, be careful to consider all the
events that can be raised on your local system and trigger the
subscription.
Related Topics
Unexpected Event, page 9-18
Default Event Error Process, page 11-16
Error Process for Notification Response Processing, page 11-28
Specifying Error Handling for a Subscription, page 8-19
Standard API for an Event Subscription Rule Function, page 6-32
Error Activity ID
Error Message
Error Name
Error Notification ID
Error Stack
Timeout Value
Event Name
Event Details
Event Message
Event Key
Event Subscription
Error Type
Error Details
Administrator Role
Subscription Details
Parent Notification ID
These item attributes are referenced by the function, notification, and event activities
that make up the error processes called Default Error Process, Retry-only, Default Event
Error Process, Default Event Error Process (One Retry Option), and Error Process for
Notification Response Processing.
Important: If you create a custom error handling process in your own
item type, Oracle Workflow automatically sets the above item attributes
when it calls your error handling process. If these item attributes do not
already exist in your process, Oracle Workflow creates them at runtime.
However, if you want to reference these item attributes in your error
handling process, such as in a message, you must first create them as
item attributes in your process's item type at design time using Oracle
Workflow Builder.
Related Topics
Default Error Process, page 11-10
Retry-only Process, page 11-13
Default Event Error Process, page 11-16
Default Event Error Process (One Retry Option), page 11-21
Error Process for Notification Response Processing, page 11-28
allow the administrator to abort the process, retry the errored activity, or resolve
the problem that caused the error to occur
WF_ADMINISTRATOR - Specify the role to which Oracle Workflow sends the error
notification. The default is the SYSADMIN role.
Abort the process - executes the Error Still Active activity to verify if the error is still
present and if it is, calls the Abort function activity and ends the default error
process.
Retry the process - executes the Error Still Active activity to verify if the error is still
present and if it is, calls the Retry function activity and ends the default error
process.
Resolved the process - ends the default error process because you addressed the
errored process directly through some external means or using the embedded URL
link to the Workflow Monitor.
Note: The notification message's embedded monitor URL displays
The subject and body of the Default Retry Error message are as follows:
Subject: Error in Workflow &ERROR_ITEM_TYPE/&ERROR_ITEM_KEY
&ERROR_MESSAGE
Body: An Error occurred in the following Workflow.
Item Type = &ERROR_ITEM_TYPE
Item Key = &ERROR_ITEM_KEY
User Key =&ERROR_USER_KEY
Error Name = &ERROR_NAME
Error Message = &ERROR_MESSAGE
Error Stack = &ERROR_STACK
Activity Id = &ERROR_ACTIVITY_ID
Activity Label = &ERROR_ACTIVITY_LABEL
Result Code = &ERROR_RESULT_CODE
Notification Id = &ERROR_NOTIFICATION_ID
Assigned User = &ERROR_ASSIGNED_USER
&MONITOR
The Notify Administrator notification activity has a dynamic timeout value assigned to
it. It checks the item type of the errored process for an item type attribute whose
internal name is ERROR_TIMEOUT. ERROR_TIMEOUT must be an attribute of type
number. The Workflow Engine interprets the value of this attribute as a relative offset
from the begin date of the activity, in the unit of minutes, to determine the timeout
value of Notify Administrator. If ERROR_TIMEOUT contains a null value, a value of
zero, or is not defined at all, then Notify Administrator has no timeout.
Related Topics
Workflow Core APIs, Oracle Workflow API Reference
Retry-only Process
RETRY_ONLY is the internal name of the Retry-only error process. The purpose of this
error handling process is to alert an administrator when an error occurs in a process
and prompt the administrator to retry the process in error. The process automatically
terminates when the error is no longer active.
Although you cannot edit the Retry-only process, the process is flexible enough for you
to customize its behavior. You can define two item type attributes called
WF_ADMINISTRATOR and ERROR_TIMEOUT in your item type that calls the Retry-only
process to control the error processing that is performed.
WF_ADMINISTRATOR - Specify the role to which Oracle Workflow sends the error
notification. The default is the SYSADMIN role.
The subject and body of the Retry As Only Option message are as follows:
Subject: Error in Workflow &ERROR_ITEM_TYPE/&ERROR_ITEM_KEY
&ERROR_MESSAGE
Body: An Error occurred in the following Workflow.
Item Type = &ERROR_ITEM_TYPE
Item Key = &ERROR_ITEM_KEY
User Key =&ERROR_USER_KEY
Error Name = &ERROR_NAME
Error Message = &ERROR_MESSAGE
Error Stack = &ERROR_STACK
Activity Id = &ERROR_ACTIVITY_ID
Activity Label = &ERROR_ACTIVITY_LABEL
Result Code = &ERROR_RESULT_CODE
Notification Id = &ERROR_NOTIFICATION_ID
Assigned User = &ERROR_ASSIGNED_USER
&MONITOR
The NTF with RETRY Only notification activity has a dynamic timeout value assigned
to it. It checks the item type of the process in error for an item attribute that has an
internal name called ERROR_TIMEOUT. ERROR_TIMEOUT must be an attribute of type
number. The Workflow Engine interprets the timeout value of this attribute as a relative
offset from the begin date of the activity, in the unit of minutes. If ERROR_TIMEOUT
contains a null value, a value of zero, or is not defined at all, then NTF with RETRY
Only has no timeout.
Related Topics
Workflow Core APIs, Oracle Workflow API Reference
received from an external source. For this error type, the Workflow Engine first
checks whether the event message belongs to a message group on a queue that is
enabled for transactional grouping. If so, then the process sends the Message Group
Error Notification. Otherwise, the process sends the External Event Error
Notification.
Local Event Error - An error occurred in subscription processing for an event raised
on the local system. For this error type, the Workflow Engine sends the Local Event
Error Notification.
administrator should investigate the error for the entire message group. Consequently,
this notification message is an FYI message and does not require a response. For more
information about transactional queues, see: Oracle Streams Advanced Queuing User's
Guide.
Note: The standard Business Event System queues provided by Oracle
The subject and body of the Default External Message Group Error message are as
follows:
Subject: External Event &ERROR_TYPE : &EVENT_NAME / &EVENT_KEY
Body: An error occured while processing a message that belonged to a
message group.
Details of this message are included in this notification for
informational purposes only. The dequeue retry count for all messages
in this message group have been incremented by one.
An Error occurred in the following Event Subscription:
&EVENT_SUBSCRIPTION
Event Error Name: &ERROR_NAME
Event Error Message: &ERROR_MESSAGE
Event Error Stack: &ERROR_STACK
Event Data: &EVENT_DATA_URL
Other Event Details: &EVENT_DETAILS
Abort - aborts subscription processing and ends the process. For example, if the
event data contained in an event message is corrupted, the system administrator
can abort subscription processing on that event message.
Enqueue Event - executes the Retry Process Event activity to enqueue the event
message back onto the queue where it was originally received, and ends the
process. The event message is enqueued with a priority of -1 so that it will be the
first message to be dequeued the next time the listener runs.
The system administrator can attempt to correct the error before re-enqueuing the
event. For example, the system administrator can create a subscription to handle an
unexpected event and then re-enqueue the event message to trigger the new
subscription.
The subject and body of the Default External Event Error message are as follows:
Subject: External Event &ERROR_TYPE : &EVENT_NAME / &EVENT_KEY
Body: An Error occurred in the following Event
Subscription: &EVENT_SUBSCRIPTION
Event Error Name: &ERROR_NAME
Event Error Message: &ERROR_MESSAGE
Event Error Stack: &ERROR_STACK
Event Data: &EVENT_DATA_URL
Other Event Details: &EVENT_DETAILS
Abort - aborts subscription processing and ends the Default Event Error process.
Raise Event with Event Key - executes the Retry Process Event activity to reraise the
event with only the event name and event key, and ends the Default Event Error
process.
Raise Event with Event Key and Event Data - executes the Retry Process Event
activity to reraise the event with only the event name, event key, and event data,
and ends the Default Event Error process.
Raise Event with Event Key, Event Data and Parameters - executes the Retry
Process Event activity to reraise the event with the event name, event key, event
data, and parameters, and ends the Default Event Error process.
The system administrator can choose the level of information to provide to the Event
Manager when reraising the event. For example, if an error exists in the event data that
was originally provided, the event can be reraised with only the event name and the
event key, forcing the Event Manager to regenerate the event data using the event's
generate function.
The system administrator can also attempt to correct the error before reraising the
event.
The subject and body of the Default Local Event Error message are as follows:
Enqueue Event - enqueues an errored external event message back onto the queue
where it was originally received. The event message is enqueued with a priority of
-1 so that it will be the first message to be dequeued the next time the listener runs.
Raise Event with Event Key - reraises a local errored event with only the event
name and event key.
Raise Event with Event Key and Event Data - reraises a local errored event with
only the event name, event key, and event data.
Raise Event with Event Key, Event Data and Parameters - reraises a local errored
event with the event name, event key, event data, and parameters.
Related Topics
Workflow Core APIs, Oracle Workflow API Reference
Managing Business Events, page 8-1
You want to provide specific Web service details for any errors in subscriptions that
invoke Web services.
You want to present a simpler administrative notification for local errored events
provide information to the administrator about the error, including specific Web
service details for subscriptions that invoke Web services
To use this process in custom error handling for an event, create a subscription to that
event with a source type of Error and an action of Launch Workflow. Then specify the
item type to launch as System: Error (WFERROR) and the process as Default Event Error
Process (One Retry Option) (DEFAULT_EVENT_ERROR2).
Local Event Error - An error occurred in subscription processing for an event raised
on the local system. For this error type, the process sends the Web Service Invoker
Error Notification for Web service subscriptions, or the Local Event Error
Notification (One Retry Option) for all other subscriptions.
The subject and body of the Default Event Warning message are as follows:
Subject: Event WARNING : &EVENT_NAME / &EVENT_KEY
Body: A Warning occurred in the following Event
Subscription: &EVENT_SUBSCRIPTION
Event Error Name: &ERROR_NAME
Event Error Message: &ERROR_MESSAGE
Event Error Stack: &ERROR_STACK
Event Data: &EVENT_DATA_URL
Other Event Details: &EVENT_DETAILS
Invoke Web Service - executes the Retry Process Event activity to reattempt
invoking the Web service by reraising the event, and ends the process.
The system administrator can attempt to correct the error before reattempting to invoke
the Web service.
The subject and body of the Default Web Service Invoker Event Error message are as
follows:
Subject: Web Service Invoker &ERROR_TYPE : &EVENT_NAME / &EVENT_KEY
Body: An Error occurred while invoking following web service.
&WEBSERVICE_DETAILS
&ERROR_DETAILS
&EVENT_DETAILS
Raise Event - executes the Retry Process Event activity to reraise the event with the
event name, event key, event data, and parameters, and ends the process.
Note: The Default Event Error Process (One Retry Option) presents a
The system administrator can attempt to correct the error before reraising the event.
The subject and body of the Default Local Event Error (One Retry Option) message are
as follows:
Subject: Local Event &ERROR_TYPE : &EVENT_NAME / &EVENT_KEY
Body: An Error occurred in the following Event
Subscription: &EVENT_SUBSCRIPTION
Event Error Name: &ERROR_NAME
Event Error Message: &ERROR_MESSAGE
Event Error Stack: &ERROR_STACK
Event Data: &EVENT_DATA_URL
&EVENT_DETAILS
administrator should investigate the error for the entire message group. Consequently,
this notification message is an FYI message and does not require a response. For more
information about transactional queues, see: Oracle Streams Advanced Queuing User's
Guide.
Note: The standard Business Event System queues provided by Oracle
The subject and body of the Default External Message Group Error message are as
follows:
Subject: External Event &ERROR_TYPE : &EVENT_NAME / &EVENT_KEY
Body: An error occured while processing a message that belonged to a
message group.
Details of this message are included in this notification for
informational purposes only. The dequeue retry count for all messages
in this message group have been incremented by one.
An Error occurred in the following Event Subscription:
&EVENT_SUBSCRIPTION
Event Error Name: &ERROR_NAME
Event Error Message: &ERROR_MESSAGE
Event Error Stack: &ERROR_STACK
Event Data: &EVENT_DATA_URL
Other Event Details: &EVENT_DETAILS
Abort - aborts subscription processing and ends the process. For example, if the
event data contained in an event message is corrupted, the system administrator
can abort subscription processing on that event message.
Enqueue Event - executes the Retry Process Event activity to enqueue the event
message back onto the queue where it was originally received, and ends the
process. The event message is enqueued with a priority of -1 so that it will be the
first message to be dequeued the next time the listener runs.
The system administrator can attempt to correct the error before re-enqueuing the
event. For example, the system administrator can create a subscription to handle an
unexpected event and then re-enqueue the event message to trigger the new
subscription.
The subject and body of the Default External Event Error message are as follows:
Subject: External Event &ERROR_TYPE : &EVENT_NAME / &EVENT_KEY
Body: An Error occurred in the following Event
Subscription: &EVENT_SUBSCRIPTION
Event Error Name: &ERROR_NAME
Event Error Message: &ERROR_MESSAGE
Event Error Stack: &ERROR_STACK
Event Data: &EVENT_DATA_URL
Other Event Details: &EVENT_DETAILS
Invoke Web Service - reattempts invoking a Web service by reraising a local errored
event with the event name, event key, event data, and parameters.
Raise Event - reraises a local errored event with the event name, event key, event
data, and parameters.
Enqueue Event - enqueues an errored external event message back onto the queue
where it was originally received. The event message is enqueued with a priority of
-1 so that it will be the first message to be dequeued the next time the listener runs.
Related Topics
Workflow Core APIs, Oracle Workflow API Reference
Invoking a Web Service, page 8-26
allow the workflow administrator to retry the notification processing or resolve the
problem that caused the error to occur
For more information about deferred notification response processing and the
workflow administrator role, see: Setting Global User Preferences, Oracle Workflow
Administrator's Guide.
Error Process for Notification Response Processing Diagram
Retry - executes the Retry Event activity to enqueue the notification response event
message back onto the WF_NOTIFICATION_IN queue, and ends the error process.
The workflow administrator can attempt to correct the error before re-enqueuing
the event.
Resolved - ends the error process because the workflow administrator addressed
the error in the notification response processing directly through some external
means.
The subject and body of the Default Response Processing Error Message are as follows:
Subject: Error occurred while processing notification response from
&RESPONDER_DISP_NAME for ID - &NOTIFICATION_ID
Body: An Error occurred in the following Workflow.
&NEWLINE_ATTR
Errorred Notification Details
WF_NOTIFICATION(ATTRS,NOTIFICATION_ID,SUBJECT,MESSAGE_TYPE,MESSAGE_NAME,
RECIPIENT,RECIPIENT_DISP_NAME,RESPONDER,RESPONDER_DISP_NAME)
Error Details
WF_NOTIFICATION(ATTRS,ERROR_NAME,ERROR_MESSAGE,ERROR_STACK)
&EVENT_SUBSCRIPTION to see the event subscription definition that
processes notification responses in the background.
&NEWLINE_ATTR
The Default Response Processing Error Message has the special #HIDE_MOREINFO
message attribute defined to hide the Request Information button in the Notification
Details page and exclude the Request Information response link from HTML-formatted
e-mail notifications. See: #HIDE_MOREINFO Attribute, page 3-36.
A
Oracle Workflow Developer Navigation
Paths
This appendix lists the navigation paths to Oracle Workflow developer Web pages in
the seeded Oracle Workflow responsibilities for Oracle E-Business Suite.
This appendix covers the following topics:
Web Page
B
Oracle Workflow Builder Menus and
Toolbars
This appendix provides a description of the menus and toolbars in Oracle Workflow
Builder.
This appendix covers the following topics:
File Menu
The File menu lets you perform several actions.
Quick Start Wizard - Creates a framework from which you can begin designing a
workflow process definition. See: Quick Start Wizard Overview, page 2-16.
Close Store - Closes the selected data store. This menu option is available only if the
Navigator is the active window.
Save - Saves changes to the currently connected database or file. See: Opening and
Saving Item Types, page 2-10.
Save As - Save changes to the file or database you specify with an optional effective
date.
Create Shortcut - Creates a shortcut icon on your desktop of the current Oracle
Workflow Builder session. Prompts for a shortcut name. The shortcut runs Oracle
Workflow Builder and automatically connects to the data store that was selected at
the time you created the shortcut, loading in the item types and opening the process
windows that were loaded and open at the time. If the data store is a database, the
shortcut prompts for the database password before starting Oracle Workflow
Builder. See: Creating a Shortcut Icon for a Workflow Process, page 4-22.
Verify - Validates all process definitions in the current data store. Use Refresh to
display the latest verification report of the process. See: To Validate a Process, page
4-20.
Print Diagram - Prints the process diagram displayed in the active process window.
See: To Print a Process, page 4-20.
Show/Hide Item Types... - Displays the Show Item Types window to determine
which item types in the current data store to show or hide in the navigator tree.
Load Roles from Database - Loads the Oracle Workflow directory service roles from
the current database store into Oracle Workflow Builder and makes them viewable
from the Directory Service branch in the navigator tree as well as from any property
page poplist field that references roles. This menu option is available only if the
current data store is a database. See: Roles, page 4-23.
Edit Menu
The Edit menu varies depending on whether you select the Navigator window or a
process window. The following menu options appear only when you select the
Navigator window and apply only to the Navigator window:
New - Creates a new item type, function activity, process activity, notification
activity, event activity, message, lookup type, lookup code, or attribute by
displaying its property page(s).
Paste - Pastes the object from the clipboard into the selected branch of the navigator
tree.
Find - Displays the Search window so you can enter search criteria to find an object
in the navigator tree. See: To Find an Object in the Navigator Tree, page 2-4.
Find Again - Finds an object in the navigator tree using the same criteria defined
previously in the Search window.
Process Details - Opens the process window of the selected process activity.
Move Attribute - Reorders the attributes listed in the current branch of the
navigator tree by moving the selected attribute up or down the list.
The following menu options appear only when you select a process window and apply
only to the selected process window:
Delete Selection - Deletes the selected object(s) from the process window.
Copy Diagram - Copies the process diagram displayed in the active process
window to the clipboard. See: To Copy a Process Diagram to the Clipboard, page 420.
View Menu
The View menu lets you alter the display of Oracle Workflow Builder.
Font - Displays the Fonts property page. Use the property page to change the font
settings of the text that appear in the Navigator and process windows. Changes
apply to all future sessions of Oracle Workflow Builder. See: Modifying Fonts in
Oracle Workflow Builder: , page 4-21.
Log ->Show - Toggles between displaying and hiding the Log window. The
Message Log window displays messages from the Workflow Builder that are not
error-related.
Log ->Detailed - Toggles the debug mode of Oracle Workflow Builder on and off.
When you check Detailed, you turn the debug mode on and cause Oracle Workflow
Builder to write more extensive messages to the Log window. You should not check
Detailed unless instructed to do so by your Oracle customer support representative,
Log -> To File - Writes all future content of the Message Log window to a file. Select
Log Show from the View menu to determine the location and name of the log file.
Log -> Bring to Front - Brings the Message Log window to the front as the active
window.
Grid Snap - Toggles grid snap on or off for all process windows.
Show Label in Designer submenu - A submenu of options that let you control the
information displayed in an activity's label. Choose either Instance Label, Internal
Name, Display Name, Performer, or Comment.
Show Label in Designer -> Instance Label - Uses the node label as the label for each
activity node in a process diagram. This setting persists for all process diagrams
and for all sessions of Oracle Workflow Builder until you specifically make a
change.
Show Label in Designer ->Internal Name - Uses the internal name of an activity as
the label for each activity node in a process diagram. This setting persists for all
process diagrams and for all sessions of Oracle Workflow Builder until you
specifically make a change.
Show Label in Designer ->Display Name - Uses the display name of an activity as
the label for each activity node in a process diagram. This setting persists for all
process diagrams and for all sessions of Oracle Workflow Builder until you
specifically make a change.
Show Label in Designer ->Performer - Uses the activity's performer as the label for
each activity node in a process diagram. Function and process activities that do not
have performers do not have a label. This setting persists for all process diagrams
and for all sessions of Oracle Workflow Builder until you specifically make a
change.
Show Label ->Comment - Uses the activity's comment as the label for each activity
node in a process diagram. Activities that do not have a comment do not have a
label. This setting persists for all process diagrams and for all sessions of Oracle
Workflow Builder until you specifically make a change.
Developer Mode - Toggles the display between standard presentation mode and
developer mode. In developer mode, all icons revert to the default icon for the
specific object type/subtype, subprocess icons are distinct from top level process
icons, and in the navigator tree, objects are shown and sorted by internal name.
Note that attributes are shown by internal name but are not sorted.
If the Navigator window is the active window, then the following menu option also
appears:
If a process window is the active window, then the following menu options also appear:
Show Process in Navigator - For the current process displayed in the process
diagram window, this menu option locates its corresponding process activity in the
Navigator window.
Show Overlay Image - Toggles the display to either show or hide the overlay image
for an icon, if it has one. For example, the Start and End activities in a process have
a green arrow and red arrow overlay image, respectively.
Window Menu
The Window menu displays the names of all open application windows. Select a
window name to make that window active. The following menu choices are also
available:
Help Menu
The Help menu lets you invoke help about using Oracle Workflow.
About Oracle Workflow... - Displays the current version and access level of Oracle
Workflow Builder. You can also edit your access level in the Access Level field and
apply your change by choosing OK.
Navigator Toolbar
The Navigator toolbar includes the following buttons which apply only to objects
selected from the navigator tree:
New Store
Open
Displays the Open window to open stored item types from a file or database.
Save
Saves any changes in the selected data store to the currently connected database or
file. Displays the Open window to let you connect to a database or file if the
selected data store is not connected to a database or file.
Delete
Properties
Copy
Paste
Verify
Developer Mode
Find
Displays the Search window to specify the search criteria to locate an object in the
navigator tree.
Runs the Quick Start Wizard to begin creating a workflow process definition.
Help
New Object
Creates a new object depending on the object branch you select (item type,
Processes, Notifications, Functions, Messages, or Lookup Types) by displaying the
property page for that object type.
Open
Displays the Open window to open stored item types from a file or database.
Save
Saves any changes in the selected data store to the currently connected database or
file. Displays the Open window to let you connect to a database or file if the
selected data store is not connected to a database or file.
Print Diagram
New Process
Displays the process activity node property page for you to create a new process
activity.
New Notification
Displays the notification activity node property page for you to create a new
notification activity.
New Function
Displays the function activity node property page for you to create a new function
activity.
New Event
Displays the event activity node property page for you to create a new event
activity.
Delete Selection
Properties
Developer Mode
Find
Show Instance Labels
Displays the instance label of the node as the node activity label in the Process
window.
Displays the internal name of the node as the node activity label in the Process
window.
Displays the display name of the node as the node activity label in the Process
window.
Show Comments
Displays the comments of the node as the node activity label in the Process
window.
Show Performers
Displays the performer of the node as the node activity label in the Process
window.
Help
C
Oracle Workflow Implementation in Oracle
E-Business Suite
This appendix lists embedded workflows in Oracle E-Business Suite, as well as Oracle's
support policy towards the customization of embedded workflows, events, and
subscriptions.
This appendix covers the following topics:
Related Topics
Oracle Workflow Support Policy, page C-62
Applied Technology
Oracle Application Object Library
Oracle Application Object Library provides a set of standard function activities that you
can use to incorporate concurrent manager processing into any Oracle E-Business Suite
workflow process. The standard function activities are associated with the Concurrent
Manager Functions item type. See: Concurrent Manager Standard Activities, page 5-18.
Business Rule Monitor Defect Process - This process is similar to the Business Rule
Monitor Task process, except that it is used only when the Business Rule Monitor Main
Process identifies a violated business rule that is related to a Defect object.
Task Manager
Workflow - Task Manager - Task Manager uses the Workflow - Task Manager process to
send notifications to inform personnel when tasks are created or changed.
Task Manager supports sending notifications to groups or teams. If a task is assigned to
a group or team, then the workflow process will send a separate workflow notification
to each member of the group, rather than sending only one notification to the e-mail
address listed for the group.
Notifications can be sent either automatically for both the HTML and Forms versions of
Task Manager, or manually for the Forms version only.
Manual Workflow Notifications (Forms only) - After a task is created with owner
and assignee information, click the Launch Workflow button in the Tasks window
to manually send notifications to the owner and assignees about task creation or
updates.
The Auto Notification check box for a task is selected in the Forms-based Tasks
window before saving the task.
The Notify check box is selected in the HTML-based Create Task window.
The Notification check box is selected in the Task Types setup window.
When a task is created or deleted, the owner and all assignees will receive
notifications.
When a task is reassigned to a new owner, the old and new owners will receive
notifications.
When the assignees for a task are changed, whether by adding, reassigning, or
deleting, the owner and the old and new assignees will receive notifications.
When updates are made to the task status, priority, type, and planned,
scheduled, or actual start and end dates, the owner and all assignees will
receive notifications.
When the task owner updates his or her status, the owner and all assignees will
receive notifications.
If you do not want to use the default workflow process for Task Manager, you can
define a new workflow process using Oracle Workflow and assign your custom
workflow to a task type.
Receive Send Notification Event is used to indicate that the execution engine has
identified a need to send a notification for errors related to an inbound process.
Oracle Workflow error handling provides active error notification to the XML Gateway
System Administrator or Trading Partner with support for the Workflow retry and
reprocess features. The functions provided by the XML Gateway Error Processing Item
Type are: ECX Reprocess Inbound, ECX Resend Outbound Message, Get ECX In Error
Details, Get ECX Out Error Details, Get System Administrator Role, and Get Trading
Partner Role.
For more information, see: Oracle XML Gateway User's Guide.
Communications
Oracle Service Fulfillment Manager
Fulfillment Header, Fulfillment Line, Work Item, Fulfillment Action, and Message Error
Workflows - These workflow processes are initiated whenever Oracle Service Fulfillment
Manager is invoked to fulfill a network or provisioning request. The header workflow
identifies the fulfillment line items and invokes child workflows for each one. Similarly,
the line workflows spawn work item workflows, which in turn spawn fulfillment action
workflows that actually perform the provisioning tasks. In case of any errors in
processing fulfillment messages, the Message error workflows are spawned. Certain
types of interaction between Order Management and Installed Base modules use Oracle
Service Fulfillment Manager.
The Account Publish process and Group Salesorder Publish process are initiated
from the OM Order Header workflow, and the Sales Order Publish process is
initiated from the OM Order Line workflow. These processes require an
implementation step. For more information, please see the Oracle
Telecommunications Billing Integrator Implementation Guide.
Contracts
Oracle Service Contracts
Service Request Creation Workflow - An event can be set up against a service contract line
so that when the associated condition has been met, this workflow can be used to
automatically create a service request. A notification containing details of the service
request will also be created, which can be viewed from the inbox of the contracts
launchpad.
Service Contracts Negotiation Workflow - This workflow is launched when a Service,
Extended Warranty or Subscription contract is created through the Authoring, Copy
Contract, or Renewals process.
For renewal contracts, the workflow first determines the renewal process type. The
type can be manual, online, or evergreen. The workflow then routes the contract
according to the renewal type.
For a manual renewal, the contract is routed to the sales rep. The sales rep can
manually activate the contract or submit the contract for online acceptance.
For an online renewal, the contract is routed to the customer. The process runs a
QA check for the contract, derives a communication template set to use for
generating a quote (draft contract) and cover letter, and then e-mails the
customer. The customer logs into an online portal and reviews the contract. The
customer can accept or reject the renewal contract and also has the option to
request assistance from a sales rep. The customer can choose to pay using
various available payment options such as PO, Commitment, Credit Card, and
so on. After the customer accepts the quote, a notification is sent to the contract
salesperson or a generic Help desk contact. Depending on the Approval Type
setting, the contract is automatically submitted for approval or sent to the
salesperson to review and activate the contract. If the customer accepts the
contract quotation and decides to pay the contract amount using a PO, the
workflow sends a notification to the contract salesperson to review before
activating the contract.
Approval Workflow - This workflow is launched from within the negotiation workflow
process when a contract is submitted for internal approval. The process derives the
internal approver using the approvals management engine and routes the contract to
the approver for a response.
Installed Base Transactions Notification Workflow - If the system profile 'OKS: Enable
Install Base Integration Messages' is set to 'Yes', this workflow will send notifications to
the user identified in the system profile 'OKS: User name to Send Install Base Messages'
during certain transactions. These include when a new item instance is created, when it
is terminated, when it is transferred to a new owner, when it is replaced or returned, or
when the quantity of items instances are split.
Contract Clause Approval Workflow - Users can create clauses in the contract terms library
and submit them for approval. This workflow sends notifications to the designated
approver when the users submit clauses requesting approval. In addition, this
workflow also handles the following scenarios:
Contract Template Approval Workflow - Users can create contract templates in the contract
terms library and submit them for approval. This workflow sends notifications to the
designated approver when users submit contract templates requesting approval. In
addition, this workflow also sends a notification to the contract administrator when a
contract template is approved or rejected.
Repository Contracts Approval Workflow - Sends a notification to designated approvers
when a contract is submitted for approval in the Contracts Repository. The approvers as
well as approval rules for contracts created in the Contracts Repository are set up in
Oracle Approvals Manager (AME).
Contract Repository Signature Workflow - This workflow routes the contract to obtain the
participants' signature to agree to the terms of a contract.
Set Current Process Run - Business processes can spawn overlapping processing runs,
which are are separate instances of data generated by each run of a business process.
This task marks the process run order and maintains the current process for versioned
views. For example, documents created with the current view will always point to the
most recent data.
Exception Alert - Sends a notification when a specified condition has been met. You can
use this task to alert yourself or others about favorable or adverse conditions within
your business environment. For example, you might define an exception that generates
an alert when the value for a line exceeds a specified threshold. Either
response-rqeuired notifications or FYI notifications can be sent.
Explanation Required Parent - Supports response notifications. When exception criteria
have been met, this workflow starts and manages child workflows designated for target
users based upon the primary Exception Alert definition. For the Exception Alert task to
complete, these child workflows must end with a user response or a timeout, allowing
the business process to continue.
Explanation Required Child - This process is launched by the Explanation Required Parent
when the exception criteria have been met. The process sends and manages response
notifications for target users based upon the primary Exception Alert definition. The
user must respond, or else the process ends with a timeout.
Further Explanation Requested - This process provides an additional level of nested
interaction, allowing lower-level users to participate in the analysis and dialogue for the
Exception Alert.
FYI Exception Alerts - This process can alternatively be run if the Exception Alert is
defined simply to broadcast the list of items that have met the criteria for the Exception
Alert. No response is required.
Set View Restriction - By default, when a view is generated or appended as the result of a
business process run, it becomes available to all users of the business area. The Set View
Restriction task enables you to set and remove restrictions on the access that analysts
and other business process administrators have to the view that is generated by a
business process run.
Publish Task - Integrates Oracle Enterprise Planning and Budgeting with Oracle XML
Publisher to generate a custom document and distribute it to specified users. You can
use this task to create and distribute high-level documents for annual reports, directors'
meetings, or quarterly business reviews.
Publish Workflow - Assists in the generation and distribution of the documents to users.
Data Collection Workflow Tasks
Generate Template - This task creates a data collection template and specifies the
distribution method for worksheets generated by the template.
Distribute Template - This task automatically distributes a worksheet that has been
created by a Generate Template task.
Manage Submission - This task moves data for one or more data collection worksheet
templates to the shared Analytic Workspace corresponding to an Oracle Enterprise
Planning and Budgeting business process. The task completes the data collection
process for these templates.
Miscellaneous Oracle Enterprise Planning and Budgeting Workflow Processes
Event Process Will Not Be Initiated - When an event task is deleted, this process finds all
owners of Event business processes that reference the Event task being deleted and
sends them notifications indicating the deletion. An Event task can be directly deleted
or it can be deleted as part of the deletion of an entire business process.
Calculation Synchronization Notification Process - When a user logs on and starts Oracle
Enterprise Planning and Budgeting, this workflow notifies the user if any shared
calculations have been added or removed.
Next Task Process - Manages the transition from one Oracle Enterprise Planning and
Budgeting task, implemented as a workflow, to the next. This process starts the next
task if any tasks are pending, or ends the business process run if all tasks for the
business process are completed.
Start Business Process By Workflow Event (EPB Business Process Scheduler item type) This workflow is called by the external scheduling of business process API, which
allows any valid Oracle E-Business Suite user to start a business process run using a
business process draft that has been defined and made effective in Oracle Enterprise
Planning and Budgeting. This feature allows any application to start a business process
run through its own user interface in order to process its data without requiring users to
log into Oracle Enterprise Planning and Budgeting. It also allows any application to
start a business process run on its own schedule, rather than using one of the schedule
frequencies provided by Oracle Enterprise Planning and Budgeting.
Workflows Supporting the Data Collection Process in the EPB Data Collection Item Type
Manual Distribute Template - Distributes an Oracle Enterprise Planning and Budgeting
worksheet to target users when the manual distribution button is selected. Based upon
the data collection definition at some higher levels, worksheets can be distributed
automatically to target users; however, at lower levels manual distribution is the
available option.
Submission Process - Submits a worksheet for collection and processing after a user
finishes entering data into the worksheet. Based on the definition, the Submission
process can recalculate data, validate against targets, and send notifications for
approval. The process also manages the review of the submitted worksheet based on
the data collection definition. The process sends notifications requiring the target
recipient to approve or reject the worksheet.
Worksheet Approval Process - Sends a notification indicating that the worksheet and data
are approved.
Worksheet Rejection Process - Sends a notification indicating that the worksheet and data
are rejected.
Error Workflow in the Enterprise Planning and Budgeting Workflow Errors Item Type
Enterprise Planning and Budgeting Error - This process is used to manage workflow
exceptions raised in any of the Oracle Enterprise Planning and Budgeting scheduling or
task workflows. This process aborts the current errored workflow, sets a status in
Oracle Enterprise Planning and Budgeting indicating an error condition, and sends a
notification to the user set as the workflow administrator in the WF_ADMINISTRATOR
attribute.
Field Service
Oracle Field Service
Field Service Task Assignment Alerts - This workflow is used to send notifications to the
Field Service technicians for new task assignment, task assignment deletion or
cancellation, and task rescheduling.
Financial Applications
Advanced Global Intercompany System
Advanced Global Intercompany System (AGIS) is a new product in Release 12 and
replaces the Global Intercompany System feature provided by Oracle General Ledger in
Release 11i. AGIS provides an environment for companies to exchange intercompany
transactions.
Intercompany Workflow - The Intercompany workflow process is triggered when the
initiating company submits a transaction to the recipient company. This process
handles the following actions:
Transfers the transaction to Oracle General Ledger if invoices are not required and
the system options indicate that transfer to Oracle General Ledger is online.
Transfers the transaction to Oracle Payables and Oracle Receivables if invoices are
Notifies the initiator company when the recipient company rejects the transaction.
Oracle Collections
Bankruptcy Status - When an account is flagged as bankrupt, several processes begin:
Approval is sent to the specialist or manager (HTML user interface) to work the
bankruptcy, gather details, and determine if the bankruptcy will be pursued. A
bankruptcy strategy is ultimately assigned.
All other items in the case or for that customer (that is, delinquencies) are set to
Bankruptcy.
A No Contact flag is set in TCA for all contacts of the organization, or, in the case of
consumer collections, the No Contact flag is set for the guarantor or co-signer.
party who will review and make the necessary changes to stop invoicing.
The Bankruptcy Status workflow is initiated when a collector (Forms user interface)
creates a new status of Bankrupt for a single delinquency from the Delinquency tab in
Oracle Collections.
Delinquency Current Status Notice - This workflow sends notifications about the status of
a delinquency to the agent and the agent's manager when the status changes. For
example, when the delinquency is closed (that is, when it is considered "current") or
when a new status such as Bankruptcy or Write-Off is created for a delinquency, a
notification is sent to describe the change in status.
Collection Delinquent Credit Hold - A collector can request that a credit hold be placed on
a customer by checking the corresponding check box on the Delinquency tab. A
notification is then sent to the appropriate manager to review and approve or deny the
request. Routing to the appropriate manager for approval is done through the reporting
hierarchies as defined by Oracle Resource Manager. After the request is approved, the
Approval check box on the Delinquency tab is checked so collectors can confirm that
their requests have been approved. The actual setting of a credit hold is a manual
process, however.
Collection Delinquent Service Hold - A collector can request that a service hold be placed
on a customer by checking the corresponding check box on the Delinquency tab. A
notification is then sent to the appropriate manager to review and approve or deny the
request. Routing to the appropriate manager for approval is done through the reporting
hierarchies as defined by Oracle Resource Manager. After the request is approved, the
Approval check box on the Delinquency tab is checked so collectors can confirm that
their requests have been approved.
Notify a Third Party for Repossession - When a specialist assigns a third party organization
to repossess an asset, an e-mail notification is sent to that organization with the details
about the asset or assets, repossession, and other information. The specialist assigns the
third party through the HTML interface.
Delinquency Status Approval - A collector can recommend that various strategies or
statuses should be initiated for a delinquency: repossession, write off or litigation.
(Bankruptcy is handled separately.) However, these statuses require review and
approval by a manager before the corresponding strategy is initiated. The Delinquency
Status Approval workflow is initiated when a collector clicks the New button on the
Delinquency tab, selects a new status, enters the details to start the process, and saves
the new status. The workflow routes the request according to the resource's hierarchy as
defined by the system.
Delinquency Asset Workflow - A specialist can request that an asset valuation be provided
for the assets related to a delinquent case. This workflow sends a notification to the
appropriate manager to review the request, obtain the information and forward it back
to the specialist. The request is initiated on the asset selection window from the
installment is activated
report is due
budget is submitted
Aging Credit Card Transactions - This process notifies employees and managers of
outstanding transactions by aging bucket. The process also escalates manager
notification.
Payment to Card Issuer - This process notifies employees when payments are made to
the credit card issuer.
Payment to Employee - This process notifies employees when payments are made to
them.
Payment to Employee by Check - This process notifies employees when payments are
made to them.
Process Invalid Credit Card Transactions - This process notifies the system
administrator when invalid transactions are detected during the import and
validation process.
Process Unassigned Credit Cards - This process notifies the system administrator
when new credit cards are created. The process also attempts to match new
accounts to employees, and can be defined to automatically activate new accounts if
a unique match is found.
Unused Credit Card Transactions - This process notifies managers and employees of
unsubmitted credit card transactions.
Procurement Cards
The following procurement card workflow processes enable your self-service
employees to verify and approve procurement card transactions.
AP Procurement Card Employee Verification Workflow Process - The AP Procurement Card
Employee Verification Workflow process notifies and confirms procurement card
transactions with card holders. This workflow process is initiated when you submit the
Distribute Employee Card Transaction Verifications program from Oracle Payables. The
process notifies an employee of transactions charged to the employee's procurement
card, and optionally requires the employee's manual verification.
AP Procurement Card Manager Approval Transaction Process - The AP Procurement Card
Manager Approval Transaction workflow process notifies and confirms verified
procurement card transactions with a card holder's manager. This workflow process is
initiated when you submit the Distribute Manager Card Transactions Approvals
program from Oracle Payables. The AP Procurement Card Employee Verification
Workflow process must first complete for transactions before the manager workflow
process is used. The process notifies managers, and optionally requires their manual
approval, of procurement card transactions incurred by employees.
Oracle Payables
AP Open Interface Import Process - This workflow automates verification and validation
of data in the Payables Open Interface invoice tables. For example, this process can be
modified to validate all accounting code combinations in the Payables Open Interface
invoice tables. Notification of any invalid code combinations can be sent to a specified
user for correction. Optionally the process can be set up to override any invalid code
combinations with a designated default value. You can use Oracle Workflow to include
additional workflow rules that meet the specific requirements of a business. Once an
invoice has passed this process it is ready to be imported into the Oracle Payables
application tables. To initiate the Open Interface Import process, submit Payables Open
Interface Workflow from the Submit Requests window.
Invoice Approval Workflow - This workflow routes invoices to designated individuals for
approval. This workflow uses the approval rules that you define in Oracle Approvals
Management (OAM) to determine if an invoice requires approval. If the invoice
requires approval, the workflow sequentially asks each approver on the approval list to
approve the invoice online. For example, you can define a rule so invoices over $100,000
require CFO approval and then CEO approval.
For more information about related workflows in Oracle Internet Expenses, including
expense reports and procurement cards, see Oracle Internet Expenses, page C-15.
freezing a worksheet
unfreezing a worksheet
copying a worksheet
merging a worksheet
submitting a worksheet
Distribute Budget Revision Workflow Process - The Distribute Budget Revision Workflow
Process distributes budget revisions and notifies users that budget revisions have been
distributed. The process is initiated when distributing a budget revision.
Submit Budget Revisions Workflow Process - The Submit Budget Revisions Workflow
Process submits budget revisions. Based on user-defined parameters, the process
performs constraint validations and other budget revision operations. The Submit
Budget Revisions process routes budget revisions through an approval process and
updates the status and baseline values for budget revisions. The process also performs
funds reservation and posts revisions to General Ledger. The process freezes and
unfreezes budget revisions. Notifications are sent to users who initiate a process and to
approvers.
The process is initiated at the following points:
Oracle Receivables
Credit Memo Request Approval Process - This workflow routes a credit memo request for
approval using an organization's internal management hierarchy or approval limits
defined in Oracle Receivables. If the request is approved, a credit memo is
automatically created in Oracle Receivables. Otherwise, the process notifies the
requestor with an explanation of why it was not approved.
You initiate the Credit Memo Request workflow from iReceivables. iReceivables is a
Web-based, self-service application that enables registered users to access their
Receivables account information using a standard Web browser. When an iReceivables
user chooses the Dispute a Bill function, Receivables places the specified amount in
dispute and initiates the Credit Memo Request process to route the request for
approval.
Document Transfer Message Workflow - This workflow creates an XML invoice document
and sends it to your customer. This workflow consists of two item types.
AR Transfer Document item type - In Oracle Receivables, users run the Document
Transfer Scheduling and Document Transfer concurrent programs to send XML
documents. The Document Transfer Scheduling Program schedules transactions for
transmission. The Document Transfer program raises a business event that is
subscribed to by a workflow process, which calls Oracle XML Gateway to create
and transmit the documents.
In addition, Receivables users can receive via Oracle XML Gateway confirmation
messages sent from their customers' payables departments. These messages confirm the
document import statuses. The Receivables program receives the messages and, where
necessary, automatically sends workflow notifications to Receivables users for
exception handling.
AR Credit Management Application Process Workflow - This workflow manages the
collection and analysis of account or prospect credit data, as well as the making and
implementation of credit decisions.
The workflow is started when a credit request is generated, either by a credit event,
such as an order hold, or by the submission of a credit application. The workflow first
tries to automatically complete the credit review process. If, for any reason, a failure
occurs in the workflow functions, then the workflow routes the credit analysis to the
appropriate credit analyst for action.
If an organization requires that credit recommendations be reviewed and approved by
other personnel, then the workflow routes the recommendations through an approval
hierarchy.
Oracle Treasury
Limits Workflow - Oracle Treasury generates an event limit notification if a deal is
recorded that violates one of the rules that you have defined. You can design event
assignments to generate notifications for specific limits violations, such as combinations
of specific deal types, companies, counterparties, and limit amounts.
Enter Appropriation
Re-programming Transactions
When a transaction is submitted for approval, the funds checking process is initiated to
validate that sufficient funding is available. The transaction cannot be approved if it
fails funds checking. A transaction must be approved before it can be transferred to
General Ledger.
Higher Education
Oracle Student System
Oracle Student System includes workflows for academic records, admissions, advising,
enrollment, financial aid, program structure and planning, student finance, and system
wide services.
Academic Records
Attendance Submission Notification - Notifies the lead instructor of a unit section that
attendance for the unit section is submitted. This workflow is triggered from the
Review Attendance Self Service page.
Change Grade Request - Notifies the user who initiated a change of grade request and
seeks resolution of the change of grade request for final and early final grading periods
from the lead instructor of the unit section. This workflow is triggered from the Review
Change of Grade Self Service page for final and early final periods.
Grade Submission Notification - Notifies the lead instructor of a unit section that final
grades for the unit are submitted. Institutions are allowed to customize only the
SELECT_APPROVER process of the Grade Submission and Change of Grade
workflows to satisfy their specific needs. The remaining steps of the workflow must
remain unchanged. This workflow is triggered from the Review Enter Grade Self
Service page.
IGS Degree Audit - Delivers the XML document to the trading partner taking advantage
of Oracle XML Gateway callback functionality. The callback feature allows the
messaging system, Oracle Transport Agent, to report the message delivery status back
to the workflow process that initiated the message creation. If the delivery fails, a
notification is sent to the System Administrator defined in Oracle XML Gateway.
Inform Instructor about Assessment Item Grades Release to Student - This workflow is
triggered by a business event.
Inform Instructor That Unit Section Grades Have Been Submitted - This workflow is
triggered by a business event.
OSS: Missing Academic Record Transcript Production - Notifies the student when an
administrator manually updates the details of a completion date of a missing academic
records transcript. This workflow is triggered when an administrator manually updates
the details of a completion date of a missing academic records transcript.
OSS: Notify About Missing Academic Record - Notifies the administrator about missing
academic records when a transcript request is placed by a student or by an
OSS: Research Topic Modification - This workflow is triggered when a research topic is
entered, changed, or approved. The workflow notifies students and administrators of
changes to research topics.
OSS: Thesis Topic Creation - This workflow is triggered when a thesis topic or title is
entered, changed, or approved, which occurs when an administrator enters or changes
the information for the thesis topic or title and saves the changes. The workflow notifies
students and administrators of changes to thesis topics.
Thesis Exam - This workflow is triggered when the Thesis Exam business event is raised.
The workflow notifies the student, the student's supervisors, and an administrator
when the thesis has been submitted or resubmitted for the research candidacy.
Thesis Result - This workflow is triggered when the Thesis Result business event is
raised. The workflow notifies the student, the student's supervisors, and an
administrator of a change in the thesis result for the research candidacy.
Financial Aid
CommonLine Loan Guarantee Amount Difference - Sends a notification when the FFELP Upload Origination Acknowledgments request set is run and the school receives a
response with a guarantee amount or approved amount that is different from the loan
amount (award amount accepted).
CommonLine Loan School Certification Request - Sends a notification when the school
receives a response containing a school certification request while running the FFELP Upload Origination Acknowledgments request set. School certification requests are
issued to the school for certifying loan applications initiated outside of the system.
CPS Pushed ISIR Processing - Sends a notification when the Central Processing System
(CPS) pushes an Institutional Student Information Record (ISIR) to the school for
financial aid processing and the student's verification process is complete.
Document for a To Do Item Received - Sends a notification when a student uploads a
document for a To Do Item in Student Self Service.
Financial Aid Institutional Application Submitted - Sends a notification when a student
submits a Financial Aid Institutional Application in Student Self Service.
Financial Aid To Do Item Completed - Sends a notification when a student completes a To
Do Item in Student Self Service.
FISAP Part II and Part VI HTML Report - Sends a notification when the FISAP (Fiscal
Operations Report and Application to Participate) process is run for an award year. The
workflow generates the report in HTML format and sends it to the user as a
notification.
ISIR Import Person Demographic Data Change - Sends a notification when a person's
demographic data is updated as a result of the importing of an Institutional Student
Information Record (ISIR). The notification highlights these updated attributes: Social
Security Number, First Name, Last Name, Gender, Date-of-Birth, Email Address,
Address, City and Postal Code.
Set or Release External Hold - Third party software or an external system can raise an
Oracle Student System designated business event to insert or update a hold type into
Oracle Student System. This workflow is triggered by third party software to apply or
release an external hold.
HRMS Applications
Oracle Federal Human Resources
GHR Personnel Action Process - Enables the routing of the Request for Personnel Action
(RPA) Form for data entry, signature, and review before the final approval and update
to the database. Based on the agency's practices, the user can route the RPA to an
individual, groupbox, or routing list within the routing group. As the RPA is routed,
the system maintains a history of actions. By referring to the history, users can learn
what action was taken, by whom, and on what date.
GHR Position Description Process - Enables the routing of the Position Description form
for data entry, signature, review and classification. Based on the agency's practices, the
user can route the Position Description form to an individual, groupbox, or routing list
within the routing group. As the Position Description form is routed, the system
maintains a history of actions. By referring to the history, users can learn what action
was taken, by whom, and on what date.
GHR Within Grade Increase Process - Enables the automatic processing of Within Grade
Increase (WGI) actions without any manual intervention. The default WGI process
automatically notifies the Personnel Office of the WGI approval and requires no
response. WGI process can be configured during implementation in many ways based
on the agency's practices.
Oracle iRecruitment
iRecruitment (IRC_WF) - Manages general notifications in Oracle iRecruitment.
Notifications are sent when certain actions occur in Oracle iRecruitment, for example,
when a manager refers a candidate to another manager or when a candidate registers
with Oracle iRecruitment.
iRecruitment Offer Processes (IRCOFFER) - Enables managers and recruiters to use the
offers functionality. Using this workflow, managers can:
The workflow also enables applicants to respond to offers online. Applicants can either
Employees apply for jobs on behalf of candidates using the Employee Referral
function.
Managers plan and change the interview status. iRecruitment also sends
notifications when primary interviewers update interviews with their feedback.
approval
notification
The Effort Report Notification workflow process is initiated in Labor Distribution when
an effort report is created.
Notification is sent to approvers of the effort report. When the effort report is approved,
the effort report is sent to a supervisor for certification. The creator of the effort report
can monitor the status of the effort report.
Distribution Adjustment Approval Notification Process - Workflow functionality in Labor
Distribution automatically routes distribution adjustments approval notifications
throughout the organization and delivers electronic notifications to users regarding
distribution adjustments that require their attention or processes that are completed.
The process is initiated when a distribution batch is submitted.
Enroll in a Class
If enrollment cancellation occurs too close to the class, cost transfer can take
place, charging the customer for the enrollment
If a class is cancelled too close to its scheduled date, reminds class owner to
move enrollees to waitlist manually
External Learning
Notifies a learner that the record of their attendance in a specific event has been
recorded, updated, or deleted
Competency Update
Enables invoicing from the order line only after the student has completed the
class
Notifies class owner of enrollment or order line cancellation, and can enroll
students from the waiting list
Notifies class owner when the maximum number of class attendees has
increased
Notifies class owner when a customer has switched enrollments from one class
to another
Instructors
Test results
Evaluation
Mandatory enrollments
Forum postings
Oracle Payroll
Payroll Process Workflow - Enables you to complete the entire individual payroll process
by submitting a single request. The Payroll Process Workflow brings together Batch
Element Entry, RetroPay, the Payroll Run, Payroll Reporting, Checkwriter, NACHA,
Deposit Advice, and Costing. You run the Payroll Process Workflow from the Submit
Request window.
Canadian Payroll Process Workflow - Enables you to complete the entire individual
Canadian payroll process by submitting a single request. This workflow brings together
Batch Element Entry, RetroPay, the Payroll Run, Payroll Reporting, Chequewriter,
Deposit Advice, and Costing. You run the Payroll Process Workflow from the Submit
Request window.
Korean Payroll Process Workflow - Enables you to complete the entire individual Korean
payroll process by submitting a single request. This workflow brings together Batch
Element Entry, RetroPay By Element, the Payroll Run, Prepayments, Bank Transfer,
Payslip Archive, Payslip Reporting, and Costing. You run the Payroll Process Workflow
from the Submit Request window.
Approval Initialisation
Approved Process
OnApproval Validation
Rejected Process
If a user has been added to an event (Event & Bookings: Added to an Event)
If a user has been designated the internal contact for an event (Event & Bookings:
Notify Internal Contact)
If a user has been removed from an event (Event & Bookings: Remove from an Event)
Hire or Placement
French Hire
HR Background Cleanup Process - This process removes workflow processes that are left
running if a system crashes or if a user ID is disabled or removed.
JP Commutation Information - In Japan, most companies pay employees the required
expense for commuting to the office, which is commonly known as Commutation
Allowance. This module supports the use of approval process, which is enabled by the
common Review page function and some other common functions of the SSHR
workflow definition (HRSSA.wft).
Manage Employment Events Processes - SSHR includes several workflows to enable SSHR
managers to perform Manage Employment Events transactions. For example, a
manager can change the location, pay, or working conditions for an employee or
contingent worker. The delivered workflows enable you to change the following
information for an employee or contingent worker, either individually or as a
combination:
Assignment
Cost Center
Hours
Job
Location
Manager
Pay
Role
The Manage Employment Events processes are built so that you can combine particular
sets of pages and build a process with or without approval and with specific sequence
of functions to control the page navigation.
New Employee Registration Processes - These processes combine to enable a new employee
to register and enter personal and other information using SSHR. The new user can also
create a new user name and password for SSHR. The processes include:
Personal Information
Basic Details
Contacts
Phone Numbers
Professional Information
Competences
Professional Awards
Process Payroll Payments Process - This process controls the Manage Payroll Payments
function which an employee can use to determine how a salary is paid. If the user
changes the payment method, SSHR calls the Change Payment Method Process.
Release Information for Transfer - This process enables a SSHR user to use the Release
Employee Information function to share information about themselves with another
user, often a manager, who would not usually have access to their records. Similarly, a
manager can use this function to share information about one of their employees or
workers with a second manager.
Return for Correction Process - This workflow process enables an Oracle Self-Service
Human Resources user to return a transaction to the initiator for correction. This
process is introduced in Oracle Self-Service Human Resources version 5 and controls
notifications if they are returned for correction.
Self Service Generic Approval Process (HR_GENERIC_APPROVAL_PRC) - This approval
process supplied by Oracle Self-Service Human Resources is used across HRMS
products such as Oracle iRecruitment, Oracle Training Administration, Oracle Talent
Management (Appraisal), and others, as well as by Oracle Self-Service Human
Resource. The Self Service Generic Approval Process provides extensive capability
including the features delivered through the Notification Process for Approvers and
Notifiers. This generic approval process can be invoked directly from BC4J Java code by
passing mandatory attributes for AME callback. Also it provides callbacks for dynamic
notification message subject generation with product specific-callbacks.
Self-Service HR Standard Error Process - This workflow process is triggered if a system
error occurs. The workflow generates a notification to the SSHR Administrator to
inform them of the system error.
Tax Processes
Employee W2 Process (US) - This process enables a user to view tax information
using SSHR. If the user requests a paper copy of the information, the workflow
generates a notification for the HR or Payroll Representative to inform them of the
request.
Training Enrollment Processes - The training enrollment processes enable users to search
for training, enroll in a training offering, and cancel training. If appropriate, you can
configure the processes to enable approvals by a manager or another person, for
example, an HR administrator. The processes are:
Enroll in Training
External Training
Leasing
Oracle Lease Management
OKL CS Equipment Exchange - The workflow is used for Equipment Exchange Requests
to update equipment details after receiving necessary approvals: 1. Notify Rejection of
Equipment Exchange; 2. Notify to follow up with Customer about Temporary
Exchange; 3. Notify modify contract for equipment exchange request. The workflow is
initiated from the Requests tab.
OKL CS Transfer Assumption Request - The workflow is used for Transfer and
Assumption Requests to notify the Contract Administrator after receiving necessary
approvals: 1. Received Customer Approval? 2. Received Vendor Approval? 3. Notify
Credit Departments. 4. Notify Collections for Approval. 5. Notify administrator to
restructure contract. The workflow is initiated from the Requests tab.
OKL CS Billing Correction Request - The workflow is used for Billing Correction Requests
to notify the Contract Administrator to approve billing correction requests. The
workflow is initiated from the Transactions tab.
OKL CS Billing Refund Request - The workflow is used for Billing Refund Requests to
notify the Contract Administrator to approve billing refund requests. The workflow is
initiated from the Account tab.
OKL CS Convert Interest Type - The workflow is used to convert Interest Requests to
notify the Contract Administrator of changes in the interest type from Lease Center. The
workflow is initiated from the Structure tab.
OKL CS Contract Lease Renewal - The workflow is used for Renewal Quotes to notify the
Contract Administrator to approve contract lease renewals: 1. Notification for Lease
Renewal; 2. Notification for Lease Renewal Rejection. The workflow is initiated from
the Requests tab.
OKL Stream Generation - Outbound - The workflow is used to initiate the outbound XML
Pricing Engine transaction for Stream Generation: 1. Receive raised Business Event to
send the outbound XML document; 2. Call XML Gateway API to check for validity of
the generated XML document; 3. Report error, if applicable; 4. Call XML Gateway API
to send the document to the Pricing Engine server. The workflow is initiated from the
Stream Generation Process.
OKL Stream Generation - Inbound - The workflow is used to manage the inbound XML
Pricing Engine transaction for Stream Generation: 1. Capture the Business Event for
inbound XML message; 2. Process the streams returned by the Pricing Engine server.
The workflow is a continuation of the Stream Generation Process.
OKL - INS Gather Third Party Insurance Information - The workflow creates a task to
gather third-party information when a customer fails to provide insurance proof by the
due date and the lessor cannot sell insurance. The workflow is initiated from the
insurance placement process.
OKL Account Generator - You can use this workflow to generate account combinations
instead of the seeded sources. The workflow is initiated from the Accounting Engine.
OKL - AM: Approve Contract Portfolio - The workflow routes a contract portfolio for
approval. The workflow is initiated from Contract Portfolio.
OKL - AM: Notify Contract Portfolio Execution - The workflow notifies the Remarketer
(Assignment Group) contract portfolio execution. The workflow is initiated from
Contract Portfolio.
OKL - AM: Approve Restructure - The workflow routes a restructure for approval. The
workflow is initiated from Restructure Quote.
OKL - AM: Shipping Instructions - The workflow is used to notify the lessee of shipping
instructions for an asset. The workflow is initiated from Communicate Quote.
OKL - AM: Notify Internal Transport Department - The workflow is used to notify the
internal transport department of the shipping details for an asset when the lessee
accepts the transport management option. The workflow is initiated from Communicate
Quote.
OKL - AM: Send Quote - The workflow is used to notify the requestor of an Asset Quote.
The workflow is initiated from Communicate Quote.
OKL - AM: Repurchase Acceptance - The workflow informs users of the acceptance of a
Repurchase Quote. The workflow is initiated from Quote Acceptance.
OKL - AM: Termination Quote Acceptance - The workflow informs users of the acceptance
of a Termination Quote (Pre-Proceeds Termination Quote, Post-Proceeds Termination
Quote). The workflow is initiated from Quote Acceptance.
OKL - AM: Restructure Quote Acceptance - The workflow informs users of the acceptance
of a Restructure Quote. The workflow is initiated from Quote Acceptance.
OKL - AM: Notify Remarketer - The workflow informs the remarketing team of a new
asset assignment. The workflow is initiated from Asset Return.
OKL - AM: Notify Collections - The workflow informs the collections agent of updates on
returns in the case of a Repossessed Asset. The workflow is initiated from Asset Return.
OKL - AM: Notify Repossession Agent - The workflow informs the external repossession
agent of a new repossession request. The workflow is initiated from Asset Return.
OKL - AM: Asset Repair - The workflow routes asset repair requests for approval. The
workflow is initiated from Asset Condition.
OKL - AM: Request Title Return - The workflow requests the third party titleholder to
return the title on expiration of the contract. The workflow is initiated from
Remarketing.
OKL - AM: Remarketing Order Cycle - The workflow defines the order cycle in Order
Management for remarketed assets. The workflow is initiated from Remarketing.
Credit Application Request - The workflow notifies the Lease Credit Approver to approve
the recommendation. The workflow is initiated from Credit Management's
recommendation business event.
Lease Funding Approval - The workflow is used to obtain approvals required for funding
request approval. The workflow is initiated from the Funding Request submit button.
Lease Contract Booking Approval - The workflow is used to obtain approvals required for
contract booking and activation. The workflow is initiated from the Approval button in
Authoring.
OKL - AM: Notify Internal Transport Department - The workflow notifies the Transport
Department when the lessee accepts the transport management option. The workflow is
initiated from the shipping instruction.
OKL - AM: Notify Manual Termination Quote Request - The workflow notifies the
representative of a manual termination quoting request. The workflow is initiated from
the manual termination quote.
OKL - AM: AM Service Contract Integration - The workflow initiates Service Contract
Integration. The workflow is initiated from the asset return.
1.
Notify linked lease on asset return. The workflow is initiated from the asset
disposal.
2.
Notify linked lease on asset disposal. The workflow is initiated from the
termination and billing.
3.
Notify termination and subsequent contract billing. The workflow is initiated from
the delinking at termination.
4.
Notify delink and termination. The workflow is initiated from the termination.
5.
Notify delink error and termination. The workflow is initiated from the Transaction
tab.
OKL: CS Credit Memo - The workflow is used for getting approval before processing
credit memos, with a notification for approving Credit Memo Request. The workflow is
initiated from the Transaction tab.
OKL: Customer Service Principal Paydown - The workflow is used to send notifications
about Principal Paydown, with a notification for Contract Rebook after paydown. The
workflow is initiated from the Request tab.
OKL - SS: Request Termination Quote - Sends a notification to the Lease Center Agent that
a quote has been requested. The workflow is initiated in Customer Self Service when a
user creates a termination quote.
OKL - SS: Make a Payment - Sends a notification to the Lease Center Agent that a
payment was made. The workflow is initiated in Customer Self Service when a user
makes a payment.
OKL - SS: Request Repurchase Quote - The workflow creates a repurchase quote for the
contract and sends out a notification for approval. The workflow is initiated in
Customer Self Service when a user creates a repurchase quote.
OKL - SS: Cancel Insurance - Sends a notification to the Lease Center Agent that a policy
has been cancelled. The workflow is initiated in Customer Self Service when a user
cancels an insurance policy.
OKL - SS: Update Serial Number - The workflow sends out an approval notification and
updates the serial number of the asset if approved, and sends a notification to requestor,
whether the workflow is approved or declined. The workflow is initiated in Customer
Self Service when a user requests a serial number update.
OKL - SS: Update Asset Location - The workflow sends out an approval notification and
updates the location of the asset if approved, and sends a notification to requestor,
whether the workflow is approved or declined. The workflow is initiated in Customer
Self Service when a user requests an asset location update.
OKL - SS: Request Billing Change - The workflow sends out an approval notification and
updates billing information of the contract if approved, and sends a notification to
requestor, whether the workflow is approved or declined. The workflow is initiated in
Customer Self Service when a user requests a billing change.
OKL - SS: Submit Third Party Insurance - If the insurance company does not already exist,
the workflow sends out a notification to create a new party. The workflow creates an
insurance policy once the notified user inputs the new party ID into the notification.
The workflow is initiated in Customer Self Service when a user submits information on
a new provider or when a user submits insurance policy details.
OKL - SS: Request For Invoice Format Change - The workflow sends out an approval
notification and updates the invoice format if approved. The workflow sends a
notification back to the user with the approval decision. The workflow is initiated in
Customer Self Service when a user requests an invoice format change.
OKL - SS: Claim Notification - Sends a notification to the Lease Center Agent that a claim
has been created. The workflow is initiated in Customer Self Service when a user
submits a new insurance policy claim.
OKL - SS: Asset Return -The workflow notifies another user (the role selected in a setup
step) to create a new asset return request. The workflow is initiated in Customer Self
Service when a user submits a request for asset return.
OKL - SS: Request Renewal Quote - The workflow notifies the Lease Center Agent that a
new renewal quote has been created. The workflow is initiated in Customer Self Service
when a user creates a renewal quote.
OKL: Collections Approve Refund - The workflow is used to approve a vendor refund. The
workflow is initiated from the Request Details.
OKL: Collections Approve Cure Request - The workflow is used to approve a Cure
Request. The workflow is initiated when a user accepts a lease quote payment plan.
OKL - SO: Quote Acceptance - The workflow notifies another user that the quote payment
plan has been accepted.
OKL - SO: Payment Plan Approval - The workflow routes the payment plan for approval.
The workflow is initiated when the user submits a payment plan for approval.
Logistics
Oracle Inventory
INV: Move Order Approval - Sends notifications and reminders to approvers for approval
of move orders, and sends notifications of the proposed move to requesters and people
on the notification list associated with the subinventories.
Material Shortage Message - Sends a notification to planners every time a receipt
transaction is done for an item with material shortages. The workflow notification will
be initiated from a concurrent program that checks all material transactions that have
been marked by the transaction manager.
Lot Expiry/Retest Workflow - Sends a notification to a user at a defined number of days in
advance of lot expiration and retest dates. Without this workflow the expiration or
retesting of a lot is not visible to the user without a query for the expiration and retest
information. The Lot Expiry/Retest Workflow gives the approver this visibility by
notifying the approver the defined number of days in advance of the expiration and
retest date.
Item Activation E-Record - Sends notifications to approve newly created items before
changing their status to an approved inventory status. The workflow is initiated from
the Approve Item from the OPM Item Master window. The workflow notifies the
individual who needs to approve the item's creation and calls for e-signatures using
Oracle E-Records. The item becomes active if it is approved. The item remains inactive
if it is not approved. Item properties cannot be modified if the workflow approval is
pending for an item.
Cycle Count - Requests a cycle count on a location with a quantity discrepancy and
then send out a notification.
Maintenance Applications
Oracle Enterprise Asset Management
Isolation Approval Workflow - If this workflow is enabled within the Enterprise Asset
Management parameters (Enable Workflow for Safety check box), this approval
workflow is initiated when a user changes the status of isolation to Released.
Work Clearance Approval Workflow - If this process is enabled within the Enterprise Asset
Management parameters (Enable Workflow for Safety check box), this approval
workflow is initiated when the user changes the work clearance status to Released.
Work Order Approval Workflow - If this workflow is enabled within the Enterprise Asset
Management parameters (Enable Workflow for Work Orders check box), this process is
initiated when a work order is created, released for approval, completed, status is
changed, and operations are completed.
Work Permit Approval Workflow - If this workflow is enabled within the Enterprise Asset
Management parameters (Enable Workflow for Work Orders check box), this approval
workflow is initiated when the work permit creator associates the work permit with a
work order, completes entry and moves the status to Approval Pending.
Manufacturing Applications
Discrete Manufacturing
The Discrete Manufacturing product family includes the following workflows.
Oracle Cost Management
Account Generation Extension - The Account Generation Extension workflow is designed
to provide a graphical user interface to the Client Extension. The workflow enables you
to specify the accounts for distribution based on the type of transaction or to define
your own business functions to generate the desired accounts. The Account Generation
Extension workflow is called from the Account Generator Client Extension.
Oracle Engineering
Engineering Change Orders Process - Submits an engineering change order to the
appropriate people for approval.
Change Line Workflow Routing Step - This process is made up of several specific workflow
processes, each of which is activated when assignees complete a particular step in the
Change Line Workflow Routing process. The specific workflow processes include:
Request Response - Sends a Change Line Level notification to the specified assignees
for sharing the documents as Change Line Attachments. It also automatically
provides document access to the assignees.
FYI - Sends an FYI notification to the specified assignees on the Workflow Routing
page. Once the step is completed, the workflow returns control to the parent
Workflow Routing Agent workflow. This workflow is started from the Workflow
Routing Agent based on the definition of the workflow routing.
Document Lifecycle Workflow Routing Step - This process is made up of several specific
workflow processes, each of which is activated when assignees complete a particular
step in the Document Lifecycle Workflow Routing process. The specific workflow
processes include:
Workflow Routing Agent workflow. This workflow is started from the Workflow
Routing Agent based on the definition of the workflow routing.
FYI - Sends an FYI notification to the assignees specified on the Workflow Routing
page. Once the step is completed, the workflow returns control to the parent
Workflow Routing Agent workflow. This workflow is started from the Workflow
Routing Agent based on the definition of the workflow routing.
Workstation exceptions.
Process Manufacturing
The Process Manufacturing product family includes the following workflows.
Oracle Process Manufacturing (OPM)
Oracle Process Manufacturing components include the following workflows.
Using Oracle Order Management with Process Inventory
Sales Order Batch Reservations - The Sales Order Batch Reservations workflow sends
notifications to the Customer Service Representative for changes in the production
warehouse, quantity, completion date of the batch, and batch status.
OPM Product Development
Product Development Status Approval Workflow - When you activate the Product
Development Status Approval Workflow, formulas, routings, recipes, validity rules,
and operations require a series of approvals that result in reassigning their statuses
through a predefined approval process. The workflow presents each approver with an
electronic notification so action can be taken online. Laboratory Approval is optional in
this workflow.
If the workflow is enabled, then formulas, routings, recipes, validity rules, and
operations use the following statuses:
Approved for Laboratory Use - The status changes to Request Approval for
Laboratory Use until all approvers have accepted, at which time the status changes
to Approved for Laboratory Use.
Approval for General Use - The status changes to Request Approval for General
Use until all approvers have accepted, at which time the status changes to
Approved for General Use.
If the status is Approved for Laboratory Use, then you can only use formulas, routings,
recipes, validity rules, and operations in laboratory batches and cost rollups for
laboratories.
If the status is Approved for General Use, then you can use formulas, routings, recipes,
validity rules, and operations in production batches and cost rollups.
OPM Quality Management
certain test. Each tester for a given sample in process receives a notification for the
expected test result.
Sample Disposition Notification - Prompts for assignment of the final disposition for a
sample once testing has completed. The sample disposition can be changed to accepted,
accepted with variance, or rejected when all tests (if required by the associated
specification) have recorded results that have been evaluated and finalized.
Composite Results Notification - Asks you whether to composite the results across a set of
samples within the same sampling event. This workflow is initiated when testing of all
the samples in a sampling event (based on the number of samples required by the
sampling plan) is complete and each sample has a final sample disposition. The
notification provides a link to the Composite Results window, where information about
the sampling event is populated.
Sample Group Disposition Notification - Notifies you that the sampling event requires a
final disposition, based on the number of samples required by the sampling plan. This
workflow is launched when all the samples within a sampling event have a final
disposition of accept, accept with variance, reject, or cancel.
Spec Status Change Approval Notification - The Spec Status Change Approval Notification
workflow notifies the contact person when the specification status has changed. The
workflow is activated for processing the status change. Typically, workflow approval is
activated for status changes to Approved for Lab Use and Approved for General Use.
The other statuses can be processed without requiring workflow approval.
Spec Customer Validity Rule Status Change Approval - The Spec Customer Validity Rule
Status Change Approval Notification workflow notifies the contact person when the
customer specification validity rule status has changed. The workflow is activated for
processing the status change. Typically, workflow approval is activated for status
changes to Approved for Lab Use and Approved for General Use. The other statuses
can be processed without requiring workflow approval.
Spec Inventory Validity Rule Status Change Approval - The Spec Inventory Validity Rule
Status Change Approval Notification workflow notifies the contact person when the
inventory specification validity rule status has changed. The workflow is activated for
processing the status change. Typically, workflow approval is activated for status
changes to Approved for Lab Use and Approved for General Use. The other statuses
can be processed without requiring workflow approval.
Spec Supplier Validity Rule Status Change Approval - The Spec Supplier Validity Rule
Status Change Approval Notification workflow notifies the contact person when the
supplier specification validity rule status has changed. The workflow is activated for
processing the status change. Typically, workflow approval is activated for status
changes to Approved for Lab Use and Approved for General Use. The other statuses
can be processed without requiring workflow approval.
Spec WIP Validity Rule Status Change Approval - The Spec WIP Validity Rule Status
Change Approval Notification workflow notifies the contact person when the WIP
specification validity rule status has changed. The workflow is activated for processing
the status change. Typically, workflow approval is activated for status changes to
Approved for Lab Use and Approved for General Use. The other statuses can be
processed without requiring workflow approval.
Spec Monitoring Validity Rule Status Change Approval - The Spec Monitoring Validity Rule
Status Change Approval Notification workflow notifies the contact person when the
monitoring specification validity rule status has changed. The workflow is activated for
processing the status change. Typically, workflow approval is activated for status
changes to Approved for Lab Use and Approved for General Use. The other statuses
can be processed without requiring workflow approval.
Sample Group Rejection Notification - The Sample Group Rejection Notification workflow
notifies the contact person that either a monitoring sample group or a stability study
time point sample group is rejected.
Stability Study Change Status Notification - The Stability Study Change Status Notification
workflow notifies the study owner of status changes in the stability study. The process
of changing status from New to a status of Completed involves a series of workflow
notifications. Oracle E-Records operates with this workflow to enforce the stability
study status control business rules. The cancellation of a stability study is also
controlled by the workflow.
Stability Study Lot/Sublot Sample Notification - When the stability study is approved, and
specific lots or sublots of the item to be tested exist, then the Stability Study Lot/Sublot
Sample Notification workflow notifies the stability study contact person to obtain
samples for all required material sources. In the notification, the contact person is
designated to draw and store the specified samples, and to update the sample records
accordingly.
Stability Study Batch Creation Notification - When the stability study is approved, and
specific lots or sublots of the item to be tested do not exist, then the Stability Study
Batch Creation Notification workflow notifies the stability study contact person to
request that a batch be created for the study.
Stability Study Testing - The Stability Study Testing workflow is a master workflow that
governs the Stability Study Time Point Scheduling Notification workflow, and the
Stability Study Late Time Point Scheduling Notification workflow. This workflow runs
as a background process to monitor for any time point test that requires a workflow
notification, or a late workflow notification. The workflow raises the appropriate event
for either scheduled or late time point tests.
If the stability study is canceled or the scheduled time point testing date changes, then a
workflow API manages the situation. The sample group disposition is changed from a
status of Retained to a status of Pending, and the sample pull dates are updated.
Stability Study Time Point Scheduling Notification - The Stability Study Time Point
Scheduling Notification workflow notifies you to pull samples for time point testing.
The notification considers the required leadtime, and it requests you to change the
disposition of a time point sample from Retained to Pending. When the sample
disposition is changed to Pending, tests are scheduled. If the test is not performed
within the grace period, then the OPM Quality Stability Study Testing master workflow
raises a separate event that indicates the test is overdue.
Stability Study Late Time Point Scheduling Notification - The Stability Study Late Time
Point Scheduling Notification workflow notifies you that a test is overdue. The
notification considers the required grace period, and uses the OPM Quality Stability
Study Testing master workflow to raise a separate event to indicate the test is late.
Quality UOM Conversion Notification - The Quality UOM Conversion Notification
workflow notifies the contact person that a new or revised lot-specific UOM conversion
is recommended based on quality results. A link to the Item Lot/Sublot Standard
Conversion window in the OPM Inventory Control application is provided. This link
does not operate unless a lot number is assigned on the quality sample.
Oracle E-Records
Oracle E-Records Individual Approval Notification - For all deferred e-signatures, the
requestor receives a notification after each initiated e-signature of the event.
Oracle E-Records E-Signature Reminder Notification - Signers can receive reminder
notifications that there are e-records awaiting their e-signatures.
Oracle E-Records Timeout Notification - An e-record requestor is notified when an
e-record event times out when an e-signature is not received in the allotted period of
time.
Oracle E-Records Rejection Notification - All signers and the requestor receive notifications
when a rejection signature is entered for an associated e-record event.
Oracle E-Records Stylesheet Upload Notification - When all approvals have been captured
for a new or updated E-Record style sheet file, the style sheet is automatically uploaded
to the style sheet repository. A notification is sent to the requestor.
Oracle E-Records File Approval - Uploaded files can be routed for approval and
e-signatures. This event is initiated from the Oracle E-Records File Upload window by
clicking the Send for Approval button.
Oracle E-Records Transaction Configuration VariableCreate/Update - The settings for Oracle
E-Record transaction defaults are defined and set here. Enabling these events requires
that e-Records and e-Signatures are captured before updates are saved. The new or
updated data is not committed to the database unless all of the required signatures are
obtained while the E-Signature window displays.
Oracle E-Records Rule Configuration Variable Create/Update - The settings for Oracle
E-Record transaction rules are defined and set here. Enabling these events requires that
e-records and e-signatures are captured before updates are saved. The new or updated
data is not committed to the database unless all of the required signatures are obtained
while the E-Signature window displays.
Order Management
For detailed information about Order Management (Oracle Configure to Order, Order
Management, and Shipping Execution) workflows, see the Oracle Order Management
Using Oracle Workflow in Oracle Order Management guide.
Procurement
Oracle CLM Purchasing
Requisition Approval Process - This is the approval workflow for requisitions. Requisition
amendments for purchase requisitions also use this workflow for the approval process.
PO Approval Workflow Using AME - This workflow is used in the approval process for
the following CLM documents: Awards, IDVs, and Modifications.
PO Concurrent Modifications Notification - This workflow is used to send notifications
from one user to other user(s) when the same Award or IDV is updated by more than
one user concurrently.
PALT Assignment Workflow - This workflow handles workload assignments. The
workflow also notifies buyers of re-assignment actions.
Oracle iProcurement
For a complete list of Oracle iProcurement workflows, see the Oracle iProcurement
Implementation Guide.
Receipt Confirmation Process - Sends receipt notifications to requestors, informing them
that they should have received their order. This process is also known as the PO
Confirm Receipt workflow.
Requisition Approval Process - Submits a requisition created from Web Requisitions to the
appropriate managers for approval and updates the status of the requisition.
Oracle Purchasing
For a complete list of Oracle Purchasing workflows, see the Oracle Purchasing User's
Guide.
Procurement Workflow - The Procurement Workflow is a lights-out, hands-off transaction
processing system that is truly flexible and extensible to all members of your supply
chain. It is one of the key enablers in the shift towards more strategic sourcing and
procurement activities. It consists of the Document Approval, Automatic Document
Creation, Change Orders, Account Generation, Send Notifications, Price/Sales Catalog
Notification, and Receipt Confirmation (used only by Self-Service Purchasing)
workflow processes.
Document Approval Process - Performs all approval related activities in Oracle
Purchasing. These include, but are not limited to, document submission, approval,
forwarding, approval notifications, and rejection. This includes the PO Approval
workflow process for approving purchase orders and the PO Requisition Approval
workflow process for approving requisitions.
Automatic Document Creation Process - Automatically creates standard purchase orders
or releases against blanket agreements using approved purchase requisition lines, if the
requisition lines have the required sourcing information. This process is also known as
the PO Create Documents workflow.
Change Orders Process - Allows you to control which changes require a manual
reapproval and which will be automatically reapproved. All reapproved documents,
either manual or automatic, will result in the document revision being incremented.
This process is part of the PO Approval workflow.
Send Notifications Process - Looks for documents that are incomplete, rejected, or in need
Oracle Sourcing
Negotiation Approval - The negotiation approval is initiated when a buyer submits a
negotiation for approval before publishing the negotiation to suppliers. This process
sends approval notifications to collaboration team members designated as the
document approvers.
Sourcing Negotiation - This workflow is the main process that keeps track of the
negotiation status and sends notifications related to the negotiation invitations,
negotiation cancellation, round modifications, and amendments.
Supplier Response Disqualification - The supplier response disqualification process is
initiated when a response is disqualified by a buyer. All the participating supplier users
are notified about this disqualified response.
Award Approval - The sourcing award approval workflow is initiated when a negotiation
is submitted for award approval. This process tracks and routes the approvals based on
the approver list generated by AME.
Sourcing Auction Awarded - The sourcing auction awarded process is initiated when a
negotiation award is finalized. All the participating supplier users are notified about the
award decisions.
Sourcing Complete Auction - The sourcing complete auction process is initiated when a
purchasing document creation process is completed. This process notifies the buyer
user about the outcome of the purchasing document creation process.
Sourcing Concurrent Program Processing - The sourcing concurrent program process is
initiated when processing related to the concurrent program for a super large
negotiation is completed. This process notifies the initiator about the outcome of the
concurrent program.
Business Event Notification - This is a notification workflow for business events. This
workflow contains the following process.
EGO Business Event Notify - This notification workflow starts when EGO
business events are raised. It sends a notification to the assignee containing the
business event details for the business events that are raised.
Send Response FYI - This process is called when the recipient responds to the
request notification in the Request Comment workflow process.
Status Change - Sends a status change notification to the Requestor, Owner, and
Assignee for a change. This workflow is started when users change the status
for a Change Object.
Change Line Action Process - This process is made up of several specific workflow
Status Change Line - Sends a status change notification to the Header Requestor,
Header Owner, Header Assignee, Line Owner and Line Assignee. This
workflow is started when a user changes the status for a Change Line.
Change Workflow Routing Process - This process starts the Workflow Routing Agent
Process, which controls Workflow Routing and sends an Approval Status change
notification to the Requestor, Owner, and Assignee for a Change. This workflow is
started when a user submits a Workflow Routing for a Change Object, and it
controls the progression of the routing from step to step. Also this workflow is
aborted when a user aborts a Workflow Routing.
Change Workflow Routing Step Process - This process is made up of several specific
workflow processes, each of which is activated when assignees complete a
particular step in the Change Workflow Routing process. The specific workflow
processes include:
Projects
Oracle Project Foundation
PA: Mass Pipeline Projects Update Workflow - Integrates Oracle Projects with Oracle Sales.
PA: Oracle Projects Library Workflow - Contains common functions that can be used to
enhance other workflows.
PA: Project Workflow - Routes project status changes to one or more destinations for
approval.
Interfaces the budget amounts for baseline versions to Oracle General Ledger
Oracle iStore
Oracle iStore provides seeded workflows in which there are predefined notifications
and notification messages. The iStore Alert Workflow contains the non-report-related
notifications, while the report-related notifications belong to iStore Reports Alerts. The
notification e-mail messages are sent to users based on various events.
Notifications Related to Orders
Order Confirmation Normal - Confirms a normal order. This notification is initiated when
a user places an order in a Web specialty store.
Order Confirmation - Next Steps for Faxed Orders - Explains the remaining steps for order
submission. This notification is initiated when a user places an order and chooses to fax
a credit card or purchase order as payment.
Orders Not Booked Notification - Announces that an order has not been booked to the
system administrator. This notification is initiated when a user's order is not booked.
Cancel Order - Confirms a cancelled order. This notification is initiated when a user
cancels an order using the Web specialty store.
Notifications Related to Shared Shopping Carts
Share Cart Confirmation Notification - Confirms a shared cart event and explains how to
access the shared cart to the Shared cart owner and recipients. This notification is
initiated when a user shares a cart with other users.
Change Access Level - Notifies users about access level changes. This notification is
initiated when a Shared cart owner changes the access level of the recipient.
Remove Cart Access for Recipient - Notifies users about the shared cart status. This
notification is initiated when a Shared cart recipient ends working on a shared cart.
Stop Sharing - Notifies users that a shared cart has been un-shared by the owner. This
notification is initiated when a Shared cart owner stops sharing a shared cart.
Notifications Related to Sales Assistance
Sales Assistance Request - To Sales Representatives - Describes a request for sales assistance
to a sales agent. This notification is initiated when a user requests sales assistance
during the checkout flow.
Sales Assistance Request - Sends a confirmation to users who requested sales assistance.
This notification is initiated when user requests sales assistance during checkout flow.
Notifications Related to Users and Registration
User Registration - Welcomes a newly registered user. This notification is initiated when
a user registers in a specialty store, or a B2B user is registered by the B2B Primary User.
Forget Login - Sends email to a user with his or her username and password. This
notification is initiated when a registered user requests login information.
Notification Events Related to Contracts
Contract Negotiations Request- Disapproval - Announces rejection of a contract terms
change request. This notification is initiated when the Contract administrator rejects a
user's request for changes in contract terms.
Contract Negotiations Request - To Sales Representatives - Describes a request for changes
to contract terms. This notification is initiated when a user requests changes in contract
terms.
Contract Negotiations Request - Approval - Announces approval of a contract terms change
request. This notification is initiated when the Contract administrator approves a user's
request for changes in contract terms.
Contract Negotiations Request - Cancellation - Announces cancellation of contract
negotiations. This notification is initiated when the Contract administrator cancels a
contract that was created when a user requested changes in contract terms.
Contract Negotiations Request - To Users - Acknowledges a request for changes to contract
terms. This notification is initiated when a user requests changes in contract terms.
Notification Events Related to Reports
Reports - iStore Historical Summary - Contains the information from the Store Order
Summary Data Out Bin specified in the Store Administration UI. This notification is
initiated when iStore Reports concurrent programs refresh the report data.
Reports - iStore Top Orders - Contains daily Top Orders from the Top Orders Bin
specified in the Store Administration UI. This notification is initiated when iStore
Reports concurrent programs refresh the report data.
Root Budgets, Claims, and Price Lists for approval to make them Active or Complete.
Schedule Execution - This process gets initiated when a campaign activity is set to
Available or Active, which means that it needs to be executed. This could happen as a
part of schedule's manual activation by the user, or as a part of any automated schedule
execution activity such as triggers or repeating schedules. This process updates the
schedule's status to Active if needed, and then performs any seeded execution
functionality based on the schedule's channel.
Marketing Triggers - This process gets initiated when a Marketing trigger's next run time
has been reached. This could be either the original start time of the trigger, or a
scheduled time for the trigger repetition, if the trigger repeats at a specific interval. This
process verifies, for non date based triggers, if the condition for the trigger is satisfied. If
it is, then some actions need to be performed, which is done by some of the subflows.
The types of actions that can be performed are execution of associated schedules,
generation and execution of associated schedules that need to repeat through this
trigger, sending out notifications, and plugged-in custom logic. Also, if the trigger
repeats, then the next run date/time for it is calculated and scheduled.
Service
Oracle Service
Call Support Process - Notifies the individual service request owner each time a service
request of this type is created or updated. The owner can set the status of the service
request to Closed by clicking the Resolved button on the notification.
This workflow has been superseded by a more flexible notifications process which
implementers can use to selectively notify both service request owners and customer
contacts of service-related events. You should associate this workflow with a type only
if you need to use the resolution functionality. If you associate this workflow with a
service request type and also use the new notifications feature, owners may receive two
notifications for the same event.
Customer Support Event Process - Notifies service request owners and contacts of
different events related to service requests and manages the status propagation among
related service requests. This process is used by the notifications feature of Oracle
TeleService.
Duplicate Check and Autotask Create for iSupport and Email Center Created SR - Checks for
potential duplicate service requests when customers create service requests using
Oracle iSupport or agents create service requests from within Oracle Email Center. If
the process finds a potential duplicate, it notifies the service request owner. When
customers create a service request of a type set up with extended attributes, the
program instead alerts the individual you specify in the Alert Recipient field of the
Service Request Attributes Configuration window. You must select the autolaunch
check box to enable this process.
Email Notification Generic Process - This process begins when a task of type Email
Follow-up is created. The process retrieves the task attribute details, such as requester,
approver, subject, and so on, from the values you enter on the Optional tab of the Task
Type: Attribute Configuration window and sets a due date for the approver to
acknowledge the e-mail notification. The due date is set based on the service request
creation date and the number of days you enter in the Offset for Due Date attribute. An
e-mail is sent to the approver with the text entered in the Subject, Message Header,
Message Body, and Message Footer attributes. If the approver does not acknowledge
the message by the end of the due date, the process sends a reminder notification. If the
approver acknowledges any of the notifications, either the original or a reminder, then
the workflow terminates. Otherwise, after sending the maximum number of reminders
specified in the Email Reminder Counter attribute, the workflow fails and terminates.
When the process completes successfully, the workflow updates the task status to
Completed. If the processing fails, the process sets the task status to Cancelled. You can
modify these statuses by setting the profile options CUG_TASK_FAILED_STATUS and
CUG_TASK_SUCCESS_STATUS.
Oracle Collaborative Planning VMI Replenishment Process - This process is the workflow
for the VMI replenishment engine.
Start ASCP Engine Process - This process facilitates the automation of launching an
ASCP plan after receiving an order forecast or supply commit from Oracle
Collaborative Planning.
DP Receive Forecast Process - This process facilitates receiving forecasts from Oracle
Demand Planning into Oracle Collaborative Planning.
Publish Order Forecast Process - This process facilitates the automatic launch of the
Publish Order Forecast program from the Planner Workbench.
Publish Supply Commit Process - This process facilitates the automatic launch of the
Publish Supply Commit program from the Planner Workbench.
Start Receive Supplier Capacity Process - This process facilitates the automatic start of the
Receive Supplier Capacity program when a supply commit is loaded into Oracle
Advanced Supply Chain Planning.
Start SCEM Engine Process - This process facilitates the automatic launch of the supply
chain event manager when an order forecast or supply commit is loaded into Oracle
Collaborative Planning.
Downloading data from the Planning Server - Manages the transfer and
transformation of data from the Demand Planning Server to the Express Server
Demand Planning Engine for analytic processing.
Populating measures - Runs the statistical forecast and populates each measure that
has been defined.
Collecting and consolidating data from demand planners - Collects submitted data
from demand planners and consolidates data in the Demand Planning Engine. This
process can iterate until the date you specify to end the collection period.
At any time during the Demand Planning processing cycle, the Demand Planning
Administrator may choose to run a special process called "Collect Available
Submissions Now." This process collects any waiting submissions of data for review
prior to the end of the cycle.
The Demand Planning Administrator may choose to run a master workflow process
called ODP Master that manages all five stages together by running a concurrent
request to launch and manage this master process. This concurrent request is called
"Demand Planning Engine Master Workflow Process."
Oracle Demantra
The Oracle Demantra products use Oracle Demantra Workflow Manager to develop
workflows. See: Oracle Demantra Implementation Guide.
Related Topics
Oracle Workflow Support Policy, page C-62
Oracle Workflow also allows you to extend your workflow processes as your business
rules change and mature. Additionally, you can use the Event Manager to modify event
and subscription definitions without changing application code.
Before you use Oracle Workflow to customize any predefined workflow process, event,
or subscription, you should familiarize yourself with the following customization
guidelines to ensure standard and safe design and development practices. By following
these guidelines, you will be able to supply important information to Oracle Support
Services in helping you resolve any issues that arise from your customizations.
Customization Guidelines
1.
Verify that all setup steps have been completed as documented in the Oracle
Workflow documentation, and the product-specific User's Guides.
2.
Test the unmodified seeded workflow, event, or subscription on a test database and
ensure that it runs successfully with the setup and data specific to your
environment.
3.
Refer to the product-specific User's Guide and any documentation update, available
on My Oracle Support, for the specific workflow, event, or subscription of interest.
These documentation sources specifically mention what should NOT be modified.
Oracle Support Services will not support modifications to any object that is
specifically documented as not modifiable.
4.
5.
When creating PL/SQL procedures, conform to the standard PL/SQL API templates
documented in the Oracle Workflow Developer's Guide. Be sure to handle exceptions
in the event of an error so you can track down the procedure where the error has
occurred.
6.
7.
Provide the Support analyst with the modified workflow definition file or event or
subscription definition, and where possible, identify the exact step where the
problem occurred.
Provide the Support analyst with results of running the unmodified seeded
workflow or subscription.
Modifying a workflow object that has a protection level that is less than 100.
2.
Altering a workflow object's protection level if its original protection level is less
than 100.
3.
Modifying your access level to an unauthorized level of less than 100 for the
purpose of modifying workflow objects that are protected at levels less than 100.
4.
5.
6.
7.
What Is Supported
The following types of customizations are supported:
1.
2.
Glossary
Access Level
A numeric value ranging from 0 to 1000. Every workflow user operates at a specific
access level. The access level defines whether the user can modify certain workflow
data. You can only modify data that is protected at a level equal to or higher than your
access level.
Activity
A unit of work performed during a business process.
Activity Attribute
A parameter that has been externalized for a function activity that controls how the
function activity operates. You define an activity attribute by displaying the activity's
Attributes properties page in the Activities window. You assign a value to an activity
attribute by displaying the activity node's Attribute Values properties page in the
Process window.
Agent
A named point of communication within a system.
Agent Listener
A type of service component that processes event messages on inbound agents.
Attribute
See Activity Attribute, Item Type Attribute, or Message Attribute.
Background Engines
A supplemental Workflow Engine that processes deferred or timed out activities or
stuck processes.
Business Event
See Event.
Glossary-1
Cost
A relative value that you can assign to a function or notification activity to inform the
Workflow Engine how much processing is required to complete the activity. Assign a
higher cost to longer running, complex activities. The Workflow Engine can be set to
operate with a threshold cost. Any activity with a cost above the Workflow Engine
threshold cost gets set to 'DEFERRED' and is not processed. A background engine can be
set up to poll for and process deferred activities.
Concurrent Manager
An Oracle E-Business Suite component that manages the queuing of requests and the
operation of concurrent programs.
Concurrent Process
An instance of running a non-interactive, data-dependent function, simultaneously with
online operations. Each time you submit a request, a concurrent manager processes
your request, starts a concurrent process, and runs a concurrent program.
Concurrent Program
A concurrent program is an executable file that performs a specific task, such as posting
a journal entry or generating a report.
Concurrent Queue
A list of concurrent requests awaiting completion by a concurrent manager. Each
concurrent manager has a queue of requests waiting in line to be run. If your system
administrator sets up your Oracle E-Business Suite application to have simultaneous
queuing, your request can wait to run in more than one queue.
Directory Service
A mapping of Oracle Workflow users and roles to a site's directory repository.
Event
An occurrence in an internet or intranet application or program that might be
significant to other objects in a system or to external agents.
Event Activity
A business event modelled as an activity so that it can be included in a workflow
process.
Event Data
A set of additional details describing an event. The event data can be structured as an
XML document. Together, the event name, event key, and event data fully
communicate what occurred in the event.
Glossary-2
Event Key
A string that uniquely identifies an instance of an event. Together, the event name,
event key, and event data fully communicate what occurred in the event.
Event Message
A standard Workflow structure for communicating business events, defined by the
datatype WF_EVENT_T. The event message contains the event data as well as several
header properties, including the event name, event key, addressing attributes, and error
information.
Event Subscription
A registration indicating that a particular event is significant to a system and specifying
the processing to perform when the triggering event occurs. Subscription processing
can include calling custom code, sending the event message to a workflow process, or
sending the event message to an agent.
External Functions
Programs that are executed outside of the Oracle Database.
Function
A PL/SQL stored procedure that can define business rules, perform automated tasks
within an application, or retrieve application information. The stored procedure accepts
standard arguments and returns a completion result.
Function Activity
An automated unit of work that is defined by a PL/SQL stored procedure.
Generic Service Component Framework
A facility that helps to simplify and automate the management of background Java
services.
Item
A specific process, document, or transaction that is managed by a workflow process.
Item Attribute
See Item Type Attribute.
Item Type
A grouping of all items of a particular category that share the same set of item
attributes. Item type is also used as a high level grouping for processes.
Glossary-3
Glossary-4
Performer
A user or role assigned to perform a human activity (notification). Notification activities
that are included in a process must be assigned to a performer.
Process
A set of activities that need to be performed to accomplish a business goal.
Process Activity
A process modelled as an activity so that it can be referenced by other processes.
Process Definition
A workflow process as defined in Oracle Workflow Builder, which can be saved as a
flat file or in a database.
Protection Level
A numeric value ranging from 0 to 1000 that represents who the data is protected from
for modification. When workflow data is defined, it can either be set to customizable
(1000), meaning anyone can modify it, or it can be assigned a protection level that is
equal to the access level of the user defining the data. In the latter case, only users
operating at an access level equal to or lower than the data's protection level can modify
the data.
Result Code
The internal name of a result value, as defined by the result type.
Result Type
The name of the lookup type that contains an activity's possible result values.
Result Value
The value returned by a completed activity.
Role
One or more users grouped by a common responsibility or position.
Service Component Container
An instance of a service that manages the running of the individual service components
that belong to it. The container monitors the status of its components and handles
control events for itself and for its components.
Service Component
An instance of a Java program which has been defined according to the Generic Service
Component Framework standards so that it can be managed through this framework.
Glossary-5
Subscription
See Event Subscription.
System
A logically isolated software environment such as a host machine or database instance.
Timeout
The amount of time during which a notification activity must be performed before the
Workflow Engine transitions to an error process or an alternate activity if one is
defined.
Transition
The relationship that defines the completion of one activity and the activation of
another activity within a process. In a process diagram, the arrow drawn between two
activities represents a transition.
Workflow Definitions Loader
A concurrent program that lets you upload and download workflow definitions
between a flat file and a database.
Workflow Engine
The Oracle Workflow component that implements a workflow process definition. The
Workflow Engine manages the state of all activities for an item, automatically executes
functions and sends notifications, maintains a history of completed activities, and
detects error conditions and starts error processes. The Workflow Engine is
implemented in server PL/SQL and activated when a call to an engine API is made.
Glossary-6
Index
Symbols
&#NID, 3-14, 3-16, 3-19, 3-64
#WF_REASSIGN_LOV attribute, 3-33
A
Access level indicator, 3-21
Access property page, 3-21
Access protection
preserving customizations, 3-22
Acknowledge Ping event, 9-13
ACTID, 6-4, 6-9
Action history, 3-30, 3-32, 3-42
related, 3-43
Actions
for subscriptions, 8-20
Activities, 2-8
accessing from different data stores, 4-5, 5-1
Concurrent Manager, 5-18
copy, 3-93
cost, 3-80
create, 3-81, 3-83, 3-86, 3-89
deferred, 3-80
effective date, 3-93
error process, 3-92
event, 3-73, 3-76
function, 3-73, 3-75
icons, 3-82, 3-85, 3-86, 3-91, 3-95
in a loop, 3-93
in the Default Error Process, 11-10
in the Default Event Error Process, 11-16
in the Default Event Error Process (One Retry
Option), 11-21
Index-1
overview, 8-49
updating, 8-64
Agents
creating, 8-62
direction, 8-47
on external systems, 8-60
overview, 8-46
pinging, 8-75
protocol, 8-47
queue handlers, 8-48
queues, 8-48
updating, 8-62
viewing, 8-61
Agent Updated event, 9-6
And activity, 5-2
Any event, 9-15
Any transitions, 4-2
AQ$_JMS_TEXT_MESSAGE, 8-49
Arrows, 4-2
Assign activity, 5-15
ATTACHED_URLS attribute, 3-51
Attribute
token substitution, 3-72
Attributes, 3-6
copy, 3-20
type, 3-3, 3-11, 3-67
Attribute-type attributes, 3-4
Attribute types
attribute, 3-12
date, 3-11, 3-68
document, 3-11, 3-17, 3-69
event, 3-12, 3-69
form, 3-11, 3-16, 3-68
lookup, 3-11, 3-68
number, 3-11, 3-67
role, 3-12, 3-69
text, 3-11, 3-67
URL, 3-11, 3-13, 3-68
Automatic replication
of Event Manager objects, 8-70
B
BCC recipients, 3-51
Block activity, 5-5
Business events, 8-4
Business Event System, 1-3
Index-2
C
Callback functions, 6-8
command, 6-10
for item types, 3-5
CC recipients, 3-51
Certificate-based digital signatures, 3-38
Compare Date activity, 5-3
Compare Event Property activity, 5-17
Compare Execution Time activity, 5-3
Compare Number activity, 5-3
Compare Text activity, 5-3
Comparison activities, 5-3
Concurrent Manager activities, 5-18
Concurrent Manager Functions item type, 5-18
Content-attached checkbox, 3-70, 3-71
Continue Flow activity, 5-13
Coordinating master/detail activities, 5-11
Cost threshold, 3-80
Customization level
events, 8-7
subscriptions, 8-18
Customization Level
for activities, 3-8, 3-12, 3-25, 3-64, 3-83, 3-85, 388, 3-91, 3-95
D
Date-type attributes, 3-3
DEFAULT_ERROR, 11-10
DEFAULT_EVENT_ERROR, 11-16
DEFAULT_EVENT_ERROR2, 11-21
Default Error Process, 11-10
Default Event Error Process, 11-16
Default Event Error Process (One Retry Option),
11-21
Default transitions, 4-2
Deferred activities, 3-80
Deferred processing
for event subscriptions, 8-32
E
Edit menu, B-2
Effective date, 2-14
Effective dates, 2-11, 2-14, 3-93
Effectivity
dates of, 2-6
Electronic signatures, 3-38
E-Mail Notification Dispatch Failure event, 9-28
E-mail notifications
data type hints, 3-54
feature, 1-4
END activities, 4-3
End Activity, 5-9
Enqueue
queue handler, 6-29
Error handling
for event subscriptions, 11-4
for workflow processes, 11-1
Error process, 3-92, 11-8
Error Process for Notification Response
Processing, 11-28
Index-3
F
File menu, B-1
Fonts
modifying, 4-21
Form-type attributes, 3-3
Frame target
URL attributes, 3-70
Framework, 3-55
FROM_ROLE attribute, 3-38
FUNCMODE, 6-4
Function activities, 3-75
create, 3-83
standard PL/SQL API, 6-2
Function activity attributes, 3-85
Functions, 2-8
PL/SQL procedures, 2-8
Future dated events, 8-24
Future-dated events, 8-33
G
Generate function, 8-5
Generate Local System Identifier, 8-73
Generic Service Component Framework
events, 9-44
Get Event Property activity, 5-15
Get Monitor URL activity, 5-15
Global variables, 3-2
GSC Business Event System Control Group, 9-45
H
HDR_REGION attribute, 3-42
HDR attributes, 3-41
Header attributes, 3-41
Header region, 3-42
Help menu, B-5
Hidden item types, 2-3
HIDE_MOREINFO attribute, 3-36
HIDE_REASSIGN attribute, 3-34
HISTORY attribute, 3-42
I
Icons
viewing, 3-82, 3-85, 3-87, 3-91
Index-4
Images
in notifications, 3-14
IMG prefix, 3-14
Item attributes
external document integration, 3-5
ITEMKEY, 6-4, 6-9
ITEMTYPE, 6-4, 6-9
Item type attributes, 3-2, 3-8, 3-8
Workflow Send Protocol, 9-59
Item types, 2-7, 3-2
callback function, 3-5
Concurrent Manager Functions, 5-18
context reset, 6-8
copy, 3-20
creation, 3-7
loading, 2-10, 2-10
persistence type, 3-4
Requisition sample item type, 10-3
saving, 2-10
selector functions, 3-5, 6-8
Standard, 5-1
System: Error, 11-8
Workflow Agent Ping/Acknowledge, 8-82
Workflow Send Protocol, 9-59
J
Java APIs
for a queue handler, 6-29
JDeveloper, 3-55
JMS Text messages, 8-49
Joining activities, 4-3
L
Launch Process activity, 5-6
Launch Summary Notifications event, 9-39
Licensing, 8-8, 8-18
LNK prefix, 3-14
Load balancing, 5-9
Loading item types, 2-10
Local system, 8-66
Local system identifier, 8-73
Lookup codes
copy, 3-28
Lookup-type attributes, 3-3
Lookup types, 2-7, 3-23, 3-24
copy, 3-27
creation, 3-24
Loop Counter activity, 5-7
Loop Reset, 4-3
Loops, 3-93, 6-6
M
Master/copy systems, 8-70
Master/Detail coordination activities, 5-11
notes on usage, 5-14
Master Ping Process
summary, 8-83
Master process, 5-11
Menus
Oracle Workflow Builder, B-1
Message attributes, 3-28, 3-29, 3-66, 3-66, 10-24
#ATTACHED_URLS, 3-51
#FROM_ROLE, 3-38
#HDR, 3-41
#HDR_REGION, 3-42
#HIDE_MOREINFO, 3-36
#HIDE_REASSIGN, 3-34
#HISTORY, 3-42
#MORE_INFO_PARTICIPANTS, 3-37
#PERZ_FUNCTION_NAME, 3-46
#PERZ_LOCALIZATION_CODE, 3-46
#PERZ_ORGANIZATION_ID, 3-46
#RELATED_APPL, 3-42
#RELATED_HISTORY, 3-43
#SUBMIT_COMMENTS, 3-43
#WF_REASSIGN_LOV, 3-33
#WF_SECURITY_POLICY, 3-41
#WF_SIG_ID, 3-40
#WF_SIG_POLICY, 3-38
#WFM_BCC, 3-51
#WFM_CANCELED, 3-51
#WFM_CC, 3-51
#WFM_CLOSED, 3-51
#WFM_FROM, 3-46
#WFM_HTML_DELIMITER, 3-48
#WFM_HTMLAGENT, 3-46
#WFM_LANGUAGE, 3-47
#WFM_NODENAME, 3-48
#WFM_OPEN_INVALID, 3-51
#WFM_OPEN_MAIL, 3-50
#WFM_OPEN_MAIL_DIRECT, 3-50
#WFM_OPEN_MAIL_FYI, 3-50
#WFM_OPEN_MORE_INFO, 3-51
#WFM_REPLYTO, 3-46
#WFM_RESET_NLS, 3-48
#WFM_TERRITORY, 3-47
additional e-mail recipient attributes, 3-51
formatted table, 3-32
message template attributes, 3-50
notification mailer attributes, 3-46
personalization attributes, 3-46
Respond, 3-30, 3-53, 3-67
Send, 3-29, 3-67
source, 3-29, 3-67
WF_NOTE, 3-31
Message function
WF_NOTIFICATION(), 3-32
Messages, 2-8, 3-28
body, 3-62, 10-24
copy, 3-73
creation, 3-60
overriding default priority, 4-9
subject, 3-62, 10-24
viewing, 10-24
Message templates, 3-50
MIME types and subtypes, 6-24
Monitoring
work items, 1-4
MORE_INFO_PARTICIPANTS attribute, 3-37
Multi-consumer queues, 8-23
N
Navigation paths, A-1
Navigator Toolbar, B-5
Navigator tree
finding objects in, 2-4
Node activities
dynamic priority, 4-9
Nodes
adding to a process, 4-4
start and end, 4-6
NOOP activity, 5-7
Notification activities, 3-74
coupling with custom functions, 3-82
create, 3-81
Notification Cancel event, 9-23
Notification Close event, 9-34
Notification Error event, 9-31
Index-5
O
ONDEMANDATTR process activity attribute, 379
oracle.apps.fnd.wf.attribute.denormalize event,
9-35
oracle.apps.wf.engine.abort event, 9-47
oracle.apps.wf.engine.skip event, 9-48
Oracle Advanced Queuing, 8-1
Index-6
P
Password-based signatures, 3-38
Persistence, 3-4
PERZ_FUNCTION_NAME attribute, 3-46
PERZ_LOCALIZATION_CODE attribute, 3-46
PERZ_ORGANIZATION_ID attribute, 3-46
Phase numbers, 8-17, 8-34
Ping Agent event, 9-12
Pinging agents, 8-75
PL/SQL, 1-3
document, 6-11, 6-12
PL/SQL APIs
for a 'PL/SQL' document, 6-11
for a 'PL/SQL BLOB' document, 6-11
for a 'PL/SQL CLOB' document, 6-11
for an Event Data Generate Function, 6-27
for an Event Subscription Rule Function, 6-32
for a queue handler, 6-29
for a selector or callback function, 6-8
for function activities, 6-2
PL/SQL BLOB
document, 6-11, 6-21
PL/SQL CLOB
document, 6-11, 6-15
PL/SQL documents, 3-5
Post-notification functions, 3-74
Predefined events, 9-1
Preserving customizations
for an activity, 3-22
Process activities, 3-79
create, 3-89
Process activity attributes, 3-91
#ONDEMANDATTR, 3-79
Process definition
modifying, 2-9
Process diagram
adding nodes, 4-4
drawing, 4-1, 4-4
Processes
activity transitions, 4-2
copying to clipboard, 4-20
creation, 2-5
editing, 2-8, 2-10
loops, 6-6
overview, 4-19
printing, 4-20
starting, 4-26
verify, 4-20
Process window
editing, 4-1
Process Window Toolbar, B-8
Protocols, 8-47
Q
Queue handlers, 6-29, 8-48
Queues
assigned to agents, 8-48
R
Raising events, 8-3
Reassign notifications
hiding the Reassign button, 3-34
specifying a list of users for reassignment, 3-33
Receipt of Incoming Response event, 9-30
Receipt of Worklist Notification Response event,
9-36
Refresh event, 9-44
Registering external systems, 8-73
RELATED_APPL attribute, 3-42
RELATED_HISTORY attribute, 3-43
Related Applications region, 3-42
Requisition process
sample data model, 10-2
Requisition sample process, 10-1
RESULT, 6-4, 6-10
Result type
for activities, 3-82, 3-84, 3-90
for voting activities, 3-95
Resume event, 9-45
RETRY_ONLY, 11-13
S
Sample workflow process, 10-1
Savepoints, 6-2
Security policy
for e-mail notifications, 3-41
Seed event group, 9-9
Selector functions, 3-5, 6-8
Send Summary Notification event, 9-27
Set Event Property activity, 5-16
SetItemParent API, 5-12
Shortcuts, 4-22
Signature IDs, 3-40
Signatures, 3-38
Single-consumer queues, 8-23
Source types, 8-17
Stack Layout regions, 3-58
Standard activities, 5-1
Standard APIs
for "PL/SQL" documents, 6-11, 6-12
for "PL/SQL BLOB" documents, 6-11, 6-21
for "PL/SQL CLOB" documents, 6-11, 6-15
for an Event Data Generate Function, 6-27
for an Event Subscription Rule Function, 6-32
for a Queue Handler, 6-29
for function activities, 6-2
for selector/callback functions, 6-8
Standard error process, 11-8
Standard item type, 5-1
START activities, 4-3
Start activity, 5-9
Index-7
T
Test BES event, 9-56
Testing workflow definitions, 7-2
Text-type attributes, 3-3
Timeouts, 4-9
dynamic, 4-9
Index-8
U
Unexpected event, 9-18, 11-7
Unsolicited Email Threshold Reached event, 9-40
URL attributes
frame target, 3-70
URL message attributes
attached vs embedded, 3-71
URL-type attributes, 3-3
User Entry Has Changed event, 9-21
Users
ad hoc, 4-23
V
Versioning, 2-6
Version number
for activities, 3-93
View menu, B-3
Vote Yes/No activity, 5-10
Voting activities
result type, 3-95
Voting activity, 3-94
W
Wait activity, 5-4
Wait for Concurrent Program activity, 5-20
Wait for Flow activity, 5-12
Web services, 8-26
WF_CONTROL agent, 8-50
WF_DEFERRED agent, 8-50
WF_ERROR_QH, 8-48
WF_ERROR agent, 8-50
WF_EVENT_OJMSTEXT_QH, 8-49
WF_EVENT_QH, 8-48
WF_IN agent, 8-50
WF_JAVA_DEFERRED agent, 8-50
WF_JAVA_ERROR agent, 8-50
WF_JMS_IN agent, 8-50
WF_JMS_OUT agent, 8-50
WF_NOTE attribute, 3-31
WF_NOTIFICATION_IN agent, 8-50
WF_NOTIFICATION_OUT agent, 8-50
WF_NOTIFICATION() message function, 3-32
WF_OUT agent, 8-50
WF_REASSIGN_LOV attribute, 3-33
WF_REQDEMO.VerifyAuthority, 10-9
WF_SECURITY_POLICY attribute, 3-41
WF_SIG_ID attribute, 3-40
WF_SIG_POLICY attribute, 3-38
WF_WS_JMS_IN agent, 8-50
WF_WS_JMS_OUT agent, 8-50
WFM_BCC attribute, 3-51
WFM_CANCELED attribute, 3-51
WFM_CC attribute, 3-51
WFM_CLOSED attribute, 3-51
WFM_FROM attribute, 3-46
WFM_HTML_DELIMITER attribute, 3-48
WFM_HTMLAGENT attribute, 3-46
WFM_LANGUAGE attribute, 3-47
WFM_NODENAME attribute, 3-48
WFM_OPEN_INVALID attribute, 3-51
WFM_OPEN_MAIL_DIRECT attribute, 3-50
WFM_OPEN_MAIL_FYI attribute, 3-50
WFM_OPEN_MAIL attribute, 3-50
WFM_OPEN_MORE_INFO attribute, 3-51
WFM_REPLYTO attribute, 3-46
WFM_RESET_NLS attribute, 3-48
WFM_TERRITORY attribute, 3-47
Window menu, B-5
Workflow Agent Ping/Acknowledge, 8-75
item type, 8-82
item type attributes, 8-82
Workflow Builder, 1-2
Workflow Builder menus, B-1
Workflow definitions
loading, 1-3
source control, 2-10
testing, 7-1
Workflow Definitions Loader, 1-3
Workflow Engine, 1-3
X
X.509 certificates, 3-38
Index-9