<Insert Picture Here>

Oracle Workflow
Sunil Dev Oracle GSD India

Oracle Workflow
‡ Oracle Workflow automates and streamlines business processes contained within and outside of Oracle Applications
‡ For example: ‡ Add personalized trading partner rules ‡ Validate self-service transactions ‡ Closed loop business intelligence ‡ Approve standard business documents ‡ Step through daily transaction flows ‡ Software implementation process

‡ Workflow is everywhere is Release 11 & Release 11i

Components
‡ ‡ ‡ ‡ ‡ ‡ ‡ The Workflow Processes Workflow Engine Workflow Builder Business Event System Notification System The Workflow Monitor Workflow Definitions Loader

Complete Process Representation
Notify Approver

Requisition Approval Process

Verif Aut

rit

Appr

q isiti n

N tif

q st r f Appr val

End (Appr

Appr Rec rd Req isiti n F r ard

N tif

¢ ¢ ¢¤

N tif Appr

q st r N r Availabl

 

¢ ¢ ¡    ¢¦ ¢¤ §  

¢ ¥

F ls

q st r f F r ard

End (

j ct d)

¢ ¢ ¢¤

¦

¨      ¢¦ ¢¤ §  

¢¦

Start

Select Appr ver Tr

And

N tif Appr

r

Reject Req isiti n

N tif

  ¢ ¢¤     ¢¦ ¢¤ §  

 

¢ ¢ ¢¤ £

¢ ¡ 

§  

 

¦

¨ 

 

¢¦

Tr

j ct

q st r f j cti n

End (

j ct d)

¢ ¡ 

      ¢¦ ¢¤ §  

 

¦ ¢¤ ¢ ¡ 

¢

N

¢ £ ¡ 

§  ©

§

 

Y s d)

 

Designing Business Processes for Change
‡ Business processes will change
‡ No artificial constraints on the business process ‡ Enabling dynamic processes sympathetic to change ‡ Change business processes without changing code (Reduced cost of ownership)

‡ Re uires visual overview of business processes
‡ You can only fix what you can see ‡ Visual documentation of the business process

Oracle Workflow Builder ‡ Graphically represents a business process using drag and drop process designer ‡ ‡ ‡ ‡ Evolve the process Improve decision making message content Create alternative paths Redeploy people to ³Value Added Only´ roles ‡ Modify an existing business process without changing applications code ‡ Reduced cost of change and ownership .

Designing a Process .

Rule-Based Workflow Engine Server Side Architecture Ensures Optimal Performance Oracle ‡ Manages the execution of a business Applications process ‡ Immediate and background operation ‡ Generates 100% audit trail Oracle Workflow ‡ Delivers notifications when human activities are re uired ‡ Oracle database transactional integrity guarantees consistency between Oracle o7 application and workflow state DB .

Rule-Based Workflow Engine ‡ Looping ‡ Results-based branching ‡ Parallel flows ‡ Rendezvous .

Rule-Based Workflow Engine ‡ Voting ‡ Time-outs ‡ Escalation ‡ Automatic forwarding ‡ Sub-processes ‡ Unlimited hierarchy of subprocesses .

Rule-Based Workflow Engine ‡ Error processing ‡ Centralize process for error handling ‡ Administrator can fix and restart a process ‡ Effective version ‡ Multiple versions of a process can be active at the same time ‡ Implement new practices without affecting active work items .

and allow Oracle Workflow to branch on the result ‡ Write custom code as a PL/SQL activity and have the workflow engine execute your code ‡ PL/SQL API available for all engine operations ‡ Communicate with the workflow engine via any application capable of making a remote procedure call to an Oracle server .Rule-Based Workflow Engine ‡ Complete programmatic extensibility ‡ Express any complex business rule as a PL/SQL activity.

