This action might not be possible to undo. Are you sure you want to continue?
Telecom3/ Motorola firstname.lastname@example.org
17 March 2009
Overview of Oracle Workflow Oracle Workflow Availability Oracle Workflow Architecture Workflow process components Defining Functions for Oracle Workflow Defining Procedures for Oracle Workflow Workflow engine API’s Defining a Workflow process diagram Workflow Access Protection Workflow Status Monitor Workflow Notifications Workflow Users and Roles Example
17 March 2009
Overview of Oracle workflow
Oracle Workflow delivers a complete workflow management system that supports business process based integration. Its technology enables modeling, automation, and continuous improvement of business processes, routing information of any type according to userdefined business rules.
Oracle Workﬂow automates and streamlines business processes both within and beyond the enterprise, supporting traditional applications based workﬂow as well as e-business integration workﬂow.
Workflow processes can be used to, validate self-service transactions approve standard business documents step through daily transaction flows integrate with trading partner systems
17 March 2009
Defining and modifying business – Define and continuously improve the business processes using the drag and drop process designer. not the individual transactions.Overview of Oracle workflow Routing information – Right information to the right people – Provides each person with all the information they need to take action. Delivering Electronic notifications – Lets people receive notifications of items awaiting their attention via e-mail and act based on their e-mail responses. TCS Internal 17 March 2009 4 . – Adapt your processes as your business changes – Focuses on managing the business process.
These processes model the business rules in the individual local application and are made up of activities executed by the workflow engine only in that application's system. Event Based workflows Business is integrated with the external system.Oracle Workflow Types Traditional Workflows These type of workflows are launched from a business application through APIs hard-coded within the application. Based on the Business Event System TCS Internal 17 March 2009 5 . Supports business-to-business data exchange .
– Professional applications – Used in Enterprise resource planning (ERP). TCS Internal 17 March 2009 6 . Human Resource Management Systems (HRMS).Oracle Workflow Availability Oracle Workflow is available in two versions: Standalone – With the Oracle Database (both Standard Edition and Enterprise Edition) – With the Oracle Application Server – With the Oracle Collaboration Suite Embedded in Oracle E-Business Suite – Self-service applications. Customer Relationship Management (CRM).
Oracle Workflow Architecture TCS Internal 17 March 2009 7 .
view.Workflow Development client Oracle Workflow Builder Oracle workflow Builder is a graphical tool that lets you create. item types. or modify a business process with simple drag and drop operations. including activities. Oracle workflow builder consists of two parts: • Navigator tree • Process Diagram TCS Internal 17 March 2009 8 . you can create and modify all workflow objects. Using the workflow Builder. The workflow definition files can either directly be saved to the database or can be saved as a flat file. and messages.
the workflow definitions Loader is also integrated into Oracle workflow Builder. allowing you to open and save workflow definitions in both a database and file. TCS Internal 17 March 2009 9 . It can be used to move workflow definitions from a development to a production database.Workflow Development client Workflow Definitions Loader It is a utility program that moves workflow definitions between database and corresponding flat file representations. or to apply upgrades to existing definitions. In addition to being a standalone server program.
Manages the state of activities for each process instance Calls the Notification System to send notification messages Executes function activities automatically Supports results-based branches. and sub-processes Maintains a history of completed activities.Oracle Server Workflow Engine The workflow engine is a set of tables and PL/SQL stored procedures that manages the execution of a workflow process and tracks work in process. Detects error conditions and executes error processes. loops. TCS Internal 17 March 2009 10 . parallel branches.
the subscribing code is executed in the same transaction as the code that raised the event.Oracle Server Business Event System The Business Event System is an application service that uses the Oracle Advanced Queuing (AQ) infrastructure to communicate business events between systems. Workflow with the business event system can act as a system integration messaging hub that relays business event messages among systems The Business Event System consists of the Event Manager. Subscription processing can include executing custom code on the event information. TCS Internal 17 March 2009 11 . sending event information to a workflow process. and event activities. which lets you register subscriptions to significant events. and sending event information to other queues or systems. which let you model business events within workflow processes When a local event occurs.
sends e-mail notifications and processes e-mail responses using the JavaMail API allows any users with access to the internet to be included in a workflow process TCS Internal 17 March 2009 12 .Oracle Server Notification System Routes notifications to a role. which can be a single user or group of users Enables users to receive and respond to notifications using an e-mail application or web browser of choice.
TCS Internal 17 March 2009 13 . an employee. a responsibility or a holder of a position in the position hierarchy If the workflow is embedded in Oracle Applications. display names. notification preferences and email addresses WF_ROLES: Contains information on the roles of which users can be members WF_USER_ROLES: Contains information on the association of users with roles A role could be a user. then the workflow directory service views are automatically based on a unified oracle applications environment. WF_USERS: Contains information on user names.Oracle Server Directory services The directory service for Oracle Workflow is implemented as a set of views that are mapped across the user tables of the underlying application.
Oracle Workflow Manager can be used to manage the notification mailers.Application Server Application Server The application server is the environment outside of the RDBMS. This environment includes ancillary services such as the Oracle Application Server (OracleAS) as the web server. and notification mailers Notification Mailer A notification mailer performs e-mail send and response processing for the Oracle Workflow Notification System. TCS Internal 17 March 2009 14 . using the JavaMail API.
This client includes browser support for reviewing and responding to notifications in the Worklist. and other Workflow web pages.End-User Client End-User Client The end-user client is the workstation or PC that an end user uses to perform daily tasks. It also includes the Workflow Manager component accessed through Oracle Applications Manager (OAM) for the version of Oracle Workflow embedded in Oracle E-Business Suite. as well as mail applications for reviewing and responding to notifications by e-mail. the Workflow Monitor. TCS Internal 17 March 2009 15 .
Workflow process components TCS Internal 17 March 2009 16 .
Any component that is created for a process. TCS Internal 17 March 2009 17 .Item Type Item Types An item type is a classification of the components that make up a workflow process. You must define an item type before you can define the item attributes associated with it. such as a function activity or a message. Item Type Attributes An item type attribute is a property associated with a given item type. It acts as a global variable that can be referenced or updated by any activity within a process. with a particular item type must be associated with an Item Type.
which is visible to the user.Item Type Attributes Display Name The name of an object within the workflow. Internal Name The internal name of an object is the name that will always be referred to within the workflow. This must be unique within the item types. TCS Internal 17 March 2009 18 .
Types.e) how long each workflow should remain in the database after they complete before they become eligible for purging.Item Type Attributes Persistence Type Oracle workflow allows the developer to determine how long the status audit trail of the workflow should be maintained (i. Synchronous Do not persist the workflow in the database. Permanent Will remain for ever in the database. No database transaction. This can be removed by using the WF_PURGE. so no run-time data is stored.totalperm() API and specifying the item type Temporary Remain ineligible for purging until n complete days have passed. TCS Internal 17 March 2009 19 .
PL/SQL selector functions are used to determine which process activity to run in a particular situation.Item Type Selector/Callback Functions An item type can have more than one runnable process activity associated with it. Enter the selector function in the following format: <package_name>. A selector function can be extended to be a general callback function so that item type context information can be reset as needed if the SQL session is interrupted.<procedure_name> TCS Internal 17 March 2009 20 .
Item Type Properties TCS Internal 17 March 2009 21 .
Item Type Properties TCS Internal 17 March 2009 22 .
Item Type Properties TCS Internal 17 March 2009 23 .
Attribute Data Types You can assign the following data types to attributes: – Text – Number – Date – Lookup – Role – Attribute – URL – Form – Document – Event TCS Internal 17 March 2009 24 .
TCS Internal 17 March 2009 25 .Defining Item Type Attributes Item type attributes are defined in the Oracle Workflow Builder navigator tree beneath a given item type.
The lookup codes for a lookup type are defined in the navigator tree beneath the lookup type.Defining Lookup Types Lookup Types A lookup type is a static list of values. or activity attributes. message. TCS Internal 17 March 2009 26 . These lists can be referenced by activities and by item type. For example: An activity can reference a lookup type for its possible result values A message attribute can reference a lookup type to provide a list of possible responses to the performer of a notification. Defining Lookup Codes Lookup codes represent the actual values in a lookup type.
Defining Lookup Types TCS Internal 17 March 2009 27 .
Defining Lookup Types TCS Internal 17 March 2009 28 .
Defining Lookup Types TCS Internal 17 March 2009 29 .
‘Form’ Attribute Type Form Attribute Type The attribute value is an Oracle Applications internal form function name and its optional form function parameters. displays an attached form icon that lets users drill down to the referenced form TCS Internal 17 March 2009 30 . the notification. when viewed from the Notification Details Web page. This attribute type is not relevant for the standalone version of Oracle Workflow. If you include a form-type attribute in a notification message as a message attribute.
‘Form’ Attribute Type TCS Internal 17 March 2009 31 .
PL/SQL CLOB. and PL/SQL BLOB documents). When users view their notifications.Document Attributes Document Attributes Attributes of type document can represent data from the database in various formats. TCS Internal 17 March 2009 32 . PL/SQL document: Represents data as a character string PL/SQL CLOB document: Represents data as a character large object (CLOB) PL/SQL BLOB document: Represents data as a binary large object (BLOB) These attributes can appear in a notification message as an inline link (PL/SQL and PL/SQL CLOB documents only) or as an attachment icon (PL/SQL. generated from a PL/SQL procedure. they can click a link or an attachment icon to open the referenced document.
Document Attributes TCS Internal 17 March 2009 33 .
These attributes appear in a notification message body as an inline hypertext link or below the message as an attachment icon. When you create an item attribute of type URL. the URL frame opens according to what you specified as the frame target. If you reference this item attribute as the default value of a message attribute in a message. TCS Internal 17 March 2009 34 . specify a frame target for the attribute.URL Attributes URL Attributes An attribute of type URL references a Universal Resource Locator (URL) to a network location such as a web page.
URL Attributes TCS Internal 17 March 2009 35 .
Defining Functions for Oracle Workflow TCS Internal 17 March 2009 36 .
Defining Oracle Workflow TCS Internal 17 March 2009 37 .
Defining Oracle Workflow – Item Type TCS Internal 17 March 2009 38 .
Defining Oracle Workflow – Item Type TCS Internal 17 March 2009 39 .
Defining Oracle Workflow – Item Type TCS Internal 17 March 2009 40 .
Defining Oracle Workflow – Item Type TCS Internal 17 March 2009 41 .
Defining Oracle Workflow – Item Type TCS Internal 17 March 2009 42 .
Defining Oracle Workflow – Attribute Type
17 March 2009
Defining Oracle Workflow – Functions
17 March 2009
Defining Oracle Workflow – Functions
17 March 2009
Defining Oracle Workflow – Functions TCS Internal 17 March 2009 46 .
Defining Oracle Workflow – Functions TCS Internal 17 March 2009 47 .
Defining Oracle Workflow – Functions TCS Internal 17 March 2009 48 .
Defining Oracle Workflow – Functions TCS Internal 17 March 2009 49 .
Defining Oracle Workflow – Functions TCS Internal 17 March 2009 50 .
Defining Oracle Workflow – Functions TCS Internal 17 March 2009 51 .
Defining Oracle Workflow – Functions TCS Internal 17 March 2009 52 .
Defining Oracle Workflow – Notifications TCS Internal 17 March 2009 53 .
Defining Oracle Workflow – Messages TCS Internal 17 March 2009 54 .
Defining Oracle Workflow – Messages TCS Internal 17 March 2009 55 .
Defining Oracle Workflow – Messages TCS Internal 17 March 2009 56 .
Defining Oracle Workflow – Notifications TCS Internal 17 March 2009 57 .
Defining Oracle Workflow – Process TCS Internal 17 March 2009 58 .
Supported Process Constructs Looping Results-based branching Parallel flows Rendezvous Voting Timeouts Escalation Automatic forwarding Sub-processes (unlimited hierarchy) TCS Internal 17 March 2009 59 .
Defining Procedures for Oracle Workflow TCS Internal 17 March 2009 60 .
you should never commit within the PL/SQL procedure of a function activity.Standard API for PL/SQL Procedures Called by Function Activities All PL/SQL stored procedures that are called by function or notification activities in an Oracle Workflow process should follow this standard API format so that the Workflow Engine can properly execute the activity. The Workflow Engine traps errors produced by function activities by setting a savepoint before each function activity. the engine performs a rollback to the savepoint. For this reason. TCS Internal 17 March 2009 61 . and sets the activity to the ERROR status. If an activity produces an unhandled exception.
Itemkey A string that represents a primary key generated by the workflow-enabled application for the item type. The string uniquely identifies the item within an item type. TCS Internal 17 March 2009 62 .Standard API for PL/SQL Procedures Called by Function Activities Itemtype The internal name for the item type. Actid The ID number of the activity from which this procedure is called. Item types are defined in the Oracle Workflow Builder.
If the activity is a notification activity. If the activity is a function activity. then the mode can be ’RESPOND’. ’VALIDATE’. ’SKIP’. ’CANCEL’.Standard API for PL/SQL Procedures Called by Function Activities funcmode The execution mode of the activity. ’ANSWER’. ’QUESTION’. the mode can be ’RUN’. or ’RUN’ resultout If a result type is specified in the Activities properties page for the activity in the Oracle Workflow Builder. with a post-notification function. ’FORWARD’. or ’RETRY’. COMPLETE:<result_code> WAITING DEFERRED:<date> NOTIFIED:<notification_id>:<assigned_user> ERROR:<error_code> TCS Internal 17 March 2009 63 . this parameter represents the expected result that is returned when the procedure completes. ’TRANSFER’. ’TIMEOUT’.
Standard API for PL/SQL Procedures Called by Function Activities procedure <procedure name> (itemtype in varchar2. end if. return. actid in number. end if. funcmode in varchar2. resultout out varchar2) is <local declarations> Begin if ( funcmode = ’RUN’ ) then <your RUN executable statements> resultout := ’COMPLETE:<result>’. if ( funcmode = ’CANCEL’ ) then <your CANCEL executable statements> resultout := ’COMPLETE’. return. TCS Internal 17 March 2009 64 . itemkey in varchar2.
WORKFLOW ENGINE API’s TCS Internal 17 March 2009 65 .
WF_ENGINE.Workflow Engine API’s To start or run a workflow process WF_ENGINE. WF_ENGINE. WF_ENGINE.SetItemParent defines the parent/child relationship for master/detail processes. WF_ENGINE. WF_ENGINE.GetItemUserKey returns the user-friendly identifier assigned to an item. TCS Internal 17 March 2009 66 .SetItemOwner sets the owner of an existing item.StartProcess begins execution of the specified process.LaunchProcess launches a specified process by creating the new runtime process and beginning its execution.SetItemUserKey sets a user-friendly identifier for an item.CreateProcess creates a new runtime process for a work item. WF_ENGINE.
TCS Internal 17 March 2009 67 .AddItemAttrTextArray To return the value of an activity attribute in a process WF_ENGINE. WF_ENGINE.GetActivityAttrText.AddItemAttr.GetItemAttrText. To adds a new item attribute to the runtime process WF_ENGINE.SetItemAttrText.To communicate attribute information To set the value of an item type attribute in a process WF_ENGINE. WF_ENGINE.GetActivityAttrNumber.SetItemAttrNumber To obtain the values of an item type attribute in a process WF_ENGINE.GetItemAttrNumber. WF_ENGINE. WF_ENGINE.
WF_ENGINE.AssignActivity assigns an activity to another performer.SuspendProcess suspends process execution so that users cannot transition items to new activities. WF_ENGINE. WF_ENGINE. WF_ENGINE. TCS Internal 17 March 2009 68 .To communicate State Changes To communicate state changes to the Workflow Engine WF_ENGINE.ItemStatus returns the status and results for the root process of the specified item instance. identifying the activity by the activity node label name.BeginActivity determines if the specified activity can currently be performed and raises an exception if it cannot.AbortProcess aborts process execution and cancels outstanding notifications.ResumeProcess returns a suspended process to normal execution status. WF_ENGINE. WF_ENGINE.CompleteActivity notifies the engine that the specified activity has been completed for the item.
Oracle Workflow Compilation TCS Internal 17 March 2009 69 .
Oracle Workflow Compilation TCS Internal 17 March 2009 70 .
Oracle Workflow Compilation TCS Internal 17 March 2009 71 .
Oracle Workflow .Example TCS Internal 17 March 2009 72 .
Oracle Workflow .Example • Example Workflow Code Package Spec Package Body Training workflow Initiate workflow TCS Internal 17 March 2009 73 .
Example TCS Internal 17 March 2009 74 .Oracle Workflow .
Workflow Access Protection TCS Internal 17 March 2009 75 .
As a workflow developer. you can use access protection to preserve valid customizations you have made to a predefined workflow during a workflow definition upgrade. you can use access protection to allow or discourage “customers” of your workflows from modifying your “seed data” workflow definitions.Oracle Workflow – Access Protection concepts Oracle Workflow uses a feature called access protection to control modification of workflow definitions. As a customer of predefined workflows provided by Oracle. TCS Internal 17 March 2009 76 .
o The object can be edited by users operating at a higher access level. function attributes. and message attributes inherit their access settings from their parent lookup type. function attributes. or message.Oracle Workflow – Access Protection concepts All workflow objects except lookup codes. and message attributes contain an Access tab in their property pages. Lookup codes. function. The Access tab lets you define whether: o Future customizations to the object are preserved during a workflow definition upgrade. respectively. TCS Internal 17 March 2009 77 .
Oracle workflow – Access Levels Each user of Oracle Workflow Builder operates the system at a certain access level. The access levels are defined as follows: Æ 0-9: Reserved for Oracle Workflow Æ 10-19: Reserved for Oracle Application Object Library Æ 20-99: Reserved for Oracle E-Business Suite Æ 100-999: Reserved for customer organizations Æ 1000: Public TCS Internal 17 March 2009 78 .
Protection Levels If you protect an object against customization. TCS Internal 17 March 2009 79 .” Only users operating at an access level equal to or lower than the protection level of the object can modify the object. Objects protected against customizations are considered “seed data. indicating that the object is read-only. Users operating at an access level greater than the protection level of the object will see a small lock on the icon for the object in the navigator tree. you effectively assign the object a protection level equal to your current access level.
Enter an integer value in the Access Level field and click OK. You can change your access level in the “About Oracle Workflow Builder” dialog box available from the Help menu. it shouldn’t be modified at all except by an access level equal to or less than the protected level of the object. its protection level is set to 1000. The customization level is relevant only with respect to unprotected workflow objects. The customization level of an object is set to the access level of the initial user who customizes the object. A customized object is locked from further modification except from users with access levels equal to the customization level of the object. TCS Internal 17 March 2009 80 . If an object is protected at a certain level.Customization Levels If you set an object to be customizable.
Customization Levels TCS Internal 17 March 2009 81 .
Setting Protection and Customization Levels Select the Access tab for an object in Oracle Workflow Builder to display the Access property page. and protection levels of the object based on the settings in the Options region. Æ Preserve Customizations Æ Lock at this Access Level The indicator bar provides a visual range of access levels that can edit the objectÆ Black vertical line: Current access level Æ White range: Cannot edit the object Æ Solid green: Can edit the object Æ Cross-hatch green: Usually cannot modify the object because it has been customized. The indicator bar provides a visual range of access levels that can edit the object. Use the Options region to set the protection and customization levels of an object. but can now do so because Oracle Workflow Builder is set to Upload mode so that customized objects can be modified TCS Internal 17 March 2009 82 . access. The Levels region shows the customization.
TCS Internal 17 March 2009 83 . Use the Options region to set the protection and customization levels of an object. Preserve Customizations: Prevents customized objects from being overwritten during a workflow definition upgrade Lock at this Access Level: Protects the object at the current access level and does not allow the object to be customized by higher access levels Oracle E-Business Suite customers should select both the Preserve Customizations and Lock at this Access Level check boxes to protect your workflow objects during upgrades. and Protection levels of the object based on how you set the check boxes in the Options region. Access.Setting Protection and Customization Levels The Levels region shows the Customization.
Oracle Workflow – Access Protection concepts TCS Internal 17 March 2009 84 .
Example of Access Protection Assume you have an access level of 100. Selected Options Resulting Level None Customization = 0 Access = 100 Protection = 1000 Customization = 100 Access = 100 Protection = 1000 Customization = 0 Access = 100 Protection = 100 Customization = 100 Access = 100 Protection = 100 TCS Internal Edit Range 0-1000 Preserve Customizations Lock at this Access Level 100-1000 0-100 Both 100 17 March 2009 85 .
Optionally select the Lock at this Access Level option.Preserving Customizations To ensure that your customizations are preserved during an upgrade of Oracle Workflow: Check your access level before you make your modifications to the predefined workflow process. the Workflow Definitions Loader is always run in Upgrade mode at an access level less than 100. Æ During an Oracle Workflow seed data upgrade. the upgrade will not overwrite any object with a customization level of 100 or higher TCS Internal 17 March 2009 86 . Æ Standalone Oracle Workflow: Select the Preserve Customizations option. As a result. Æ Oracle E-Business Suite: 100 Æ Standalone Oracle Workflow: 100 or higher Set the appropriate options in the Access property page for any object that you modify. Æ Oracle E-Business Suite: Select both the Preserve Customizations and Lock at this Access Level options.
Workflow Access Protection TCS Internal 17 March 2009 87 .
Workflow Status Monitor TCS Internal 17 March 2009 88 .
Status Monitor Navigation TCS Internal 17 March 2009 89 .
Status Monitor Navigation TCS Internal 17 March 2009 90 .
Status Monitor TCS Internal 17 March 2009 91 .
Status Monitor TCS Internal 17 March 2009 92 .
Status Monitor TCS Internal 17 March 2009 93 .
17 March 2009
17 March 2009
17 March 2009
Status Monitor TCS Internal 17 March 2009 97 .
Status Monitor TCS Internal 17 March 2009 98 .
Workflow Notifications TCS Internal 17 March 2009 99 .
Workflow Notifications The Oracle Workflow Worklist Web pages let you view and respond to your notifications. You can receive individual e-mail notifications An e-mail notification contains all the details of the notification. TCS Internal 17 March 2009 100 . including instructions on how to respond to the notification.
Different types of notifications used in oracle workflows TCS Internal 17 March 2009 101 .
The Performer performs action on the workflow notification (i. When the workflow engine reaches a notification activity. TCS Internal 17 March 2009 102 .Workflow Notifications Performer A message is what a notification activity sends to a role in a workflow process.e) Approve/ Reject etc. it issues a Send() API call to the Notification System to send the message to an assigned performer The performer is a workflow user with a defined Role. The access for a particular workflow activity is restricted using the roles. 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.
You must assign that node to a performer. in the Oracle Workflow directory service.Workflow Roles Oracle Workflow roles are stored in the database. you define a function activity that makes a server-side call to the appropriate WF_DIRECTORY API and include that function activity in your process diagram. To do so. The performer can be a designated role or an item type attribute that dynamically returns a role. TCS Internal 17 March 2009 103 . To assign a performer to a role. you must initially load the roles from your Oracle Workflow database into your Oracle Workflow Builder session. The workflow Roles are referenced in the Workflow Process One example of how roles are referenced in a workflow process is when you include a notification activity in a process as a node. Oracle Workflow allows you to create new ad hoc users and roles within a workflow process. to add to your directory service.
Assigning node to a performer TCS Internal 17 March 2009 104 .
These APIs are defined in a PL/SQL package called WF_DIRECTORY . as well as create and manage new ad hoc users and roles in the directory service. CreateAdHocUser CreateAdHocRole AddUsersToAdHocRole RemoveUsersFromAdHocRole SetAdHocUserStatus SetAdHocRoleStatus SetAdHocUserAttr SetAdHocRoleAttr GetRoleUsers GetUserRoles IsPerformer UserActive GetUserName GetRoleName GetRoleDisplayName TCS Internal 17 March 2009 105 .Defining Workflow Roles Directory Service API s The following APIs can be called by an application program or a workflow function in the runtime phase to retrieve information about existing users and roles.
Oracle Workflow Basics Thank You TCS Internal 17 March 2009 106 .
This action might not be possible to undo. Are you sure you want to continue?