Workflow Interview Questions and Answers

97
WORKFLOW 1) What is workflow and what are the benefits of using workflow? Oracle Workflow lets you automate and continuously improve business processes, Routing information of any type according to business rules you can easily change To people both inside and out side your enterprise. One of the key features of Oracle Workflow is the ability to adapt to the business process of process of any enterprise and also be able to adapt to the continuous changes in business processes with ease. Benefits: 1) Create a clear business process definition 2) Automate the business routings 3) Monitor the process 4) Allow users to define their own business process to suit their organization needs. 5) Readily change the business process definitions in case of a change business process Workflow Advantages and Disadvantages? Setting up workflows for your business processes can provide several advantages: Workflows provide good reporting metrics; by using workflows, an audit trail can be created of who signed off on content at various points of the life cycle of the Content. Workflows help you get the right information to the relevant person, and the Relevant information to the right person. Designing a workflow forces you to examine and understand your business Page 1 of 97

description

Workflow Interview Questions and Answers

Transcript of Workflow Interview Questions and Answers

WORKFLOW

1) What is workflow and what are the benefits of using workflow?Oracle Workflow lets you automate and continuously improve business processes,Routing information of any type according to business rules you can easily changeTo people both inside and out side your enterprise. One of the key features of Oracle Workflow is the ability to adapt to the business process of process of any enterprise and also be able to adapt to the continuous changes in business processes with ease. Benefits:1) Create a clear business process definition2) Automate the business routings3) Monitor the process4) Allow users to define their own business process to suit their organization needs.5) Readily change the business process definitions in case of a change business process Workflow Advantages and Disadvantages?

Setting up workflows for your business processes can provide several advantages:

Workflows provide good reporting metrics; by using workflows, an audit trail can be created of who signed off on content at various points of the life cycle of the Content.

Workflows help you get the right information to the relevant person, and the Relevant information to the right person.

Designing a workflow forces you to examine and understand your business Processes, helping you find areas that can be improved.

The same elements that provide advantages can also be disadvantages: you will be forced to examine your business processes and map out how you want to use workflows.This can be a time-consuming process, but the end result is worth it.

Where is Workflow Used in the Applications?

In Release 10.7x Engineering change orders WEB Applications Release 11x ITS EVERYWHERE!!!!

Examples: Order processing in OMCredit memo approval in ARRequisition processing in POOr

If you have oracle Database we can use the Oracle workflow

Why we Required Oracle Workflows?

We use workflow for Streamlines of Business process, it is internal And Beyond the OrganizationsAnd we can upload Documents up to 4 GB .Mainly Required For creating New Process or Modifying Existing process Definitions

Types of Workflows

There are three types of workflows:

A criteria workflow is used for content that enters a workflow automatically based on metadata that matches predefined criteria.

A basic workflow defines the review process for specific content items, and must be initiated manually.

In addition to these two basic types, sub-workflows can be used. Sub-workflows do not have an initial contribution step, but are entered via a workflow jump. They are created in the same manner as criteria workflows. Sub-workflows are useful for splitting large, complex workflows into manageable pieces.

2) Which workflow u have customized?

3) What is need of customization and what have u done? 4) How can u send the email notification? 5) What is the performer? 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 dynamic role name before we can reference that item attribute in the performer field. 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 populist. 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.Note: When you assign a notification to a multiuser role, the Workflow Engine keeps track of the individual from that role that actually responds to the notification

6) How can u launch workflow from oracle apps forms and through oracle apps Only? 7) Can u call function from workflow? Yes we can call

8) What are the different types of attribute and how they can be used?

9) How to create new workflow? Explain step by step? In two ways : 1.Quick Wizard 2. Manual

10) What are the mostly used lookup types?

YES/NO APPROVAL (APPROVE /REJECT) BOLLEAN (TRUE/FALSE) LOOP COUNTER (EXIT/LOOP) Routing Action (FORWARD/ NOOP/ RESPOND/TRANSFER) SUCCESS/FAILURE

11) Have can we create your own lookup types? To define a lookup type:1. In the Oracle Workflow Builder, select the item type you want in the navigator tree. Then choose New Lookup Type from the Edit menu. 2. In the Lookup Type property page, enter an internal name for the lookup type. The internal name must be all uppercase without any colons or leading or trailing spaces. 3. Enter a display name for the lookup type.4. Enter a description of the lookup type.5. Choose Apply to save your changes.(To define a lookup code:1. In the Oracle Workflow Builder, select the lookup type you want in the navigator tree. Then choose New Lookup Code from the Edit menu. 2. In the Lookup Code property page, enter an internal name for the lookup code. The internal name must be all uppercase without any colons or leading or trailing spaces. 3. Enter a display name for the lookup code.4. Enter a description of the lookup code.5. Choose Apply to save your changes. ) 12) How can we attach attributes to messages? To define a message attribute:1. In the Oracle Workflow Builder, select the message you want in the navigator tree. Then choose New Attribute from the Edit menu. 2. In the Attribute property page, enter an internal name for the attribute. The internal name must be all uppercase without any colons or leading or trailing spaces. 3. Enter a display name for the attribute.4. Enter a description of the attribute.5. In the Type field, select the data type for the attribute.6. Depending on the data type, enter format information, if applicable.7. Specify either Send or Respond in the Source field to indicate whether the attribute should send information to the recipient or prompt the recipient for a response, respectively. You should set the source to Send for any message attributes that you include in the message subject and message body for token substitution.8. Set the default value of a Send attribute to reference either a constant or the runtime value of an item type attribute. You can optionally set a default value for a Respond attribute as well.9. Choose Apply to save your changes.Note: To define a message attribute that references an existing item attribute, you can also select the item attribute in the navigator tree and drag it onto the message you want in the navigator tree. Then edit the property page that appears, making sure the message attribute has the appropriate source. The default type is automatically set to Item Attribute and the default value references the originating item attribute.

13) Can u delete the existing workflowif yes how can u do the same? 14) Explain different workflow table and what for they used? 15) How version of workflow can be maintained? 16) How can u know which workflow is being used using tables? 17) Suppose u have modified a workflow and if want to get the earlier version of WF how could u get the same? 18) Can u write commit in a workflow and why?19) What is the WF standard?20) How to pass parameters to WF from forms?21) Can u call WF from sql? YES because we can call plsql procedure from sql so same like we can also call workflow procedure API from sql.

22) What is time out mode?

23) Can u used call a process in same process? Means suppose u have got one process say A and u are using process B in process A. so can u call process B again in process A?

24) What are workflow APIs? Which API u has to used? Whats use?

25) Can u debug the workflow? If yeshow can u do this?

26) How can I launch WF from concurrent program?

27) How can u display notifications in HTML format? What are the steps?28) How can I restrict the data base to enter the data in WF tables which maintain The log of launching of workflows?29) What is event in workflow?30) How can I set the notification format?(either text or HTML)31) How can I run the workflow from the same position where WF has been stuck up because of error?

32) Launch Workflow from PLSQL Code? declare v_itemtype VARCHAR2(50); v_itemkey VARCHAR2(50); v_process VARCHAR2(50); v_userkey VARCHAR2(50);beginv_itemtype := 'DEMOIT'; v_itemkey := '1233';v_userkey := '1233';v_process := 'DEMOPROCESS';WF_ENGINE.Threshold := -1;WF_ENGINE.CREATEPROCESS(v_itemtype, v_itemkey, v_process);wf_engine.setitemuserkey(v_itemtype, v_itemkey, v_userkey );wf_engine.setitemowner (v_itemtype, v_itemkey,'SYSADMIN');WF_ENGINE.STARTPROCESS(v_itemtype, v_itemkey);commit;exception when othersthen dbms_output.put_line(SQLERRM);end;

What are roles in workflow and how they are used?

Roles are similar to email distribution lists. Roles holds group of users to send email.

How do you download or upload a workflow from a server?

We can do in two ways

1. from command prompt using wfload2. Open workflow in standalone builder and then do save as and select database.

To Start Oracle Workflow Builder from the MSDOS Prompt:Rather than starting Oracle Workflow Builder by doubleclicking on itsWindows icon, you can also type in a command at the MSDOSprompt and specify the file or database to connect to.1. In an MSDOS prompt window, type the following command to Start Oracle Workflow Builder with a specific workflow data file, Where represents the full path and name of the data file:wfbldr 2. To start Oracle Workflow Builder with a specific database connection, type the following command at the MSDOS prompt, where represents the database account information to connect to:wfbldr c Note: If you run Oracle Workflow Builder in Microsoft Windows 98 or Windows NT 4.0 or higher, you can also Doubleclick on a workflow data file (.wft) from the Windows Explorer to automatically open that file and start Oracle Workflow Builder.Note: If you are using the version of Oracle Workflow Embedded in Oracle Applications, use the APPS schema to Connect to the database. 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 represents the internal name of the item type you want to open:E For example:wfbldr wfdemo.wft E wfdemo4. 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 represents the internal names of the item type and process you want to open:E For example:wfbldr wfdemo.wft E WFDEMO:NOTIFYAPPROVER

How to retry multiple errored workflow processes?It can be done from Oracle Application Manager available in System administrator responsibility. What is the access level in workflow used for?