sick Leave) ‡ When user wants to temporarily delegate a task .Electronic Notifications ‡ Automatically Notify Users ‡ Alert users of exception conditions ‡ Respond to events that re uire human udgement ‡ Send Notifications to individuals or roles ‡ Change the participants in a role without changing the process ‡ Automatic Notification Forwarding ‡ When user is unavailable (vacation.

MAPI.Electronic Notifications Internet-Enabled ‡ Use standard Web browser to review and respond ‡ Access from Self-Service / Business Intelligence home page ‡ Allows drill-down to any URL or Applications screen to research or complete transaction E-mail ‡ Standard Mail Protocols: (Oracle Internet Messaging. UNIX Sendmail) ‡ Detail and summary formats ‡ Template and direct response ‡ Plain text or HTML email .

Notification System Oracle InterOffice Various Mail Applications ‡ Lotus Notes ‡ MS Exchange ‡ Oracle InterOffice ‡ Unix Sendmail ‡ Others Notification Worklist Developer 2000 Client SMTP MAPI Notifications Notification Worklist Web Client Oracle Workflow Notification Mailer Oracle server Oracle Workflow Worklist .

Oracle Workflow Monitor ‡ Graphically monitor and administer workflow transactions ‡ ‡ ‡ ‡ ‡ Java Applet running in standard Web Browser View and analyze transaction history Retry or skip any activity Rewind and rerun any process Available to end users and administrators ‡ Summary of key activities ‡ Decision makers in the process ‡ Current owners .

Oracle Workflow Monitor .

Oracle Workflow Monitor .

Workflow Architecture Directory Services Notification Worklist D2K Form Users Roles Web Notification Worklist Notification Services Engine Send Respond Oracle Application Server Execution Definition Administration Monitoring Query Workflow Builder Web Process Monitor Forward Cancel Workflow Loader Web Analysis Tools Query Workflow Definition Files Notification Mailer Oracle Workflow Enabled Application Mail Applications End-User Client Application Server Oracle server Workflow Dev Client .

Oracle Workflow Data Model .

Workflow Datamodel Workflow tables begin with WF and are owned by APPLSYS Tables Definition tables ± seen in Workflow Builder to define a process Item Type Transactional tables ± used primarily by workflow engine to exercise the process definition for a single Instance of the process.s l BDE_WF_ITEM.s l $FND_TOP/s l . Item Type Item Key Scripts BDE_Wf_DEF.

Workflow Definition Tables Elements in the Workflow Builder Navigator map to database tables Translation Tables Item Types are at the top of the Hierarchy Activities Events Processes Functions Notifications Other Elements Attributes Messages Lookup Types These Elements may have sub-elements such as Attributes and Lookup Codes .

Data Model and the Workflow Builder WF_ITEM_TYPES WF_ITEM_ATTRIBUTES 200+ Item Types defined in Oracle Applications } WF_ACTIVITIES WF_MESSAGES WF_LOOKUP_TYPES_TL .

Item Type Properties WF_ITEM_TYPES NAME PERSISTENCE_TYPE PERSITIENCE_DAYS WF_SELECTOR .

Item Attribute Properties WF_ITEM_ATTRIBUTES NAME TYPE FORMAT TEXT_DEFAULT« .

Events WF_ACTIVITIES TYPE = ' EVENT' DIRECTION EVENT_NAME COST .

Processes ± Activity Tab WF_ACTIVITIES TYPE = ' PROCESS' RUNNABLE_FLAG RESULT_TYPE .

Processes ± Details Tab WF_ACTIVITIES ERROR_ITEM_TYPE ERROR_PROCESS RERUN VERSION .

Functions ± Activity Tab WF_ACTIVITIES TYPE = µFUNCTION¶ FUNCTION_NAME FUNCTION_TYPE RESULT_TYPE COST .

Notifications ± Activity Tab WF_ACTIVITIES TYPE = µNOTICE¶ FUCNTION_NAME RESULT_TYPE MESSAGE .

Messages ± Message Tab WF_MESSAGES DEFAULT_PRIORITY 1 = High 50 = Normal 99 = Low .

Messages ± Body Tab WF_MESSAGES_TL SUBJECT BODY HTML_BODY Uses the Translation table .

Messages ± Result Tab WF_MESSAGES_ATTRIBUTES Result Lookup Type Default Type Constant Item Attribute Default Value .

Lookup Types WF_LOOKUP_TYPES_TL LOOKUP_TYPE Only a Translation table exists .

Lookup Codes WF_LOOKUPS_TL LOOKUP_TYPE LOOKUP_CODE Sub-Element of Lookup Types .

Function and Notification Activities Copied to another table when used within a Process (WF_ACTIVITY_ATTR_VALUES) WF_MESSAGE_ATTRIBUTES Defines Attributes specifically used for Messages Copied to WF_ACTIVITY_ATTRIBUTES when Message is copied to a Notification .Attributes WF_ACTIVITY_ATTRIBUTES Defines Attributes specifically used for Event.Sub-Element .

