Oracle Workflow

Version 1.0

1

Agenda 
 Overview Workflow Builder

± Workflow Components ± Create Workflow Process ± Item Type - ³Standard´ 
      Workflow Architecture Workflow Directory Services Workflow Monitor Workflow Item attributes Business Event System Workflow development Approaches Workflow Technical Architecture

Version 1.0

2

Objectives 
   Know what is Oracle workflow Know how business processes are modelled with workflow builder Know how workflow processes can be monitored Know architecture of Oracle workflow

Version 1.0

3

automating & monitoring Business processes. information or tasks are passed from one participant to another for action.. according to a set of procedural rules. Version 1. It is used for modeling.Overview   Oracle Workflow is a Business Process Management tool. during which documents.0 4 . Here is a sample workflow process diagram.

Integrating Systems Version 1. branch. Models Business Process with Rules : ± ± ± ± ± ± ± ± Oracle Workflow lets you model sophisticated business processes with loop.). Delivers electronic notifications to any e-mail or Internet user.Overview (Contd. Delivers electronic notifications to any Oracle Applications user.0 . Routes Information for necessary Action : 3. You can communicate events among systems within your own enterprise and with external systems as well to achieve complex system integration scenarios. Oracle Workflow lets you set up subscriptions to business events which can launch workflows. Oracle Workflow accomplishes these important business requirements: 1. Oracle Workflow can decide which path to take based on the result of a stored PL/SQL procedure. The attachments include self-service Web page and Application forms. Routes information through Oracle Apps for action or notification. parallel flows and then decompose into subflows. 5 2. Delivers Electronic Notifications : 4.

or modify a business process with simple drag and drop operations.Workflow Builder Oracle Workflow Builder is a graphical tool that lets you create. view.0 6 . Version 1.

In the standalone version of Oracle Workflow. Message: The information sent by a notification activity. All the workflow components mentioned below are grouped together as an Item type. The message may request the performer to do some work or may simply provide information. notification activities. Function Activity: An automated unit of work. and other subprocesses. Item Type Attribute: A feature of the item type which stores information that can be globally referenced by any activity in a process. Process Activity: A series of actions that need to be performed to accomplish a business goal. A process is represented by a workflow diagram. Also referred to as an item attribute. event activities. A process can include function activities. a function activity can also run a Java program on the middle tier. Item Type: A specific business document or transaction eg.0 7 . Version 1. Purchase order can be  an item type.Workflow Components        Data Store: A database connection or flat file that holds a workflow process definition. usually defined as a PL/SQL stored procedure. A notification activity sends a message to a performer. Event Activity: A business event modeled as an activity so that it can be included in a workflow process. Notification Activity: A unit of work that requires human intervention. A function activity can also run an external function.

Transition: The relationship that defines the completion of one activity and the activation of another activity within a process. Version 1. In a process diagram. purchase order can be an item type while a purchase order identified by a particular ID number is an item of that item type. The values in the list are called lookup codes.0 8 .  Item: A specific business document or transaction. For example.  Process Instance: A unique item being managed by a process.Workflow Components (Contd.   Lookup Type: A list of values that can be referenced by any activity in a workflow process. a transition is represented as an arrow between two activities.).

).Workflow Components (Contd.0 Receive Raise Send } (No Result) . Process: F T N Y Function: PL/SQL code returns Result Notification: Message Result T Result F Result B Result A } Result Type = Lookup Type Result Y Result N } RESULT Resp 1 Resp 2 « FYI Response Required µSend¶ Attributes µSend¶ and µRespond¶ Attributes } 9 Event: Event Message Version 1.

0 Version 1.Create Workflow Process Version 1.0 10 .