How do you define start and end functions in workflow? How does they differ from normal functions?Using the standard functions available in WFSTD Item type we define start and end functions. They are standard to which we dont need to link any PL/SQL function and return any value to it.What are the activity status in workflow ?An Activity May have the following status :Active -- Activity is RunningComplete -- Activity Completed NormallyWaiting -- Activity is Waiting to RunNotified -- Notification Activity is Delivered And Open Deffered -- Activity is DefferedError -- Activity is Completed With ErrorSuspended -- Activity is Suspended What is the difference between a function and notification in workflow?Function is used perform some PL/SQL operation and finally received input from PL/SQL procedure or function. It can not send emails to users. Where are Notification can be used to send email notification to users and also perform PL/SQL operations.I have sent two different notifications to two different users and I want to wait till both they are approved to send 3rd notification. How can you achieve it?Use AND function from WFSTD item type.What is item type and item key in workflow? Item Type is the boss in hierarchy or workflow components. Item type holds all sub components like functions, notifications, lookups, messages, attributes, events etc Item Key is unique key which need to be provided for item type while running an instance or workflow. Combination of item type, item key should be always unique.How do you use attribute values in workflow messages?

How do you use lookups in workflow?

What are roles in workflow and how they are used?

How do you download or upload a workflow from a server?What are steps to customize the workflow?

What functions can you perform from workflow administrator responsibility?

To send an email to the user workflow notification is the only way or is there any other ways to send it?

Give me some workflow standard procedures?

How can you run/start/kickoff workflow?

A workflow can be initiated from PL/SQL using 2 methods, Launch Process and Start Process. I have given examples of both methods below

Launch Process

CREATE OR REPLACE PACKAGE launchwflow_pkgAS PROCEDURE launchwf;END launchwflow_pkg;/ CREATE OR REPLACE PACKAGE BODY launchwflow_pkgAS PROCEDURE launchwf IS l_wfsequence NUMBER; BEGIN l_wfsequence := '123456'; -- Kick off the workflow wf_engine.launchprocess (itemtype => 'PKWFPROP', itemkey => l_wfsequence, process => 'PKPROPOSAL', userkey => '3456456466', owner => 'OPERATIONS' ); COMMIT; RETURN; END launchwf;END launchwflow_pkg;/

Start Process

CREATE OR REPLACE PACKAGE BODY wflowprocAS PROCEDURE start_test_wf IS ret_stat NUMBER; l_wfsequence NUMBER; l_itemtype VARCHAR2 (40); l_process VARCHAR2 (40); l_userkey VARCHAR2 (40); l_owner VARCHAR2 (40); l_parent_itemtype VARCHAR2 (40); l_parent_itemkey VARCHAR2 (40); BEGIN l_itemtype := 'PKWFPROP'; l_process := 'PKPROPOSAL'; l_userkey := 'ABCD1234'; l_owner := 'OPERATIONS'; l_wfsequence := '12345'; -- Create the workflow process instance wf_engine.createprocess (itemtype => l_itemtype, itemkey => l_wfsequence, process => l_process, user_key => NULL, owner_role => NULL ); -- Set the user key of the workflow (the user key can be set in the -- CreateProcess step also. Then this step will not be required) wf_engine.setitemuserkey (itemtype => l_itemtype, itemkey => l_wfsequence, userkey => l_userkey ); -- Set the workflow item owner wf_engine.setitemowner (itemtype => l_itemtype, itemkey => l_wfsequence, owner => l_owner ); -- Set the initial values for the attributes wf_engine.setitemattrtext (itemtype => l_itemtype, itemkey => l_wfsequence, aname => 'REQUESTOR', avalue => 'OPERATIONS' ); wf_engine.setitemattrtext (itemtype => l_itemtype, itemkey => l_wfsequence, aname => 'APPROVER', avalue => 'MANAGER' ); -- If the workflow we are about to execute is going to be a child process -- for another workflow then we need to connect the running parent process wf_engine.setitemparent (itemtype => l_itemtype, itemkey => l_wfsequence, parent_itemtype => l_parent_itemtype, parent_itemkey => l_parent_itemkey, parent_context => NULL ); -- Kick off the workflow wf_engine.startprocess (itemtype => l_itemtype, itemkey => l_wfsequence); COMMIT; END start_test_wf;END wflowproc;/What is wf_engine package used for?

How many processes can each workflow contain?

What is Runnable option in workflow? At what level it exists?

What are different types of attributes in workflow?

How do you reassign a notification?

What is process in workflow?

How can you send direct oracle form link through workflow notifications?

How can you send a notification to multiple users? Can you change the list dynamically?

Can you send html code in workflow notification?

I have sent two different notifications to two different users and I want to wait till atleast one is approved to send 3rd notification. How can you achieve it?

2. What are the steps involved in oracle workflow?

design & create a Workflow using Oracle Workflow Builder start the Oracle Workflow process from pl/sql integrate Oracle Workflow with pl/sql for validation and DML etc. build Oracle Workflow Notifications attach roles/people to notifications in Oracle Workflow

3. How do you send a particular Oracle Apps Workflow Activity/Function within a workflow process into background mode?.

If cost of the workflow activity is greater than 50, then the workflow activity will be processed in background mode only, and it won't be processed in online mode.

4. What are the various ways to kick-off a workflow?

You can eiter use wf_engine.start_process or you can attach a runnable process such that it subscribes to a workflow event.

5. When starting (kicking off) an oracle workflow process, how do you ensure that it happens in a background mode?

a) if initiating the process using start_process, do the below

wf_engine.threshold := -1; wf_engine.createprocess(l_itemtype,l_itemkey,''); wf_engine.startprocess(l_itemtype, l_itemkey)

b) When initiating the workflow process through an event subscription, set the Execution Condition Phase to be equal to or above 100 for it to be executed by background process

6. Give me one example where apps uses partitioning in Oracle workflow?

WF_LOCAL_ROLES

7. Can you send blob attachments via workflow notifications? Yes, you can send BLOB Attachments.

8. When will an activity be deferred in Oracle workflow? Activity cost > Workflow Engine threshold

Activity is deferred when the activity cost is greater than the Workflow Engine threshold. If the activity cost = 0 or if the activity cost is less than the Workflow Engine threshold, the activity will become Active.

9. What is the primary purpose of a oracle workflow?

Routes information, Sends notifications, Defines process rules The primary purposes of a workflow are to route information, send notification, and define process rule. Although some history is maintained automatically by Oracle Workflow, it will not be considered as creating audit trails.

10. How will you define the possible results of an activity in order to drive different transitions?

As lookup codes for a lookup type You define the possible results of an activity to drive different transitions using lookup codes for a lookup type. You cannot use item attributes. Separating the activity into two does not make sense since you want to drive two transactions with the same activity, but with two result codes. A process activity will not help in this scenario.

11. Time-out parameters apply to which activity in Oracle workflow? Notification A time-out parameter only applies to a notification activity since the time-out parameters are used to measure when a notification expires. It does not apply to a function activity or a process activity.

12. What will solicit responses from a notification activity?

Having a Respond message attribute

Having a Respond message attribute will solicit responses from a notification activity. The display name will become the prompt and the description will be the instruction. Nothing else, such as a time-out parameter, a performer, or a Send message attribute, willhave an affect in soliciting responses.

13. Which Work Engine API should you use to begin execution of an activity in Oracle workflow? StartProcess The StartProcess API begins the execution of an activity. The CreateProcess API creates a new runtime process for an item. The ResumeProcess API resumes a suspended item. The BeginActivity determines if the specified activity may currently be performed on the item.

14. Which implementation process group comes before the product family processes? Common application processes Common application processes come before the product family processes, which come before product-specific processes. Common financial is one of the product family processes. It does not come before product family processes.

15. What is the proper format for an internal name in the Workflow Builder Component?

An internal name for a Workflow Builder component must be in uppercase, have no spaces, and be unique , max 8 charaters size within item type.

16. Which of the following statements is true? A user must be a role. A role cannot be created in the Workflow Builder. Having one active responsibility is not a requirement for a user to be a role. A role can have more than one user.

17. Which component in Oracle Workflow is the graphical interface for Workflow processes? The Workflow Builder in Oracle Workflow is the graphical interface for workflow processes. The Workflow Engine drives items through workflow processes. The Workflow Monitor allows you to view and monitor workflow process instances and the Workflow Definitions Loader loads workflow definitions from a text file or database.

18. When do you need a selector for an item type?

When you have more than one process associated with an item type, you need a selector to select a process. You use the Role Resolution standard activity to perform role resolution. Voting is another standard activity. Multiple result codes drive different transitions, but this is not related to the selector.

19. What does the Workflow Engine do when a function activity has finished? The Workflow Engine issues a savepoint when a function activity is completed. The Workflow Engine never issues a commit; the calling application issues a commit. The Workflow Engine does not generate a log file or notify users.

20. What job does the SetItemUserKey API perform? Set the user-friendly identifier for an item The SetItemUserKey API is used for setting a user-friendly identifier for an item.

*****************************************************************************