Data Model ± See Handout AAT PK PK PK PK WF_ACTIVITY_ATTRIBUTES(TL) ACTIVITY_ITEM_TYPE ACTIVITY_NAME ACTIVITY_VERSION NAME DISPLAY_NAME TYPE VALUE_TYPE DATE_DEFAULT NUMBER_DEFAULT TEXT_DEFAULT FORMAT SEQUENCE FK ACT ACT ACT WF_ACTIVITIES(TL) ACT PK ITEM_TYPE PK NAME PK VERSION FUNCTION_TYPE DISPLAY_NAME RUNNABLE_FLAG RESULT_TYPE RERUN COST FUNCTION MESSAGE EVENT_NAME DIRECTION FK TYP MSG (Default) WF_ITEM_ATTRIBUTES(TL) ATR PK ITEM_TYPE PK NAME DISPLAY_NAME TYPE DATE_DEFAULT NUMBER_DEFAULT TEXT_DEFAULT FORMAT SEQUENCE FK TYP WF_ITEM_TYPES(TL) TYP PK NAME DISPLAY_NAME WF_SELECTOR PERSISTENCE_TYPE PERSISTENCE_DAYS DESCRIPTION FK WF_LOOKUP_TYPES_TL LTY PK LOOKUP_TYPE PK LANGUAGE ITEM_TYPE DISPLAY_NAME FK TYP (Default) WF_MESSAGE_ATTRIBUTES(TL) MAT PK MESSAGE_TYPE PK MESSAGE_NAME PK NAME DISPLAY_NAME TYPE VALUE_TYPE DATE_DEFAULT NUMBER_DEFAULT TEXT_DEFAULT FORMAT SEQUENCE FK MSG MSG WF_MESSAGES(TL) MSG PK TYPE PK NAME DISPLAY_NAME PRIORITY SUBJECT BODY HTML_BODY FK TYP WF_LOOKUPS_TL LKC PK LOOKUP_TYPE PK LOOKUP_CODE PK LANGUAGE MEANING FK LTY .

Data Model and the Process Window WF_ACTIVITY_TRANSITIONS WF_PROCESS_ACTIVITIES .

Process Activities WF_PROCESS_ACTIVITIES Created by dragging an Activity onto the Process Window Copies the Information from WF_ACTIVITY_ATTRIBUTES to WF_ACTIVITY_ATTR_VALUES Assigns it an INSTANCE_ID Label is needed to uni uely identify Activity Version Information is recorded for the Process. the Performer is assigned here . For Notifications.

Activity Attribute Values WF_ACTIVITY_ATTR_VALUES .

Activity Transitions WF_ACTIVITY_TRANSITIONS Represented by the Flow Arrow from one Activity to Another The Arrow may have a Result Code Allows Multiple Arrows from a single Activity A Default May be tied to the Flow Arrow (*) Three Key pieces of information needed for a transition FROM_PROCESS_ACTIVITY ± Instance Id RESULT_CODE TO_PROCESS_ACTIVITY ± Instance Id .