Right click and create an item type. then provide the no. the selector function identifies the specific process the workflow Engine should execute when a workflow is initiated for this item type. Select the Access tab page to set the access and customization levels for this item type. If any workflow item type has more than one runnable processes. of days after which its audit trail will be purged. once the workflow item instance is completed.   Version 1. Assign an eight character internal name in upper case without colons or spaces. If temporary. Specify a persistence type of temporary or permanent.Create Item Type    Open or create a data store in Navigator window.0 11 .

 Version 1.Create Item Attribute  Create an item attribute . maximum 8 characters. assign it an internal name which must be uppercase. this is not updatable and should not have colons or spaces. It acts as a global variable that can be referenced or updated by any activity within a process.0 12 .

Create Lookup Type  A lookup type is a static list of values.0 13 .  Version 1. We can create an ³Approval´ lookup type. These lists can be referenced as Result type by function and notification activities. A message attribute can reference a lookup type as a means of providing a list of possible responses to the performer of a notification. which will have 2 lookup codes viz: Approved & Rejected.

Create Lookup Code  Lookup codes represent the actual values in a lookup type. Right click on the lookup type and choose New lookup code to create a ³APPROVED´ lookup code.0 14 .  Version 1. The lookup codes for a lookup type are defined in the navigator tree beneath the lookup type.

You can enter plain text or html formatted message in the body. To include a message attribute.0 15 .     The subject can include message attributes that get token replaced with runtime values.Create Message  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. which is defined in Notification node. The recipient of a workflow message is called the performer. use an ampersand (&) followed by the message attribute¶s internal name. Version 1.

The lookup type you select should be identical to the lookup type specified for the notification activity¶s result type.    Enter message attribute internal name. Specify ¶Send¶ or ¶Respond¶ in the Source field to indicate whether this attribute should send information or prompt a recipient for a response. The Display Name appears as the response prompt. Version 1. Select a lookup type from the poplist field.Create Message Result and Attributes   Specify a display name and description for Message Result.0 16 . If this is a ¶Respond¶ message attribute.

then only one copy of the notification is delivered to the role as a whole.Create Notification Activity   The message sent by a notification activity can simply convey information or it can require a response. 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 create ³Send´ message attributes that provide enough information for the recipient to respond. If the message requires a response. then it lets you add processing logic to the notification activity and also known as a post-notification function. then check Expand Roles.0 17 . If you provide a PL/SQL procedure as Function. and also create ³Respond´ message attributes that prompt a response. If you uncheck Expand Roles.   Version 1.

0 18 . That result should be defined as a code in a lookup type.  Version 1.Create Function Activity  The PL/SQL procedure for a function activity can return some result that determines the next transition the Workflow Engine takes.

Version 1.Create Event Activity  An event activity can either receive. but you can branch on the contents of an event message using comparison activities provided in the Standard item type. An event activity does not have a result. raise. or send a business event from the Business Event System.0 19 .

Notification. event. function. and process activities make up the nodes of a process. You define transitions between activities by drawing arrows from one node to the next by clicking the right mouse button and drawing it to the next activity while keeping it pressed. 20 Version 1.Create Process Activity    You can drag and drop activities from the navigator tree into the process window or create activities directly in the process window by right-click and choosing the option.0 .

Workflow Technical Architecture Version 1.0 Version 1.0 21 .

0 22 .Master Table List WF_PROCESS_ACTIVITIES WF_ACTIVITIES WF_ACTIVITY_ATTRIBUTES WF_ITEM_TYPES WF_ITEM_ATTRIBUTES WF_MESSAGES WF_MESSAGE_ATTRIBUTES WF_ROUTING_RULES WF_ROUTING_RULE_ATTRIBUTES Version 1.

Transaction Table List WF_ACTIVITY_ATTR_VALUES WF_ACTIVITY_TRANSITIONS WF_ITEM_ACTIVITY_STATUSES WF_ITEM_ACTIVITY_STATUSES_H WF_ITEMS WF_ITEM_ATTRIBUTE_VALUES WF_NOTIFICATION_ATTRIBUTES Version 1.0 23 .