1. When will an activity be deferred? A. Activity cost = 0B. Activity cost < Workflow Engine thresholdC. Activity cost > Workflow Engine threshold2. What is the primary purpose of a workflow? A. Routes informationB. Sends notificationsC. Creates audit trailsD Defines process rules3. What job does the SetItemUserKey API perform? A. Sets the unique identifier for an itemB. Sets the role to be notifiedC. Sets the user-friendly identifier for an itemD. Sets the activity ID for an item4. How will you define the possible results of an activity in order to drive different transitions? A. As item attributes for an itemB. As lookup codes for a lookup typeC. Separate the activity into twoD. Use a process activity5. Time-out parameters apply to which activity? A. FunctionB. ProcessC. NotificationD. All of the above6. What will solicit responses from a notification activity? A. Having a time-out parameterB. Having a performerC. Having a Send message attributeD. Having a Respond message attribute7. Which Work Engine API should you use to begin execution of an activity? A. CreateProcessB. StartProcessC. ResumeProcessD. BeginActivity

8. Which implementation process group comes before the product family processes? A. Common application processesB. Product family processesC. Product-specific processesD Common financial9. What is the proper format for an internal name in the Workflow Builder component? A. UppercaseB. No spacesC. Unique within item typeD. All of the above

10. Which of the following statements is true? A. Role can be created in Workflow Builder.B. A user is a role if it has at least one active responsibility.C. A role can only have one user.D. A user must be a role.11. Which component in Oracle Workflow is the graphical interface for workflow processes? A. Workflow BuilderB. Workflow EngineC. Workflow MonitorD. Workflow Definitions Loader12. When do you need a selector for an item type? A. When you must perform role resolutionB. When performing a voting activityC. When more than one process is associated with an item typeD. When multiple result codes are possible13. What does the Workflow Engine do when a function activity has finished? A. Issue a savepointB. Issue a commitC. Generate a log fileD. Notify the user

Answer to the above Questions

1. C.Activity cost > Workflow Engine threshold

ExplanationAn activity is deferred when the activity cost is greater than the Workflow Engine threshold. If the activity cost = 0 or if the activity cost is less than the Workflow Engine threshold, the activity will become Active.

2. A., B., D.Routes information, Sends notifications, Defines process rules

ExplanationThe primary purposes of a workflow are to route information, send notification, and define process rule. Although some history is maintained automatically by Oracle Workflow, it will not be considered as creating audit trails.

3. C.Set the user-friendly identifier for an itemExplanationThe SetItemUserKey API is used for setting a user-friendly identifier for an item.

4. B.As lookup codes for a lookup type

ExplanationYou define the possible results of an activity to drive different transitions using lookup codes for a lookup type. You cannot use item attributes. Separating the activity into two does not make sense since you want to drive two transactions with the same activity, but with two result codes. A process activity will not help in this scenario.

5. C.Notification

ExplanationA time-out parameter only applies to a notification activity since the time-out parameters are used to measure when a notification expires. It does not apply to a function activity or a process activity.

6. D.Having a Respond message attribute

ExplanationHaving a Respond message attribute will solicit responses from a notification activity. The display name will become the prompt and the description will be the instruction. Nothing else, such as a time-out parameter, a performer, or a Send message attribute, will havean affect in soliciting responses.

7. B.StartProcessExplanationThe StartProcess API begins the execution of an activity. The CreateProcess API creates a new runtime process for an item. The ResumeProcess API resumes a suspended item. The BeginActivity determines if the specified activity may currently be performed on the item.

8. A.Common application processesExplanationCommon application processes come before the product family processes, which come before product-specific processes. Common financial is one of the product family processes. It does not come before product family processes.

9. D.All of the above

ExplanationAn internal name for a Workflow Builder component must be in uppercase, have no spaces, and be unique within item type.

10. D.A user must be a role.

ExplanationA user must be a role. A role cannot be created in the Workflow Builder. Having one active responsibility is not a requirement for a user to be a role. A role can have more than one user.

11. A.Workflow Builder

ExplanationThe Workflow Builder in Oracle Workflow is the graphical interface for workflow processes. The Workflow Engine drives items through workflow processes. The Workflow Monitor allows you to view and monitor workflow process instances and the Workflow Definitions Loader loads workflow definitions from a text file or database.

12. C.More than one process associated with an item type

ExplanationWhen you have more than one process associated with an item type, you need a selector to select a process. You use the Role Resolution standard activity to perform role resolution. Voting is another standard activity. Multiple result codes drive different transitions, but this is not related to the selector.

13. A.Issue a savepoint

Explanation The Workflow Engine issues a savepoint when a function activity is completed. The Workflow Engine never issues a commit; the calling application issues a commit. The Workflow Engine does not generate a log file or notify users.

1. What are threshold in Workflows?

Each function activity and event activity has a cost or thresh hold associated with it. The cost is a value representing the number of seconds it takes for the Workflow Engine to execute the activity- minimum and maximum.

Minimum Threshold- Specify the minimum cost that an activity must have for this background engine to execute it, in hundredths of a second.

Maximum Threshold - Specify the maximum cost that an activity can have for this background engine to execute it, in hundredths of a second.

By using Minimum Threshold and Maximum Threshold you can create multiple background engines to handle very specific types of activities. The default values for these arguments are 0 and 100 so that the background engine runs activities regardless of cost.

The Workflow Engine threshold is set to 50 as a default. Activities with a cost higher than 50 are deferred for background engines to process.Answer Question

2. What are the Access Levels to be set for various requirements such as Read Only, Customizable etc..?

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 Workflow10-19: Reserved for Oracle Application Object Library20-99: Reserved for Oracle E-Business Suite100-999: Reserved for customer organizations1000: Public

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.Oracle E-Business Suite: 100

Standalone Oracle Workflow: 100 or higher

3. How are Deferred Activities started again?

The process can be restarted by the Notification System,such as when a user responds to a notification; by the background engine, such as when a deferred activity is executed; or by the Business Event System, such as when an event message is dequeued from an inbound queue and sent to the workflow process. With an asynchronous process, the user does not have to wait for the process to complete to continue using the application. However, the results of the process are not available until the process is completed at a later time.

4. How to Launch a Workflow?

-The Launch Process activity lets you launch another workflow process from the current process. This activity calls the PL/SQL procedure named WF_STANDARD.LAUNCHPROCESS.

5. What are the APIs are generally used in Workflows?

- The Workflow Engine APIs can be called by an application program or a workflow

function in the runtime phase to communicate with the engine and to change the status of each of the activities. These APIs are defined in a PL/SQL package called WF_ENGINE.

Workflow Engine APIs 2-19getItemAttributes -setitemattributsEvent -HandleError -SetItemParent -ItemStatus -getProcessStatus -

**************************************************************************************

I am not getting a notification, what is wrong ?

Check the following: The event and subscriber are enabled. There is a valid AME Rule is defined. There is a valid Validity Rule for the item There is a workflow queue defined for the wf_in, wf_deferred and wf_out listeners that runs periodically. Detailed screenshots are available. How do i check that the event/subscriber are enabled?

1) Choose the Responsibility: Workflow Administrator Event Manager. 2) Choose the Function: Add Events/Event Groups. 3) Search for oracle.apps.gmi.inventory.created. 4) Make sure the status column is enabled. 5) Click on Edit Subscription. 6) Make sure the status is Enabled. 7) Click on Edit. 8) Make sure the phase is 101 (i.e. Anything higher than 100 is fine). How do i check that the AME rule?

1) Choose the Responsibility: AME Application Administrator then select Approvals. 2) Define/verify a condition for a specific item. 3) Define/verify an approval group. 4) Define/verify a rule for that item to use the approval group. It is advised to make a rule that is always true or has no conditions, at least initially.

How do i check the Specification and Validity Rule?

1) Make sure the item has a valid Specification and Specification Validity Rule. 2) If the transaction is WIP, make sure you have a valid WIP Spec Validity Rule; if Supplier, a valid Supplier Validity Rule. It maybe advisable to create very simple and general Specs and Spec Validity Rules initially such as Organization based. 3) Both Spec and Spec VR have to be approved. How do i ensure the workflow queue is working?

1) Choose the Responsibility: Workflow Administrator Event Manager. 2) Choose the Function: Check Event Manager Setup. 3) In the listeners table, there should be valid WF_IN and WF_DEFERRED schedulers (if not, create them). 4) For each of the two listeners, create the Edit link in the Action column. 5) Click on Edit. 6) Erase the value in Run Date then click on Submit. How do i see the progress of the workflow process?

1) Choose the Responsibility: Workflow Administrator Web applications 2) Choose the Function: Find Processes 3) Look for processes for your workflow (i.e. OPM Quality Sample Creation) 4) Listed are the workflow processes; Find the one with the transaction id or date 5) Click on the hyper link for the process. 6) Click on "View Diagram" 7) The diagram shows you the progress of the process. I see a Form Link in my notification but it is not enabled.?

- Make sure the user has the responsibility function to access the Samples Form. I see a Form Link in my notification and it is enabled; When I click it, it does notStart Forms?

- This may be a Jinitiator setup issue; you may need version 1.1.8.6 I am not getting an ERES, what is wrong? Check the following: The event and subscriber are enabled. There is a valid AME Rule is defined. The Transcation Configuration variables eSignature Required is changed to Y The EDR profile EDR: eRecords and eSignatures is changed to Yes for the application/responsibility/user

