Q. What is workflow and what are the benefits of using Oracle workflow?
Oracle workflow is a graphical tool that allows you to create, track and modify business process, embedded in the oracle database server, it can monitor the workflow activity statuses.
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
Q. 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
Q. What are the activities in the workflow builder?
The workflow builder activities are Attributes, Messages, Process, Functions, Events.
Q. What are the modes we have in workflow function?
RUN, CANCEL, SUSPEND, TIMEOUT, FORWARD, TRANSFOR.
Q. How to load the workflow from one instance to another instance?
Wfload filename.wft, wfload username/password.
Q. 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 Workflow
10-19: Reserved for Oracle Application Object Library
20-99: Reserved for Oracle E-Business Suite
100-999: Reserved for customer organizations
1000: Public
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
Q. 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.
Q. 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.
Q. When do you need a selector for an item type?
More than one process associated with 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.
Q. 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.
Q. 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.
Q. 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.
Q. How will you define the possible results of an activity in order to drive different transitions?
As lookup codes for a lookup type will 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.
Q. What are Synchronous & Asynchronous modes?
Synchronous does not interaction with database.
Q. 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, the Notification 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 sure that every user in a particular role sees the message.
Q. Can a workflow process be restarted from the point of failure?
Yes, Wf_Engine.HandleError is designed for this. When the cause of the error has been corrected, the HandleError. Procedure can be called with the ‘RETRY’ option which will attempt to re-execute the specified activity.
Q. 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.
Q. How do I set the application context/org?
If your workflow is launched from a form then the application context will already be set (because it is the same sql session). However, if an activity gets deferred to the background engine then that context is lost. So when the workflow starts up again it won’t know what context to run in a
To get around this, you should save any necessary values to item attributes when you first start the workflow (ex: save the org context). Then write a selector function to operate in SET_CTX mode which checks if context is set.
Q. How do I grant an application user access to the notification form?
The Workflow Notifications function can be added to any menu in 10SC using the System Administrator Responsibility. The name of the function is Workflow Notifications, FND_FNDWFNOT. The function exists in AOL it just has to be added to a menu.
Q. What does the Workflow Engine do when a function activity has finished?
Issue a savepoint, 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.
Q. Which Workflow Tables Need To Be Checked?
Master workflow runtime table is WF_ITEMS.
All other runtime table records are associated to record in WF_ITEMS.
If records are purged in WF_ITEMS, records ar purged in all other workflow runtime tables.
Checking the workflow runtime table master table for progress purging is the same as check any other workflow runtime table.This query will help you to determine volume of wf process classified by Status, item Type, and permanency.
select wi.item_type ITEM_TYPE,
wit.persistence_type P_TYPE,
decode (wi.end_date, NULL, ‘OPEN’, ‘CLOSED’) Status,
count(*) COUNT
from wf_items wi,
wf_item_types wit
where wit.name = wi.item_type
group by item_type,
wit.persistence_type,
WIT.PERSISTENCE_DAYS,
decode (wi.end_date, NULL, ‘OPEN’, ‘CLOSED’)
order by decode (wi.end_date, NULL, ‘OPEN’, ‘CLOSED’), 4 desc;
This query displays the parameter arguments in order for a Concurrent Program:
SELECT p.USER_CONCURRENT_PROGRAM_NAME “NAME”,
c.CONCURRENT_PROGRAM_NAME “INTERNAL”,
f.END_USER_COLUMN_NAME “PARAMETER”,
f.ENABLED_FLAG “ON_OFF”,
f.DEFAULT_VALUE,
f.REQUIRED_FLAG, f.DESCRIPTION
FROM FND_DESCR_FLEX_COL_USAGE_VL f, FND_CONCURRENT_PROGRAMS_TL p, fnd_concurrent_programs c
WHERE substr(f.DESCRIPTIVE_FLEXFIELD_NAME,7,8)=c.CONCURRENT_PROGRAM_NAME
and c.CONCURRENT_PROGRAM_ID = p.CONCURRENT_PROGRAM_ID
–and p.USER_CONCURRENT_PROGRAM_NAME LIKE ‘%Workflow%’
and (f.DESCRIPTIVE_FLEXFIELD_NAME like ‘$SRS$.FNDWFPR%’)
AND p.LANGUAGE = ‘US’
order by f.DESCRIPTIVE_FLEXFIELD_NAME, f.COLUMN_SEQ_NUM;
Records in these tables are purged only if the records in the workflow master table (WF_ITEMS) qualifies to be purged.These queries give the volume of data in the tables.
select count(*) from WF_ITEM_ATTRIBUTE_VALUES;
select count(*) from WF_ITEM_ACTIVITY_STATUSES;
select count(*) from WF_NOTIFICATION_ATTRIBUTES;
The above Workflow tables contain data which is used for Workflow background processing. If these tables grow too large the Workflow performance level becomes slower. You should be purging these tables should be purged on a regular basis.
Q. What Are The APIs Provided For Purging Workflow Data?
WF_PURGE is the database defined package which contain the APIs to purge workflow runtime tables. There are also APIs to purge design data like workflow directory services data. Workflow design data are tables where workflow process definitions are stored and are not considered runtime data.The most commonly used procedures are:
Wf_Purge.Items:
Purge all runtime data associated with completed items, their processes, and
notifications sent by them.
Deletes from the tables: WF_NOTIFICATIONS, WF_ITEM_ACTIVITY_STATUSES,
WF_ITEM_ATTRIBUTE_VALUES AND WF_ITEMS/
Parameters:
itemtype : Item type to delete, or null for all item types
itemkey : Item key to delete, or null for all item keys
enddate : Purges wf processes closed after this date
force : Forces to purge closed wf processes even if it has wf slibing
processes open.
docommit : TRUE does commit, FALSE deleted but does not commit.
Core Workflow Only
Wf_Purge.Activities :
Purges wf process definition versions that are not used and that are obsolete.
Deletes from tables:
WF_ACTIVITY_ATTR_VALUES,
WF_ACTIVITY_TRANSITIONS,
WF_PROCESS_ACTIVITIES,
WF_ACTIVITY_ATTRIBUTES_TL,
WF_ACTIVITY_ATTRIBUTES,
WF_ACTIVITIES_TL and
WF_ACTIVITIES that are associated with the specified item type,
have an END_DATE less than or equal to the specified end date and
are not referenced by an existing item as either a process or activity.
Wf_Purge.Total : Purge both item data and activity data.Wf_Purge.AdHocDirectory :
Purge users and roles in the WF_LOCAL_* tables
whose expiration date has elapsed and that are not referenced in any notification.
Are you Looking for Oracle Workflow Training? Please Enroll for Demo Oracle Workflow..! |
Q. What Parameters Are Passed To The Purge APIs?
Many of the Purge APIs accept the following parameters:
- Item Type: The item type associated with the obsolete runtime data you want to delete. Leave this parameter null to delete obsolete data for all item types
- Item Key: A string generated from the application object’s primary key. The string uniquely identifies the item within an item type. Leave this parameter null to purge all items in the specified item type.
- End Date: A specified date to delete up to.
Q. Which Concurrent Program Is Used For Purging?
In Oracle E-Business Suite, use the concurrent program ‘Purge Obsolete WorkflowRuntime Data’ (short name FNDWFPR) which calls database package WF_Purge.Total.This program deletes old Workflow runtime data for completed Workflows.
It is recommended that this program or package is run regularly as required.
Q. What’s The Recommended Frequency For Running The ‘Purge Obsolete Workflow Runtime Data’ Concurrent Program?
In short, Once Every 12 Hours for ALL item types daily. For maintaining a healthy workflow environment, the Purge Obsolete Workflow Runtime Data request should be scheduled regularly. Below is from the Workflow Administrator’s Guide which reflects as a guideline, but the volumes differ for each instance:The Oracle Applications Manager console helps you easily maintain the Oracle Workflow and Oracle XML Gateway database tables. Oracle Workflow and Oracle XML Gateway access several tables that can grow quite large with obsolete workflow information that is stored for all completed workflow processes, as well as obsolete information for XML transactions. The size of these tables and indexes can adversely affect performance. These tables should be purged on a regular basis, using the Purge Obsolete Workflow Runtime Data concurrent program.
Q. What Are The Parameter Values To Define To Run The ‘Purge Obsolete Workflow Runtime Data’ Concurrent Program?
- Item Type : The item type to purge. Leaving this field blank defaults to purging the runtime data for all item types.
- Item Key : The item key to purge. Leaving is field blank defaults to purging the runtime data for all item keys.
- Age : Minimum age of data to purge, in days.
- Persistence Type : The persistence type to be purged, either for Temporary or for Permanent. The default is temp.
- Core Workflow Only – Enter ‘Y’ to purge only obsolete runtime data associatedwith work items, or ‘N’ to purge all obsolete runtime data as well obsolete designdata. The default is ‘N’.
- Commit Frequency – Enter the number of records to purge before the programcommits data. To reduce rollback size and improve performance, set this parameterto commit data after a smaller number of records. The default is 500 records.