Workflowbeginner
Oracle Workflow Builder Fundamentals
Understand the core building blocks of Oracle Workflow used throughout EBS for process automation and notifications
Oracle Workflow drives the processes behind EBS: order line flows, requisition and purchase order approvals, invoice approval.
Oracle Workflow is like a flowchart brought to life: instead of a static diagram on a whiteboard showing 'if approved, then do X, else do Y,' the Workflow Engine actually walks each specific case (item key) through that flowchart step by step, pausing at decision points that need a human response (notifications) and executing automated steps (function activities) along the way.
Key Concepts
1
A process is activities joined by transitions.
Start -> Validate Requisition -> Get Approver -> Notify Approver
|
Approved ----+---- Rejected
| |
Create PO Notify Requester2
Two kinds of activity.
Function activity runs a PL/SQL procedure
Notification activity sends a message and waits for a response3
A function activity's procedure follows a fixed signature:
4
PROCEDURE validate_req(itemtype IN VARCHAR2,
itemkey IN VARCHAR2,
actid IN NUMBER,
funcmode IN VARCHAR2,
resultout OUT VARCHAR2) IS
BEGIN
IF funcmode = 'RUN' THEN
...
resultout := 'COMPLETE:APPROVED';
END IF;
END;5
resultout decides which transition is taken. That string is how the process branches.
resultout
6
Item type and item key identify an instance.
item type a namespace: 'OEOL' for order lines, 'REQAPPRV'
for requisitions
item key which one: usually the transaction's id7
Together they name a single running process, which is what you search for when tracing one.
8
Item attributes carry the data. A process holds its own attributes — the requisition amount, the
approver, the requester — set by function activities and referenced in notification text.
9
The property that shapes everything: a workflow can wait. A notification activity pauses the process
indefinitely while a person decides.
10
So a workflow instance may live for weeks, surviving restarts, and its state is in the database rather than
in memory. That is why workflow rather than a procedure, and it is why a stuck process is a normal
operational concern rather than a crash.
11
Custom workflows use a custom item type, and never a modification of a seeded one. A seeded process is
replaced at patching; your own is not.
12
Where the definition lives. Built in Workflow Builder, a Windows tool, saved as a .wft file and
loaded into the database with WFLOAD. The .wft belongs in source control — it is the only readable form
of the definition.
.wftWFLOAD
13
What the interviewer is probing.1. "What are the building blocks of a workflow?" Probing: the vocabulary. Stalls: "Steps."
Moves up: item types, attributes, processes, activities (function, notification, process),
transitions and lookup types.
14
2. "What is the difference between a function and a notification activity?" Probing: the
distinction. Stalls: "Nothing." Moves up: a function runs PL/SQL; a notification sends a message
and waits for a response, which is where the process pauses.
15
3. "How do you change a workflow safely?" Probing: the discipline. Stalls: "Edit and save."
Moves up: version the item type and load with preserve or upgrade mode appropriately — in-flight
instances continue on the old definition.
16
4. "Why avoid customising a seeded workflow?" Probing: the upgrade angle. Stalls: "No
reason." Moves up: patches reload the seeded definition, so changes are lost unless they are made
in a supported, documented way and reapplied.