1) How to handle Exceptions in workflow?Either make the exception notify someone to take a corrective action, or go into error and train your WF Admins how to correct these exceptions

2) Steps in mind before transporting a workflow? Check your transports for all business objects. Check for other things that the Workflow relies on, such as configuration. When the transports get to the next environment, check the Business Object, the workflow, and the assorted config.

3. Two workflows say WS1 FOR PURCHASE ORDER WS2 FOR PURCHASE REQUISITION. How to do both the workflows in a single one? Model your workflow to follow the desired approval path regardless of the business object involved. Then ensure that each business object can call a common routine for determining approvals based on object type.

4. There are 2 managers say MANAGER1 AND MANAGER2. Ifthere is a purchase order of more than 5000 then manager1 has to approve it, if PO>5000 then first MANAGER1 then MANAGER2 has to approve simultaneously. How is it done? check the amount of the object. Write a rule or responsibility that routes the object to the appropriate manager based on the amount. If necessary, put the approval task into a loop to ensure that the PO gets all the appropriate levels of approval.

5) How to debug a WORKFLOW.? There are too many ways to debug a workflow to be described in this post - Try reading thru the forums, reading the documentation, purchasing a book, etc.

0. .Are there advantages to building workflows using only XAML? Are there Disadvantages?

1. What are the pros and cons of using an ExternalDataExchange service versus going directly to the WorkflowQueuingService?

2. When are attached dependency properties useful in WF programming?

3. What behavior does the default scheduling service provide?

4. How can my code participate in a database transaction with a workflow instance?

5. Why would I use a tracking service?

6. Describe a scenario where the WF runtime will cancel an executing activity.

7. Describe a scenario where I'd need to spawn an ActivityExecutionContext.

8. Tell me why I'd use a compensation handler.

9. Tell me about the following activities: Replicator, Parallel, and Policy.

1. How to find the latest version of a current workflow process, and how to revert to the old version of workflow?

2. Name five very important base tables of oracle workflow and their significance.WF_ITEM_TYPESThe WF_ITEM_TYPES table defines an item that is transitioning through a workflow process. NAME (PK), PROTECT_LEVEL, CUSTOM_LEVEL, PERSISTENCE_TYPEWF_ITEM_ATTRIBUTESThe WF_ITEM_ATTRIBUTES table stores definitions of attributes associated with a process. Each row includes the sequence in which the attribute is used as well as the format of the attribute data. ITEM_TYPE (PK), NAME (PK), SEQUENCE, TYPE, PROTECT_LEVEL, CUSTOM_LEVELWF_ACTIVITIESWF_ACTIVITIES table stores the definition of an activity. Activities can be processes, notifications, functions or folders.ITEM_TYPE (PK), NAME (PK), VERSION(PK), TYPE, RERUN, EXPAND_ROLE, PROTECT_LEVEL, CUSTOM_LEVEL, BEGIN_DATE, RROR_ITEM_TYPE, RUNNABLE_FLAGWF_ACTIVITY_ATTRIBUTESThe WF_ACTIVITY_ATTRIBUTES table defines attributes which behave as parameters for an activity. Activity attributes are only used by function activities.Examples of valid attribute types are DATE, DOCUMENT, FORM, ITEMATTR, LOOKUP, and VARCHAR2.ACTIVITY_ITEM_TYPE (PK), ACTIVITY_NAME (PK), ACTIVITY_VERSION (PK), NAME (PK), SEQUENCE, TYPE, VALUE_TYPE, PROTECT_LEVEL, CUSTOM_LEVELWF_MESSAGESWF_MESSAGES contains the definitions of messages which may be sent out as notifications. TYPE (PK), NAME (PK), PROTECT_LEVEL, CUSTOM_LEVELWF_MESSAGE_ATTRIBUTESWF_MESSAGE_ATTRIBUTES contains message attribute definitions.WF_NOTIFICATIONSWF_NOTIFICATIONS holds the runtime information about a specific instance of a sent message. A new row is created in the table each time a message is sent.WF_NOTIFICATION_ATTRIBUTESWF_NOTIFICATION_ATTRIBUTES holds rows created for attributes of a notification. When each new notification is created, a notification attribute row is created for each message attribute in the message definition. Initially, the values of the notification attributes are set to the default values specified in the message attribute definition.WF_ITEMSWF_ITEMS is the runtime table for workflow processes. Each row defines one work item within the system. ITEM_TYPE (PK), ITEM_KEY (PK), ROOT_ACTIVITY, ROOT_ACTIVITY_VERSION, BEGIN_DATEWF_ITEM_ACTIVITY_STATUSESThe WF_ITEM_ACTIVITY_STATUSES TABLE is the runtime table for a work item. Each row includes the start and end date, result code, and any error information an activity generates. ITEM_TYPE (PK), ITEM_KEY (PK), PROCESS_ACTIVITY (PK)WF_ITEM_ACTIVITY_STATUSES_HThe WF_ITEM_ACTIVITY_STATUSES_H table stores the history of the WF_ITEM_ACTIVITY_STATUSES table. ITEM_TYPE, ITEM_KEY, PROCESS_ACTIVITYWF_PROCESS_ACTIVITIESWF_PROCESS_ACTIVITIES stores the data for an activity within a specific process. PROCESS_ITEM_TYPE, PROCESS_NAME, PROCESS_VERSION, ACTIVITY_ITEM_TYPE, ACTIVITY_NAME, INSTANCE_ID (PK), INSTANCE_LABEL, PERFORM_ROLE_TYPE, PROTECT_LEVEL, CUSTOM_LEVELWF_ACTIVITY_TRANSITIONSThe WF_ACTIVITY_TRANSITIONS table defines the transitions from one activity to another in a process. Each row includes the activities at the beginning and end of the transition, as well as the result code and physical location of the transition in the process window. FROM_PROCESS_ACTIVITY (PK), RESULT_CODE (PK), TO_PROCESS_ACTIVITY (PK), PROTECT_LEVEL,CUSTOM_LEVELWF_ACTIVITY_ATTR_VALUESThe WF_ACTIVITY_ATTR_VALUES table contains the data for the activity attributes. Each row includes the process activity id and the associated value for the attribute. PROCESS_ACTIVITY_ID (PK), NAME (PK), VALUE_TYPE, PROTECT_LEVEL, CUSTOM_LEVEL

3. Name five oracle workflow apis and their significance and use

4. How would you clear stuck or deferred workflows and what is meant by a deferred workflow

5. What is the difference between workflow wait activity and block activity, what is the api which is used in this regard to put a wait and to put a block.

6. How would you continue the workflow which is in wait and which is in block mode, name the api which is responsible for that

7. What is access level in oracle workflow and how it is significant.

8. Apart from loading the workflow from workflow builder is there any other method of loading the workflow from database to local machine.

9. How many types of attributes are present in workflow and what is a document type attribute

10. How would you force a user to not re-assign the workflow to other user.

Oracle Workflow - Important Queries

Select all workflow items for a given item type

SELECT item_type, item_key, to_char(begin_date, 'DD-MON-RR HH24:MI:SS') begin_date, to_char(end_date, 'DD-MON-RR HH24:MI:SS') end_date, root_activity activity FROM apps.wf_items WHERE item_type = '&item_type' AND end_date IS NULL ORDER BY to_date(begin_date, 'DD-MON-YYYY hh24:mi:ss') DESC;

-- notifications sent by a given workflow

select wn.notification_id nid, wn.context, wn.group_id, wn.status, wn.mail_status, wn.message_type, wn.message_name, wn.access_key, wn.priority, wn.begin_date, wn.end_date, wn.due_date, wn.callback, wn.recipient_role, wn.responder, wn.original_recipient, wn.from_user, wn.to_user, wn.subject from wf_notifications wn, wf_item_activity_statuses wias where wn.group_id = wias.notification_id and wias.item_type = 'WSHSUPI'and wias.item_key = 'CMS21408'/

--prompt **** Find the Activity Statuses for all workflow activities of a given item type and item key

SELECT execution_time, to_char(ias.begin_date, 'DD-MON-RR HH24:MI:SS') begin_date, ap.display_name || '/' || ac.display_name activity, ias.activity_status status, ias.activity_result_code RESULT, ias.assigned_user ass_user FROM wf_item_activity_statuses ias, wf_process_activities pa, wf_activities_vl ac, wf_activities_vl ap, wf_items i WHERE ias.item_type = '&item_type' AND ias.item_key = '&item_key' AND ias.process_activity = pa.instance_id AND pa.activity_name = ac.name AND pa.activity_item_type = ac.item_type AND pa.process_name = ap.name AND pa.process_item_type = ap.item_type AND pa.process_version = ap.version AND i.item_type = '&item_type' AND i.item_key = ias.item_key AND i.begin_date >= ac.begin_date AND i.begin_date < nvl(ac.end_date, i.begin_date + 1)UNION ALLSELECT execution_time, to_char(ias.begin_date, 'DD-MON-RR HH24:MI:SS') begin_date, ap.display_name || '/' || ac.display_name activity, ias.activity_status status, ias.activity_result_code RESULT, ias.assigned_user ass_user FROM wf_item_activity_statuses_h ias, wf_process_activities pa, wf_activities_vl ac, wf_activities_vl ap, wf_items i WHERE ias.item_type = '&item_type' AND ias.item_key = '&item_key' AND ias.process_activity = pa.instance_id AND pa.activity_name = ac.name AND pa.activity_item_type = ac.item_type AND pa.process_name = ap.name AND pa.process_item_type = ap.item_type AND pa.process_version = ap.version AND i.item_type = '&item_type' AND i.item_key = ias.item_key AND i.begin_date >= ac.begin_date AND i.begin_date < nvl(ac.end_date, i.begin_date + 1) ORDER BY 2, 1/