Data Model AAV PK PK WF_ACTIVITY_ATTR_VALUES PROCESS_ACTIVITY_ID NAME VALUE_TYPE DATE_DEFAULT NUMBER_DEFAULT TEXT_DEFAULT FK ACT AAT WF_PROCESS_ACTIVITIES PRC PK INSTANCE_ID INSTANCE_LABEL PROCESS_ITEM_TYPE PROCESS_NAME PROCESS_VERSION ACTIVITY_ITEM_TYPE ACTIVITY_NAME START_END DEFAULT_RESULT PERFORM_ROLE FK ACT ACT ACT ACT1 ACT1 ACT1 PRO1 ACT AAT PK PK PK PK WF_ACTIVITY_ATTRIBUTES(TL) ACTIVITY_ITEM_TYPE ACTIVITY_NAME ACTIVITY_VERSION NAME DISPLAY_NAME TYPE VALUE_TYPE DATE_DEFAULT NUMBER_DEFAULT TEXT_DEFAULT FORMAT SEQUENCE FK ACT ACT ACT WF_ACTIVITIES(TL) ACT PK ITEM_TYPE PK NAME PK VERSION FUNCTION_TYPE DISPLAY_NAME RUNNABLE_FLAG RESULT_TYPE RERUN COST FUNCTION MESSAGE EVENT_NAME DIRECTION FK TYP MSG (Default) WF_ITEM_ATTRIBUTES(TL) ATR PK ITEM_TYPE PK NAME DISPLAY_NAME TYPE DATE_DEFAULT NUMBER_DEFAULT TEXT_DEFAULT FORMAT SEQUENCE FK TYP WF_ITEM_TYPES(TL) TYP PK NAME DISPLAY_NAME WF_SELECTOR PERSISTENCE_TYPE PERSISTENCE_DAYS DESCRIPTION FK WF_LOOKUP_TYPES_TL LTY PK LOOKUP_TYPE PK LANGUAGE ITEM_TYPE DISPLAY_NAME FK PRO TRN WF_ACTIVITY_TRANSITIONS FK PK FROM_PROCESS_ACTIVITY PRO PK RESULT_CODE PK TO_PROCESS_ACTIVITY PRO1 TYP (Default) MAT PK PK PK WF_MESSAGE_ATTRIBUTES(TL) MESSAGE_TYPE MESSAGE_NAME NAME DISPLAY_NAME TYPE VALUE_TYPE DATE_DEFAULT NUMBER_DEFAULT TEXT_DEFAULT FORMAT SEQUENCE FK MSG MSG MSG PK PK WF_MESSAGES(TL) TYPE NAME DISPLAY_NAME PRIORITY SUBJECT BODY HTML_BODY FK TYP WF_LOOKUPS_TL LKC PK LOOKUP_TYPE PK LOOKUP_CODE PK LANGUAGE MEANING FK LTY Adobe Acrobat Document .

Workflow Transaction Tables Used to record life cycle information for a workflow process of a specific Transaction (ITEM) Sales Order Header or Lines Purchasing Approval Process Generate an Accrual Account using Account Generator Tables identified by ITEM_TYPE ITEM_KEY Tables WF_ITEMS WF_ITEM_ATTRIBUTE_VALUES WF_ITEM_ACTIVITY_STATUSES WF_ITEM_ACTIVITY_STATUSES_H WF_NOTIFICATIONS .

CREATE_PROCESS Key Columns ITEM_TYPE ITEM_KEY ROOT_ACTIVITY ROOT_ACTIVITY_VERSION PARENT_ITEM_TYPE PARENT_ITEM_KEY Master Detail Relationships Master Detail Relationships .Workflow Item An ITEM is a transactional instance of a workflow process Created by the WF_ENGINE.

item_key. . parent_item_type. Item Type Item Key PARENT_ITEM_TYPE PARENT_ITEM_KEY ========= ======== ================ =============== OEOL 51990 OEOH 47332 1 row selected. parent_item_key 2 from wf_items 3 where item_type = 'OEOL' 4 and item_key = '51990'.Master ± Detail Relationship Master Detail Relationship OM Order Line ± 51990 is the Detail OM Order Header ± 47332 is the Master (Parent) SQL> select item_type.

CREATE_PROCESS Values used by the Workflow Engine whenever an attribute value is needed for transactional processing Key Columns NAME TEXT_VALUE NUMBER_VALUE DATE_VALUE EVENT_VALUE (WF_EVENT_T) .Item Attribute Values Created by the WF_ENGINE.

Item Activity Statuses First Used by the WF_ENGINE.STARTPROCESS See the Workflow Monitor for related data WF_ITEM_ACTIVITY_STATUSES Process_Activity Activity_Status Activity_Result_Code Notification_id Assigned_user Begin/End_Date Due_Date Error_Name Error_Message Error_Stack .

Activity Status History WF_ITEM_ACTIVITY_STATUSES_H Keeps a history of Activities that are re-visited when processing an Item Primary Key Index WF_ITEM_ACTIVITY_STATUSES_PK is violated when revisiting an activity ITEM_TYPE ITEM_KEY PROCESS_ACTIVITY .

Notifications WF_NOTIFICATIONS NOTIFICATION_ID GROUP_ID MESSAGE_TYPE MESSAGE_NAME STATUS ACCESS_KEY MAIL_STATUS PRIORITY RESPONDER CALLBACK ORIGINAL_RECIPIENT .