These views are de-normalized so as to provide a faster access to data over networks. Some of the important views are: WF_ITEMS_V WF_ITEM_ACTIVITY_STATUSES_V WF_NOTIFICATIONS_VIEWS WF_ROLES WF_USERS WF_USER_ROLES Version 1.Views used in Workflow Workflow uses views for effective querying of data.0 24 .

0 25 . WF_ENGINE WF_CORE WF_PURGE WF_MONITOR WF_QUEUE WF_NOTIFICATIONS These APIs can be used to create WF processes. send notifications.API¶s used in Workflow Various PL/SQL APIs exist for the working of Oracle Workflow. Version 1. purge etc. These can essentially be used by the developer while developing any WF components (either customizing or creating new WF item types).

0 26 .Workflow Transitions Version 1.

<Default> Transitions c.0 27 . a logical step that contributes toward the completion of a process.  Different Types of Transitions:- a. Self-looping Transitions b. <Any> Transitions Version 1. Transitions-Transitions appear as arrows in your diagram and represent the completion of one activity and the activation of another.Workflow Transitions  Activity-Each activity is a node.

Self-looping Transitions Activity loops back to itself on Timeout Version 1.0 28 .

0 29 .<Default> Transitions  The Workflow Engine follows a <Default> transition if no other transition matching the completion result exists. Version 1.

Version 1.<Any> Transitions Ap p ro ve Do cume nt Ap p ro ve d End (Ap p ro ve ) S ta rt R e vie w Do cume nt R e je c t Ye s No <Any> Do cume nt R e je c te d End (R e je c t) Lo g R e vie w  The Workflow Engine follows an <Any> transition regardless of what completion result the activity returns.0 30 . This allows you to include a generic activity in the process that the Workflow Engine executes in parallel with the result±specific activity .

0 31 .Standard Version 1.Workflow Item Type .0 Version 1.

 Launch Process : This lets you launch another workflow process from the current process. where you want to place a node without performing an action. These activities include:  And/Or : In a process diagram where multiple branches transition to a single node.0 32 .  Wait : You can wait until a time period after this activity is encountered or until a specific date or until a day of the week/month.  Noop : Use this activity in the workflow process.Item Type . Version 1.  Compare Date/Number/Text : Use this to compare an item attribute with a constant value or another attribute. use this logic can be to progress further.Standard  The seeded item type ³Standard´ includes function and notification activities provided by Oracle Workflow that can be included in your process diagrams.  Block : 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.

  Version 1. The results of the tally determine the activity that the process transitions to next.Item Type ± Standard (Contd. Vote Yes/No :This activity lets you send a notification to a group of users in a role and tally the Yes/No responses from those users. you place one activity in the master process and the other in each detail process. of times workflow engine transitions through a particular path.    Loop Counter : Use this to limit the no. Assign : Lets you assign a value to an item attribute. Start/End : These activities mark the start or end of a process and does not perform any action.). To use these activities. Continue Flow/Wait for Flow : One activity lets you pause a process and the other signals the halted process to continue.0 33 .

Workflow Directory Services Version 1.0 34 .

If you use PL/SQL to create roles make sure you give all user names and role names in UPPER case to avoid some problems · · · · · Version 1.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. Create Roles: Adhoc roles can be created using User Management Responsibility or through PL/SQL in database.0 Script to Create a Adhoc Role Script to Add user to existing Adhoc Role Script to Remove user from existing Adhoc Role Using Adhoc roles in workflow notifications Adhoc Roles Tables 35 .