--Get a list of all Errored Workflow Activities for a given item type/ item key

SELECT ac.display_name activity, ias.activity_result_code RESULT, ias.error_name error_name, ias.error_message error_message, ias.error_stack error_stack FROM wf_item_activity_statuses ias, wf_process_activities pa, wf_activities_vl ac, wf_activities_vl ap, wf_items i WHERE ias.item_type = '&item_type' AND ias.item_key = '&item_key' AND ias.activity_status = 'ERROR' AND ias.process_activity = pa.instance_id AND pa.activity_name = ac.name AND pa.activity_item_type = ac.item_type AND pa.process_name = ap.name AND pa.process_item_type = ap.item_type AND pa.process_version = ap.version AND i.item_type = '&item_type' AND i.item_key = ias.item_key AND i.begin_date >= ac.begin_date AND i.begin_date < nvl(ac.end_date, i.begin_date + 1) ORDER BY ias.execution_time/

--prompt *** Error Process Activity Statuses

SELECT execution_time, to_char(ias.begin_date, 'DD-MON-RR HH24:MI:SS') begin_date, ap.display_name || '/' || ac.display_name activity, ias.activity_status status, ias.activity_result_code RESULT, ias.assigned_user ass_user FROM wf_item_activity_statuses ias, wf_process_activities pa, wf_activities_vl ac, wf_activities_vl ap, wf_items i WHERE ias.item_type = i.item_type AND ias.item_key = i.item_key AND ias.process_activity = pa.instance_id AND pa.activity_name = ac.name AND pa.activity_item_type = ac.item_type AND pa.process_name = ap.name AND pa.process_item_type = ap.item_type AND pa.process_version = ap.version AND i.parent_item_type = '&item_type' AND i.parent_item_key = '&item_key' AND i.begin_date >= ac.begin_date AND i.begin_date < nvl(ac.end_date, i.begin_date + 1)UNION ALLSELECT execution_time, to_char(ias.begin_date, 'DD-MON-RR HH24:MI:SS') begin_date, ap.display_name || '/' || ac.display_name activity, ias.activity_status status, ias.activity_result_code RESULT, ias.assigned_user ass_user FROM wf_item_activity_statuses_h ias, wf_process_activities pa, wf_activities_vl ac, wf_activities_vl ap, wf_items i WHERE ias.item_type = i.item_type AND ias.item_key = i.item_key AND ias.process_activity = pa.instance_id AND pa.activity_name = ac.name AND pa.activity_item_type = ac.item_type AND pa.process_name = ap.name AND pa.process_item_type = ap.item_type AND pa.process_version = ap.version AND i.parent_item_type = '&item_type' AND i.parent_item_key = '&item_key' AND i.begin_date >= ac.begin_date AND i.begin_date < nvl(ac.end_date, i.begin_date + 1) ORDER BY 2, 1/

prompt **** Error Process Errored Activities

SELECT ac.display_name activity, ias.activity_result_code RESULT, ias.error_name error_name, ias.error_message error_message, ias.error_stack error_stack FROM wf_item_activity_statuses ias, wf_process_activities pa, wf_activities_vl ac, wf_activities_vl ap, wf_items i WHERE ias.item_type = i.item_type AND ias.item_key = i.item_key AND ias.activity_status = 'ERROR' AND ias.process_activity = pa.instance_id AND pa.activity_name = ac.name AND pa.activity_item_type = ac.item_type AND pa.process_name = ap.name AND pa.process_item_type = ap.item_type AND pa.process_version = ap.version AND i.parent_item_type = '&item_type' AND i.parent_item_key = '&item_key' AND i.begin_date >= ac.begin_date AND i.begin_date < nvl(ac.end_date, i.begin_date + 1) ORDER BY ias.execution_time/

prompt **** Attribute Values

SELECT NAME attr_name, nvl(text_value, nvl(to_char(number_value), to_char(date_value))) VALUE FROM wf_item_attribute_values WHERE item_type = upper('&item_type') AND item_key = nvl('&item_key', item_key)/--Count of all workflow deferred activities based

SELECT COUNT(1), was.item_type FROM apps.wf_items wi, apps.wf_item_activity_statuses was, apps.wf_process_activities pra WHERE wi.item_type = was.item_type AND wi.item_key = was.item_key AND wi.end_date IS NULL AND was.end_date IS NULL AND was.activity_status = 'DEFERRED' --AND was.item_type = 'REQAPPRV' AND was.item_type = wi.item_type AND pra.instance_id(+) = was.process_activity GROUP BY was.item_type;

--check the various workflow agent listeners and their statuses

SELECT t.component_name, p.owner, p.queue_table, t.correlation_id FROM applsys.fnd_svc_components t, applsys.wf_agents o, dba_queues p WHERE t.inbound_agent_name || t.outbound_agent_name = o.name AND p.owner || '.' || p.name = o.queue_name AND t.component_type LIKE 'WF_%AGENT%'; --query to find records that are pending in each of the workflow agent listener queues

SELECT 'select ''' || t.component_name || ' (queue_table: ' || p.queue_table || ')''||'' Count: ''||count(*) c from ' || p.owner || '.' || p.queue_table || ' where deq_time is null and nvl(delay,enq_time)0;' FROM applsys.fnd_svc_components t, applsys.wf_agents o, dba_queues p WHERE t.inbound_agent_name || t.outbound_agent_name = o.name AND p.owner || '.' || p.name = o.queue_name AND t.component_type LIKE 'WF_%AGENT%';

--Look for deferred events in wf_deferred. this can also be used to track the status of notifications/business events that are waiting to be processed/that have errored out

SELECT a.user_data.geteventname(), decode(a.state, 0, '0 = Ready', 1, '1 = Delayed', 2, '2 = Retained/Processed', 3, '3 = Exception', to_char(a.state)) state, a.user_data.PARAMETER_LIST, a.user_data.event_data, a.user_data.event_key, a.* FROM apps.wf_deferred a WHERE corrid LIKE '%oracle.apps.wsh.sup.ssro' AND rownum < 10;

Just to search required tables--------------------------------- SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE='TABLE' AND OBJECT_NAME LIKE '%WF%ITEM%TYPE%'

1) TO CHECK ITEM TYPE CREATED (Create Item Type) SELECT * FROM WF_ITEM_TYPES_TL WHERE NAME LIKE '%ZEN%'

2) TO CHECK ATTRIBUTES IN A TABLE (Create Item Attributes)

SELECT * FROM WF_ITEM_ATTRIBUTES_TL WHERE ITEM_TYPE LIKE '%ZEN%'

3) To check message AND attributes attached to the message

A) SELECT * FROM WF_MESSAGES_TL WHERE NAME LIKE '%ITEM_MSG%' AND TYPE='ZENITI'

B) Check attributes attached to the message

SELECT * FROM WF_MESSAGE_ATTRIBUTES_TL WHERE MESSAGE_NAME='ITEM_MSG_I' --AND MESSAGE_TYPE='ZENITI'

4) TO CHECK NOTIFICATIONS SELECT * FROM WF_NOTIFICATIONS WHERE SUBJECT LIKE '%has been create%' WHERE MESSAGE_NAME LIKE '%ITEM_MSG%' 5) After submitting the workflow from front-end

SELECT * FROM WF_NOTIFICATIONS WHERE MESSAGE_NAME='ITEM_MEG_I' --???

SELECT * FROM WF_ACTIVITIES_TL WHERE ITEM_TYPE='ZENITI'

SELECT * FROM WF_ITEM_ACTIVITY_STATUSES WHERE ITEM_TYPE = 'ZENITI'

WorkFlow FAQ General

1. About Workflow General2. Oracle Workflow 2.63. License4. Background Engine5. Builder6. Commit Issues7. Delete Issues8. Install Problems9. Error handling10. Applications11. Mailer Setup12. Utilities13. Looping14. Monitor15. Notifications16. Problem Spotting17. Security

About Workflow General