Data Model WF_ITEM_ATTRIBUTE_VALUES ATV PK ITEM_TYPE PK ITEM_KEY PK NAME TEXT_VALUE NUMBER_VALUE DATE_VALUE EVENT_VALUE FK ITM ITM ATR ITM PK PK WF_ITEMS ITEM_TYPE ITEM_KEY ROOT_ACTIVITY ROOT_ACTIVITY_VERSION OWNER_ROLE PARENT_ITEM_TYPE PARENT_ITEM_KEY PARENT_CONTEXT BEGIN_DATE END_DATE USER_KEY FK TYP ACT ACT TYP WF_ITEM_ACTIVITY_STATUSES_H STH PK ITEM_TYPE PK ITEM_KEY PK PROCESS_ACTIVITY ACTIVITY_STATUS ACTIVITY_RESULT_CODE ERROR_NAME ERROR_MESSAGE ERROR_STACK ASSIGNED_USER NOTIFICATION_ID END_DATE BEGIN_DATE OUTBOUND_QUEUE_ID DUE_DATE EXECUTION_TIME FK ITM ITM PRC NOT WF_ITEM_ACTIVITY_STATUSES STA PK ITEM_TYPE PK ITEM_KEY PK PROCESS_ACTIVITY ACTIVITY_STATUS ACTIVITY_RESULT_CODE ERROR_NAME ERROR_MESSAGE ERROR_STACK ASSIGNED_USER NOTIFICATION_ID END_DATE BEGIN_DATE OUTBOUND_QUEUE_ID DUE_DATE EXECUTION_TIME FK ITM ITM PRC NOT WF_NOTIFICATIONS NOT PK NOTIFICATION_ID GROUP_ID MESSAGE_TYPE MESSAGE_NAME RECIPIENT_ROLE STATUS ACCESS_KEY MAIL_STATUS PRIORITY BEGIN_DATE END_DATE DUE_DATE RESPONDER USER_COMMENT CALLBACK CONTEXT ORIGINAL_RECIPIENT FROM_USER TO_USER SUBJECT FK TYP MSG ROL .

Directory Services Used for sending Notifications Views referencing multiple tables Views WF_USERS WF_ROLES WF_USER_ROLES .

Data Model URL WF_USER_ROLES USER_NAME USER_ORIG_SYSTEM USER_ORIG_SYSTEM_ID ROLE_NAME ROLE_ORIG_SYSTEM ROLE_ORIG_SYSTEM_ID FK USR WF_USERS NAME DISPLAY_NAME DESCRIPTION NOTIFICATION_PREFERENCE TERRITORY EMAIL_ADDRESS ORIG_SYSTEM ORIG_SYSTEM_ID STATUS EXPIRATION_DATE FK ROL WF_ROLES NAME DISPLAY_NAME DESCRIPTION NOTIFICATION_PREFERENCE TERRITORY EMAIL_ADDRESS ORIG_SYSTEM ORIG_SYSTEM_ID STATUS EXPIRATION_DATE FK .

WF_USERS Tables Referenced PER_ALL_PEOPLE_F FND_USER HZ_PARTIES PARTY_TYPE = PERSON PARTY_TYPE = PARTY_RELATIONSHIP WF_LOCAL_USERS .

WF_ROLES Tables Referenced WF_USERS PER_POSITIONS ENG_ECN_APPROVAL_LISTS FND_RESPONSIBILITY_TL GHR_GROUPBOXES AMV_C_CHANNELS_TL HZ_PARTIES for PARTY_TYPE=GROUP WF_LOCAL_ROLES .

FND_USER AMV_C_CHANNELS_TL .PER_ALL_PEOPLE_F HZ_PARTIES ± HZ_PARTY_RELATIONSHIPS WF_LOCAL_ROLES .FND_USER GHR_GROUPBOXES .WF_USER_ROLES Tables Referenced PER_POSITIONS ± PER_ALL_PEOPLE_F ENG_ECN_APPROVAL_LISTS ± PER_ALL_PEOPLE_F FND_RESPONSIBILITY_TL .

s l and wfstatus.s l $FND_TOP/s l wfch«s l scripts change the name of workflow elements wfstat.s l ± Checks the integrity of Primary Keys .1 BDE_Wf_DEF.wft) BDE_WF_ITEM.s l ± Display names wfrefchk.s l Workflow Definition Script Use in addition to the workflow definition file (.s l Use for investigating a single instance of a process Similar to wfstat.s l ± Internal names wfstatus.Scripts ± Note: 183643.

Sign up to vote on this title
UsefulNot useful