NULL. BEGIN wf_directory. --USER NAME SHOULD BE IN CAPS NULL.Script to Create a Adhoc Role DECLARE lv_role varchar2(100) := 'DEMO_ROLE'. 'MAILHTML'. NULL. lv_role_desc. lv_role_desc varchar2(100) := 'DEMO_ROLE'. End. NULL). 'Role Demo for erpschool users'. dbms_output. NULL.CreateAdHocRole(lv_role.0 36 . 'NAME1 NAME2'. 'ACTIVE'. / Version 1.put_line('Created Role' ||' '||lv_role).

Script to Add user to already existing Adhoc Role DECLARE v_role_name varchar2(100). v_user_name). Version 1. --USER NAMES SHOULD BE in CAPS END. v_user_name varchar2(100).AddUsersToAdHocRole(v_role_name. v_user_name := 'NAME3'. WF_DIRECTORY.0 37 . BEGIN v_role_name := 'DEMO_ROLE'.

v_user_name).Script to Remove user from existing Adhoc Role DECLARE v_role_name varchar2(100). --USER NAMES in CAPS END. WF_DIRECTORY.RemoveUsersFromAdHocRole(v_role_name.0 38 . v_user_name := 'NAME3'. v_user_name varchar2(100). Version 1. BEGIN v_role_name := 'ERPSCHOOLS_DEMO_ROLE'.

Open the notification properties and then navigate to node tab.Using Adhoc roles in workflow notifications Navigation: File > Load Roles from Database Select roles you want to use and then click OK. notification preferences and e-mail 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 WF_LOCAL_ROLES WF_USER_ROLE_ASSIGNMENTS Version 1. WF_USERS: Contains information on user names. select performer as the role you just created and loaded from database.0 39 . display names.

Oracle Workflow Monitor Version 1.0 40 .

Oracle Workflow Monitor ‡Workflow administrators and users can view the progress of a work item in a workflow process by connecting to the Workflow Monitor using a standard Web browse. and examine participant responses to notifications sent by the workflow.0 41 . Version 1. You can use the monitor to review the notifications sent by a workflow. ‡The Self-Service Monitor in Oracle Applications lets you view and administer workflows that you own. check the progress of the workflow by viewing the status diagram.

the process. ‡The Workflow Monitor also displays a separate status summary for the work item.0 42 . Version 1.Oracle Workflow Monitor ‡The Workflow Monitor displays an annotated view of the process diagram for a particular instance of a workflow process ‡Users can get a graphical depiction of their work item status. and each activity in the process.

0 43 .Oracle Workflow Architecture Version 1.

Workflow Architecture Web Notification Worklist Web Monitor Web Analysis Tools Mail Applications Notification Mailer Application Server Oracle HTTP Server Advanced Queuing Directory Services Users Roles Workflow XML Loader Workflow Builder Workflow Engine Workflow Definitions Loader Workflow Definition Files Workflow Development Client 44 Business Event System Notification System Oracle Workflow Enabled Application End-User Client Version 1.0 Oracle Server .

‡ Workflow Definitions Loader lets you transfer process definitions between a database and a flat file. the Oracle Workflow Monitor and e-mail applications. This client includes browser support for reviewing and responding to notifications in the Notification Worklist.  Oracle Workflow Architecture ± Workflow Development Client ‡ The development client is a PC running on Windows.Workflow Architecture (Contd. and the Notification Mailer. and directory services. Version 1. This allows to source-control the processes as flat file. Notification System. ± Application Server ‡ The application server is the environment outside of the RDBMS. This platform is used to create and modify Oracle Workflow process definitions using Workflow Builder. ± Oracle Server ‡ The Oracle Server platform is the Oracle RDBMS. ± End-User Client ‡ The end-user client is the PC that an end user uses to perform daily tasks. This platform hosts the business applications such as the Workflow Engine.0 45 . ‡ Workflow XML Loader lets you transfer XML definitions for Business Event System objects between a database and a flat file.). Business Event System. This environment includes ancillary services such as the Oracle9i Application Server (Oracle9iAS) as the web server.

Workflow Item Attributes Version 1.0 46 .

0 47 .Attribute Data Types You can assign the following data types to attributes: ± Text ± Number ± Date ± Lookup ± Role ± Attribute ± URL ± Form ± Document ± Event Version 1.

URL Attributes
‡URL Attributes : When you create an item attribute of type URL, specify a frame target for the attribute. ‡If you reference this item attribute as the default value of a message attribute in a message, the URL frame opens according to what you specified as the frame target. ‡The value of a URL attribute can be a text string or can be token substituted. ‡A URL value is specified in the format: http://<location>

Version 1.0

48

URL Attributes
‡The Notification Details web page supports message attributes of type URL. These attributes appear in a notification message body as a hypertext link or below the message as an attachment icon. When you open your notification, you can click the link or attachment icon to display the URL according to the frame target specified for the attribute. Click the attachment icon to launch an attached URL in the Web browser

Version 1.0

49

Form Attributes
‡Form Attribute Values : The value for an attribute of type form must be the internal function name of an Oracle EBusiness Suite form function, together with any optional form parameters. ‡The default value for the form attribute must be entered using the following format: ‡function_name:parameter1=value1 parameter2=value2 ...parameterN=valueN ‡The value of a form parameter can be a text string enclosed in quotes (³ ³) or can be token substituted with another predefined item type attribute in either of the following ways: ‡parameterN = ³&item_type_attribute´ ‡parameterN = ³Value &item_type_attribute´, where &item_type_attribute represents the rest of the value
Version 1.0

50

you must view the notification in the Notification Details web page. ‡These attributes appear in a notification message as a form icon.Form Attributes ‡Form Attributes : The Notification Details web page supports message attributes of type form. ‡Form attributes cannot be attached to e-mail notifications. you can click the attached form icon to drill down to the referenced form. To view form attachments. ‡When you open your notification.0 51 . Click the form icon to launch an attached Oracle E-Business Suite form Version 1.

A PL/SQL document value is specified in the format: PLSQL:<procedure>/<docume nt_identifier> Version 1. a document representing data from the database as a character string.Document Attributes ‡Document attribute: The value for a document attribute should be a PL/SQL document ie.0 52 . generated from a PL/SQL procedure.

These attributes appear in a notification message as an inline link or as an attachment icon.Document Attributes The Notification Details web page supports message attributes of type document. Click the attachment icon to open an attached document Version 1. When you open your notification.0 53 . you can click a link or an attachment icon to open the referenced document.

0 54 .Business Event System Version 1.

0 55 .Business Event System An Event is a business activity that takes place in your system viz: A Purchase Order is approved A Sales Order is Booked When an event occurs. eg: Booking an Order is an event and Sending an Acknowledgement to the Customer is a subscription. Such a workflow or a PL/SQL is called subscription. Version 1. you may want to do some processing by means of calling a Workflow or by executing some PL/SQL Function.

0 56 .Create Event and Subscription Version 1.

You may even attach a workflow type and process to the event.Name the pl/sql function which we are attaching to the event. Version 1.0 57 .

RAISE function from anonymous block or from a trigger when a Business transaction happens. Version 1.p_event_key => x_event_key .p_parameters => x_event_parameter_list ).RAISE(p_event_name => x_event_name .0 58 . As per the event subscription the pl/sql function will be executed or the workflow process will be executed.Raise Business Event Raise the Business event using wf_event. ± wf_event.

0 59 .Workflow Development Approaches Version 1.

Bottom Up Approach Top Down Approach Version 1.Workflow Approaches Two approaches for creating work flow: - 1.0 60 . 2.

Define the activities in the process as Function. Define messages.Bottom Up Approach 1. Define the item type of the process. Define the item type attributes for the process. 5. 7. Notification or Process. Version 1. 6. 4. 3.0 61 . Define message attributes. Diagram the relationship of the activities. 2. Define lookup types and lookup codes.

Define message attributes. Define item type attributes for the process. 6. 3. Update processes. and notifications with underlying components. Version 1.Top Down Approach 1. 7.0 62 . 4. Define lookup types and lookup codes. Use the Quick Start Wizard to create the process framework. Define messages. Diagram the relationship of the activities. functions. Define activities without underlying dependencies. 5. 2. 8.

Oracle Applications Documentation library .oracle.html Version 1. http://downloaduk.com/docs/cd/B25516_08/current/html/docset.Oracle workflow Developer's Guide.References 1.0 63 .

Sign up to vote on this title
UsefulNot useful