1. What is Oracle Workflow Cartridge and how does this relate to earlier Workflow products ? 2. What platforms is it available on? 3. When will translated versions be available? 4. If I create custom workflows in 2.03, how do I upgrade to 2.5? 5. If I create custom workflows in 2.5, how do I upgrade to 2.6? 6 What are the major components of the workflow system? 8 Does Workflow integrate with LDAP or NDIS compliant directory 9 Can Workflow work on a distributed database? 10 What platform is Workflow currently available on? 11 How does Oracle Workflow differ from Oracle Alert? 12 What electronic mail systems can I use in conjunction with Oracle Workflow Notifications? 13 How do I ensure that the correct mail APIs are linked into WFMAIL? 14 What electronic mail systems can I use in conjunction with Oracle Workflow Notifications? 15 What version of Oracle Workflow is supported with Web Apps 2.0.1? For example, can Applications 10.7 Prod 16/16.1 and Oracle Applications for the Web 2.0.1 run with Oracle Workflow 1.x and 2.x ? 16 How do I ensure that the correct mail APIs are linked into WFMAIL? 17 How do I verify the version of Oracle Workflow that I have installed? 18 How do I shut down the Oracle Workflow Notification Mailer in Oracle Applications? 19 How do I send a Summary Only Notification from Oracle Workflow? 20 How do I reorder the information displayed in the Notifications screen on the Web. 21 How do I select the 'File, Load Roles' option when it is greyed out? 22 How does 'Expand Roles' work? 23 How to force a Workflow activity to run in background. 24 How do I create a new Workflow ? 25 Why does Oracle Workflow Builder drag and drop not work the same way as other editors and Object Navigators? 26 How do I improve performance of my Oracle Workflow Views? 27 How do I define my Workflow time-out periods in business days instead of in hours? 28 How do I display the Internal Name of an object in the Object Navigator? 29 How do I display the Performer of a Notification in the Process Detail screen ? 30 How do I create a shortcut to my Workflow instance? 31 How do I customize the Account Generator Workflow process for my company? 32 What Access Level should I be using in Oracle Workflow Builder? 33 How do I trace errors in my Workflow processes? 34 When attempting to view concurrent request output or log information in workflow 2.0.3 with Microsoft Internet Explorer, you receive the error Authentication failed. What do you do?

What is Oracle Workflow Cartridge and how does it relate to earlier Workflow products? Oracle Workflow Cartridge is the name given to Oracle Standalone and the Workflow Option to the database. As such, it has all the same licensing restrictions as Standalone did before. Please check the licensing page for more details.

What platforms is it available on? Oracle Workflow 2.6 has been released on ALL platforms.

When will translated versions be available? Translation of Workflow Embedded in Apps will appear as Oracle Apps is translated (this does not include the builder because which is considered an admin tool). Translation of WF Standalone (including the builder) is ongoing.

If I create custom workflows in 2.03, how do I upgrade to 2.5? Do you have workflow 2.0.3 embedded in Oracle Apps 11 or standalone version? If standalone, then you would obtain the Workflow 2.5 cd and select the option to perform an upgrade from 2.0.3 to 2.5 instead of an install of 2.5. If your workflow 2.0.3 is embedded in Oracle Apps 11 then when you upgrade to Oracle Apps 11i it would include upgrading to workflow 2.5. Oracle Apps 11i uses Workflow 2.5. As part of an upgrade your custom workflow definitions stored in the database are upgraded to the 2.5 data model. If you are concerned about any flat file workflow definitions you may have, the Workflow Builder and Workflow Loader for 2.5 can "read" the 2.0.3 flat file format. However, once "read" into a 2.5 Workflow Builder and saved to flat file format again, your 2.0.3 flat files will be saved in the 2.5 flat file format.

If I create custom workflows in 2.5, how do I upgrade to 2.6? If standalone, then you would obtain the Workflow 2.6 cd and select the option to perform an upgrade from 2.5 to 2.6 instead of an install of 2.6. If your workflow 2.5 is embedded in Oracle Apps 11i then when you upgrade to Oracle Apps 11i it would include upgrading to workflow 2.6. Oracle Apps 11i uses Workflow 2.5 and in the future will use 2.6. As part of an upgrade your custom workflow definitions stored in the database are upgraded to the 2.5 data model. If you are concerned about any flat file workflow definitions you may have, the Workflow Builder and Workflow Loader for 2.6 can "read" the 2.5 flat file format. However, once "read" into a 2.5 Workflow Builder and saved to flat file format again, your 2.5 flat files will be saved in the 2.6 flat file format.

What are the major components of the workflow system? The main components of Oracle Workflow are the Workflow Engine, Business Event System, the Notification Service, the Workflow BUilder, and administrative and monitoring tools. The Workflow Engine is a set of tables and PL/SQL stored procedures that manages the execution of workflow processes and tracks work-in- process. It maintains the state information of all the workflow items and generates complete audit trails. It executes workflow rules which are PL/SQL functions, and it delivers notifications as human activities become eligible. Most Workflow Engine APIs are also available from Java. The Business Event System is an application service that uses the Oracle Advanced Queuing (AQ) infrastructure to communicate business events between systems. The Business Event System consists of the Event Manager, which lets you register subscriptions to events that are significant to your systems, and event activities, which let you model business events within workflow processes. The Notification Service sends notifications to appropriate users via a Form-based connected viewer, as well as via email or WWW. It also interprets responses and delivers response information to the sender. The Workflow Builder is a native Windows program written in C++. It allows the user to graphically define a workflow process and its components including activities, users, notifications, etc. Oracle Workflow includes a comprehensive set of tools that let the user graphically monitor and administer workflow transactions as well as view and analyze transaction history.

Does Workflow integrate with LDAP compliant directory services? Currently, the Workflow "directory service" is a set of views and PL/SQL APIs that are implemented to reference existing user and role information in the database. With the correct mapping of these directory service views, Workflow can integrate with any user and role information that is stored in an Oracle database. In the case of Workflow for Oracle Applications, we provide a mapping of the directory service views over the Oracle Human Resources tables.The stand-alone Workflow product includes a template directory service view definition that should be customized to reference the customer's existing repository of user and role information. Since Oracle Workflow is resident inside the Oracle Database, integration with LDAP services will be achieved when the database itself offers LDAP integration (planned for Oracle 8.1). Until then could still reference this information if the LDAP service actually stores user information in an Oracle database.

Can workflow work on a distributed database? Yes - Oracle Workflow 2.6 includes a major new feature called the Business Event System which supports the sending and receiving of messages between databases. It is also possible using standard Oracle Database links to have your workflow engine and application on different databases. So far the only limitation we have come across is the inability to perform commit/rollback across databases, a problem inherent to distributed databases, however a simple workaround exists

What platform is workflow currently available on? Oracle Workflow embedded in Oracle Applications is available on all platforms that Oracle Applications is available on. The standalone Workflow cartridge is available on a variety of platforms and is being ported to most. The builder of course is a client product running on Windows 95/98/2000/NT.

How does Oracle Workflow differ from Oracle Alert? Oracle Alert is a database event detection tool. Oracle Workflow technology enables automation and continuous improvement to business processes, routing information according to user-defined business rules. Oracle Alert is designed to detect database events, Oracle workflow is designed to manage the execution complex of business processes that result from database events. Oracle Alert does contain some workflow type features such as response processing, that allow a sequence of actions to be taken depending on a users response to a message. Oracle Workflow's response processing capabilities are more advanced than Oracle Alert and it is recommended to use Oracle Workflow for new development.

What electronic mail systems can I use in conjunction with Oracle Workflow Notifications? The Oracle Workflow Notification Mailer can be used in conjunction with Oracle Office/Oracle InterOffice (Oracle Internet Messaging 4.2 can be used with Workflow 2.5), UNIX Sendmail, or MAPI-compliant mail applications.

How do I ensure that the correct mail APIs are linked into WFMAIL? Oracle Workflow Standalone can be run using WFMAIL.snd for Unix Mail or WFMAIL.ofc for Oracle InterOffice. Within Oracle Applications, there is only one WFMAIL executable file, so this must be linked according to the mail system you are using.

For example, if you wish to use Oracle InterOffice as your Oracle Workflow notification mail system, you must perform the following link: adrelink force=Y ranlib=Y "fnd WFMAIL_OFC" (to create a WFMAIL_OFC executable)Note: the name of this executable is WFMAILOO in Oracle Workflow 2.0.3 (used in Applications Release 11) mv WFMAIL_OFC WFMAIL (to replace the existing WFMAIL executable)After you complete the above steps, when you start the Workflow Notifications Mailer, it will pick up the new WFMAIL file and send Notifications using Oracle InterOffice. Note: When you install Oracle Applications 10.7 Prod 16/Prod 16.1 (or Release 11), the WFMAIL file is automatically linked to use the Unix Sendmail executable, so you must only relink (using the above instructions) if you decide to use Oracle InterOffice.

What electronic mail systems can I use in conjunction with Oracle Workflow Notifications? The Oracle Workflow Notification Mailer can be used in conjunctionwith Oracle Office/Oracle InterOffice (Oracle Internet Messaging 4.2 can be used with Workflow 2.5), UNIX Sendmail, or MAPI-compliant mail applications.

What version of Oracle Workflow is supported with Web Apps 2.0.1? For example, can Applications 10.7 Prod 16/16.1 and Oracle Applications for the Web 2.0.1 run with Oracle Workflow 1.x and 2.x ? Oracle Applications for the Web 2.0.1 requires Oracle Workflow 2.0 but it is NOT compatible with Oracle Workflow 1.0.

Oracle Applications Release 10.7 Prod 16 and Prod 16.1 are now shipped with Oracle Workflow version 2.0.3.

How do I ensure that the correct mail APIs are linked into WFMAIL? Oracle Workflow Standalone can be run using WFMAIL.snd for Unix Mail or WFMAIL.ofc for Oracle InterOffice. Within Oracle Applications, there is only one WFMAIL executable file, so this must be linked according to the mail system you are using.

For example, if you wish to use Oracle InterOffice as your Oracle Workflow notification mail system, you must perform the following link:

adrelink force=Y ranlib=Y "fnd WFMAIL_OFC" (to create a WFMAIL_OFC executable)

Note: the name of this executable is WFMAILOO in Oracle Workflow 2.0.3 (used in Applications Release 11)

mv WFMAIL_OFC WFMAIL (to replace the existing WFMAIL executable)

After you complete the above steps, when you start the Workflow NotificationsMailer, it will pick up the new WFMAIL file and send Notifications using Oracle InterOffice.

Note: When you install Oracle Applications 10.7 Prod 16/Prod 16.1 (or Release 11), the WFMAIL file is automatically linked to use the Unix Sendmail executable, so you must only relink (using the above instructions) if you decide to use Oracle InterOffice.

How do I verify the version of Oracle Workflow that I have installed? For Workflow versions prior to 2.5:-----------------------------------

(If you are running Oracle Workflow Embedded in Oracle Applications)

(a) Connect to SQL*Plus as APPS user(b) Then type, select TEXT from WF_RESOURCES where NAME='WF_VERSION';

Note: In the Prod 16 version of Oracle Workflow, the version 2.0.0 is displayed when the actual version is 2.0.1

(If you are running Oracle Workflow Standalone)

(a) Connect to SQL*Plus using the Oracle Workflow user id(b) Then type, select TEXT from WF_RESOURCES where NAME='WF_VERSION';

For Workflow 2.5:-----------------

(If you are running Oracle Workflow Embedded in Oracle Applications)

(a) cd $FND_TOP/sql(b) Connect to SQL*Plus as APPS user(c) Start wfver.sql (this script details the Workflow Server version, status and version information for the Workflow packages and version information for the Workflow views)

(If you are running Oracle Workflow Standalone)

(a) cd $ORACLE_HOME/wf/admin/sql(b) Connect to SQL*Plus using the Oracle Workflow user id(c) Start wfver.sql(this script details the Workflow Server version, status and version information for the Workflow packages and version information for the Workflow views)

How do I shut down the Oracle Workflow Notification Mailer in Oracle Applications? The Notification Mailer is an executable program that continually poles for messages that must be sent to users (Notifications).

To stop this program, you must place the shutdown file in the required directory.

If you have the environment variable $APPLCSF set, then your notification mailer shutdown file should be placed in the $APPLCSF/$APPLLOG directory.

If $APPLCSF is NOT set, then the notification mailer shutdown file should be placed in the $FND_TOP/$APPLLOG directory.

How do I send a Summary Only Notification from Oracle Workflow? For example, I may want to send a message to a user listing all notifications that are currently open (i.e. awaiting a response) instead of a message for each notification that they have outstanding. To do so, you must set up summary only messages by doing the following:

(a) Ensure that the NOTIFICATION_PREFERENCE field in WF_USERS for that particular user is set to 'SUMMARY' (in Workflow 2.5, use the 'User Preferences' link from the Workflow Home Page)

(b) Define a notification mailer with SUMMARY_ONLY set to 'Y': (c) Create a new mail configuration file (use $FND_TOP/resource/wfmail.cfg as a starting point).

(d) If you already have a notification mailer running, you should set NODE to something different than the one already defined.

How do I reorder the information displayed in the Notifications screen on the Web. Mouse click the underlined column heading for the column you want to reorder (e.g., ascending vs descending) and the notifications are reordered automatically.

How do I select the 'File, Load Roles' option when it is greyed out? To use the 'File, Load Roles' option you must store your workflow definitionin the database so that you have a database connection through which you can bring back records from the database.

How does 'Expand Roles' work? Expand Roles = N----------------If you have Expand Roles set to 'N' and you are sending a Notification to a Role Name, then a message is sent to every user in that role, and each individual user will see that Notification in their Notification queue until a single user in the role replies to that Notification. After which time, theNotification is wiped from each user's Notification queue.

Expand Roles = Y----------------If you have Expand Roles set to 'Y' and you are sending a Notification to a Role Name, then a message is sent to every user in that role, and each individual user will see that Notification in their Notification queue until they reply or close that notification.

You will generally want to have Expand Roles set to 'Y' if you want to be surethat every user in a particular role sees the message.

How to force a Workflow activity to run in background. The workflow background engine threshold is set to 50 by default. If you do not want the current job to run on-line then call WF_ENGINE.THRESHOLD:=n; (where n is less than the cost setting for the current job/activity), hence the workflow engine runs the job in background.

You should set the threshold limit back to 50 in SQL*Plus or in the next function activity so that other activities are processed as expected.

How do I create a new Workflow ? See Note:47711.1 for a step-by-step guide to creating a new Workflow.

Why does Oracle Workflow Builder drag and drop not work the same way as other editors and Object Navigators? For Workflow 2.0.3:-------------------

You need to use the 'split window' function to be able to dragand drop.

For Workflow 2.5:-----------------

You can perform drag and drop within the Object Navigator.

How do I improve the performance of my Oracle Workflow Views? The performance of Workflow is reliant on the Workflow Administrator correctly creating and tuning the Workflow views (specifically WF_USERS and WF_ROLES).

The Workflow analytical scripts will be available in Oracle Workflow 2.0.3 (Oracle Applications Release 11) and can be used against any Release 2 versionof Oracle Workflow.

Reference---------How do I define my Workflow time-out periods in business days instead of in hours? This is not a standard feature of Workflow itself, however, a workaround has been documented in Note:50468.1

How do I display the Internal Name of an object in the Object Navigator?

For Workflow versions prior to 2.5:-----------------------------------

Choose View, Show Label, Internal Name (from the pull-down menu)

(The display name will be displayed in the Object Navigator with the Internal Name in brackets afterwards)

For Workflow 2.5:-----------------

Choose View, Developer Mode (this toggles on/off)

With Developer Mode ON, the Internal Name is displayed in the Navigator and the Display Name appears in brackets.

With Developer Mode OFF, the Display Name is displayed in the Navigator.

How do I display the Performer of a Notification in the Process Detail screen ?

For Workflow versions prior to 2.5:-----------------------------------

Choose View, Show Label, Performer in Designer (from the pull-down menu)

(the Performer will be displayed alongside the notification icon instead of thedisplay name of the notification itself)

For Workflow 2.5:-----------------

Choose View, Show Label in Designer, Choose Performer (from the pull-down menu).

How do I create a shortcut to my Workflow instance?

Open up the Oracle Workflow Builder

Choose File, Open (from the pull-down menu)

Click on the 'Database' radio button

Enter the relevant database connection information

Choose which Item Types you want to display in the Object Navigator

Choose File, Create Shortcut (from the pull-down menu)

Enter a shortcut name if you do not wish to use the default (default is username e.g. apps@R11DEMO)

You can then use this shortcut to open up the Oracle Workflow Builder and connect to that database automatically (you will be prompted to enter the password to then connect to the database).

If you need to see more item types than you initially selected when you createdthe shortcut, choose File, Show/Hide Item Types (from the pull-down menu) and select the item types to show from the list.

How do I customize the Account Generator Workflow process for my company?

Customers are expected to customize the Account Generator process. You can do this by editing the existing process or creating your own process, but this MUST be within the seeded 'Item Type'. You should NOT create a NEW 'Item Type'as this would NEVER be run by Account Generator. If you create a new process, you must ensure it is "Runnable". You must then assign the appropriate process to the Accounting Flexfield structure in the Account Generator Process window in Oracle Applications (loginas System Administrator, Application -> Flexfields -> Key -> Accounts and queryup the required Accounting flexfield structure).

What Access Level should I be using in Oracle Workflow Builder?

You should be running the Workflow Builder with an Access Level of 100 (viewable from Help -> About Workflow Builder), if you lower the access level you run the risk of overwriting SEED workflow and applications workflow data, which cannot be supported. If this should happen it will be necessary for you to reinstall the original SEEDED workflow process, using the WFLOAD concurrent program in UPGRADE mode.

How do I trace errors in my Workflow processes?

If a customized workflow process errors you should check the error stack (using the Workflow Monitor and/or wfstatus.sql script), if the procedure in error does NOT begin with WF_.. OR _... then you need to debug your own pl/sql procedures.

If standards in the Workflow Guide for exception handling have not been followed, you can still tell whether the problem is with your code, because Oracle Workflow traps external exceptions and reports these as Activity Status: ERROR Activity Result: #EXCEPTION This is what would show up in the workflow monitor or any status report or form inquiry for the failing activity.

A NAME=END HREF=#_TOP> IMG SRC=/images/webiv/arrows/bw/up.gif border=0 ALT="Top of Page" ALIGN=right>Common Questions for Version 2.6

1 What's new about Oracle Workflow 2.6? 2 Can Oracle Workflow 2.6 meet my customers Business Process Integration requirements? 3 Does Oracle Workflow 2.6 integrate in with MQ*Series or other messaging solutions?4 What communication protocols are supported by Oracle Workflow 2.6? 5 Can custom Java code be integrated in with Oracle Workflow 2.6? 6 What Data Transformation services does Oracle Workflow 2.6 offer? 7 What will be the uptake of 9i AQ functionality in future releases of Oracle Workflow 2.6?8 What database versions can Oracle Workflow 2.6 be installed in? 9 Can Oracle Workflow 2.0.3 be upgraded to 2.6 in one step? 10 In which products is Oracle Workflow 2.6 bundled? 11 What Web Servers are certified with Oracle Workflow 2.6? 12 My customer already uses Advanced Queues with their own defined datatype.Are they a candidate for Oracle Workflow 2.6? 13 When I go into Global Preferences either as System Administrator or WorkFlow Administrator I get the following message: "Only Administrators can edit Default settings"What do I need to do in order to be able to modify the default settings ?14How do I ensure that workflow processes that are deferred, timed out or that become stuck after the current background engine starts are processed by the next background engine that is invoked?15How do I run a Workflow Background Process as a Concurrent Program?16In which products is Oracle Workflow 2.6.1 bundled? 17How do I access the Workflow Monitor in Standalone Workflow 2.6?

Whats new about Oracle Workflow 2.6? The Oracle Workflow Business Event System is an application service that leverages the Oracle Advanced Queuing (AQ) infrastructure to communicate business events between systems. The Business Event System consists of the Event Manager and workflow process event activities. The Event Manager contains a registry of business events, systems, named communication agents within those systems, and subscriptions indicating that an event is significant to a particularsystem. Events can be raised locally or received from an external system or the local system through AQ. When a local event occurs, the subscribing code is executed in the same transaction as the code that raised the event. Subscriptions can include the following types of processing: Executing custom code on the event information Sending event information to a workflow process Sending event information to other queues or systems Business events are represented within workflow processes by event activities. By including event activities in a workflow process, you can model complex processing or routing logic for business events beyond the options of directly running a predefined function or sending the event to a predefined recipient. Can Oracle Workflow 2.6 Business Event System meet my customers Business Process Integration Requirements? Yes.The uses of the Business Event System include: 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. Distributed applications messaging--Applications can supply Generate and Receive event message handlers for their business entities. For example, message handlers can be used to implement Master/Copy replication for distributed applications. Message-based system integration--You can set up subscriptions which cause messages to be sent from one system to another when business events occur. In this way, you can use the Event Manager to implement point-to-point messaging integration. Business-event based workflow processes--You can develop sophisticated workflow processes that include advanced routing or processing based on the content of business events.

Does Oracle Workflow 2.6 integrate in with MQ*Series or other messaging solutions? Yes.Oracle Workflow 2.6 integrates with Oracle Message Broker compliant single consumerqueues, and OMB can integrate with MQ*Series and TIBCO

What communication protocolsare supported by Oracle Workflow 2.6? We offer SQL*Net supportout of the box. HTTP/HTTPS support is offered through integration with Oracle MessageBroker compliant single consumer queues. We plan to supportadditional protocols as AQ offers support for additional protocols.

Can custom Java code be integrated in with Oracle Workflow 2.6?
YES. class=""

What Data Transformation services does Oracle Workflow 2.6 offer? Oracle Workflow 2.6allows you to apply a stylesheet to an XML document. It is anticipated that in calendarQ1 2001, queue handlers will be available to enqueue and dequeue from Oracle Applications Interconnect queues.

What will be the uptake of 9i AQ functionality in future releases of Oracle Workflow 2.6?
ORACLE

What database versions can Oracle Workflow 2.6 be installed in? 8.1.6 and 8.1.7.The 9i database will be shipped with a newer version of Oracle Workflow 2.6, thisis the version that should be installed on 9i. Oracle Workflow 2.6 also requiresthe JServer database option to be installed. Can Oracle Workflow 2.0.3 be upgraded to Oracle Workflow 2.6 in one step? No. OracleWorkflow 2.0.3 standalone customers must first upgrade to Oracle Workflow 2.5.1 or2.5.2, and then upgrade to Oracle Workflow 2.6.

In which products is Oracle Workflow 2.6 bundled? Oracle Workflow 2.6 should be included in the cd packs for 8.1.6 and 8.1.7 Enterprise Edition databases. For 9i database, Oracle Workflow 2.6 will be in the 9i cd. For 9i AS, Workflowwill be shipped as part of the CD pack until 9i AS v2, when workflow will be on the9i AS v2.0 cd. Note: Workflow 2.6 Client and Mailer will ship on the 9i ClientCD and 9i AS client cd when Workflow Server 2.6 is included on the 9i db cd and 9iAS cd.

What Web Servers are certfied with Oracle Workflow 2.6? The Oracle HTTP Server (powered by Apache) with mod*plsql component will be the only certified web server with Oracle Workflow 2.6. The Oracle HTTP Server(powered by Apache) with mod*plsql is included in 8i/9i iAS, and also shipped with the database enterprise edition.

My customer already uses Advanced Queues with their own defined datatype. Are they a candidate for Oracle Workflow 2.6? Yes. As they have a custom datatype, what they need todo is define these queues as Agents in the the Business Event Systems, and writetheir own queue handler code to enqueue and dequeue from their queues. Thequeue handler code will also map from their datatype, to the Oracle Workflow BusinessEvent datatype. After they have done this, they could either rebuild theircomplex business rules in Oracle Workflow, or minimally, they could wrap their oldcode in our Event Subscription Rule Function API.

When I go into GlobalPreferences either as System Administrator or WorkFlow Administrator I get the following message: "Only Administrators can edit Default settings"

What do I need to do in order to be able to modify the default settings ?See Note:148639.1

How do I ensure that workflow processes that are deferred, timed out or that become stuck after the current background engine starts are processed by the next background engine that is invoked?The background engine executes all activities that satisfy the given arguments atthe time that the background engine is invoked. This procedure does not remain runninglong term, so you must restart this procedure periodically. Any activities that arenewly deferred or timed out or processes that become stuck after the current background enginestarts are processed by the next background engine that is invoked. You may run ascript called wfbkgchk.sql to get a list of the activities waiting to be processedby the next background engine run. See: Wfbkgchk.sql: page 16 7.

If you are using the standalone version of Oracle Workflow, you can use one of thesample background engine looping scripts described below or create your own scriptto make the background engine procedure loop indefinitely. If you are using the versionof Oracle Workflow embedded in Oracle Applications, you can use the concurrent programversion of this procedure and take advantage of the concurrent manager to schedulethe background engine to run periodically. To Schedule Background Engines: page 2 45.

How do I run a WorkflowBackground Process as a Concurrent Program?

In which products isOracle Workflow 2.6.1 bundled? Oracle Workflow 2.6.1 is included on the product installation CD for Oracle9i Enterprise and Standard Edition databases version 9.0.1, under the Oracle9i Management and Integration installation type. Oracle Workflow 2.6.1 is also included on the product installation CD for Oracle9i Application Server Release 2.

How do I access the Workflow Monitor in Standalone Workflow 2.6?

1. Start up your web browser and navigate to the workflow home page for Sysadmin by entering the following URL:

http://://wfa_html.home

where = machine on which WAS 3.x or OAS 4.x is installed = tcp/ip port on which your PL/SQL agent will accept requests = the virtual path defined for your PL/SQL agent

2. Choose Find Processes. Leave all the defaults and click the Find button. 3. Find all or any particular process that has a diagram.4. After the Find notifications returns click 'View Diagram' to view a diagram of the process.

5. This will invoke the WorkFlow Monitor and show a diagram depicting the status of the process you chose.

Licensing Issues

1. When does a customer receive Oracle Workflow Standalone? 2. Any other requirement for Oracle Workflow? When does a customer receive Oracle Workflow Standalone? Oracle Workflow is included as part of Oracle 8i Standard Edition, Oracle 8i Enterprise Edition, Oracle 9i AS(1.0.2 and above), and the Oracle eBusiness Suite. Note: eBusiness Suite customers are not required to purchase any additional licenses to build custom workflows.

Any other requirement for Oracle Workflow? Please check the requirements page in the documentation's install notes. Essentially, you will need a Java 1.1 browser with full Java AWT support for the Workflow monitor (such as Netscape Communicator 4.0.4). You will need Oracle 8i AS or higher.

Background Engine

1 How do I defer a process to the background engine?

2 How is WF_STANDARD.Wait implemented? is there any cost involved?

3 Background process is stuck. Can I kill it?

4 Why can I not find WFRESGEN on my pc in the Submit Requests form?

5 What is the difference between WFLOAD and wfload?

How do I defer a process to the background engine?When launching a process, you can do this immediately by loweringthe threshold level.

-- Set engine to defer everything to the bg-engine for this session -- This provides faster user response time, at the expense of -- delaying workflow progress until the background engine runs. save_threshold := wf_engine.threshold; wf_engine.threshold := -1;

-- Launch the process wf_engine.CreateProcess(...); wf_engine.SetAttr...(...); wf_engine.StartProcess(...);

-- Reset the threshold wf_engine.threshold:=save_threshold;

exception -- ensure threshold is reset wf_engine.threshold:=save_threshold;

We recommend that you always defer after a user interaction so theuser is not left waiting for a responce. For example, responding to a notification, launch