Oracle Fusion Procurement

Mapping Sets in Purchasing Approvals

By Michael Gibby · Published · Updated

A Two-Mapping-Set Pattern

We all know and love the complex BPM system that drives approval routings in Oracle Fusion. While very flexible, it has limitations, and the design is beginning to show it’s age. In the last few years, Oracle stealthily added a new mapping set feature which makes it incredibly easy to write complex logical statements and derive the approver. Once you have done it, you’ll see how easy and fun it is, but it does have a steep learning curve. The Oracle documentation is good, but still confusing, so I’ve put together this guide that simplifies the process and helps you understand the why behind the what.

When using mapping sets to drive requisition and purchase order approval routing in Oracle Fusion, it’s important to understand that this design relies on two distinct mapping sets working together:

  1. The Setup Mapping Set – defines what attributes are evaluated and how they’re evaluated
  2. The Data Set Mapping Set – contains the actual approval logic and approver values

Think of the Setup Mapping Set as the schema and the Data Set Mapping Set as the data. This separation allows approval logic to be managed as data while keeping BPM rules simple, stable, and reusable.

Tip: Name these according to the subject and give it a number, this way you can keep multiple values straight. For example, REQ_APPROVAL_MAPPING_SET_1 and REQ_APPROVAL_DATA_SET_1

Note, you are limited to 5 of these, so use them sparingly.

Mapping Set #1: The Setup Mapping Set

(Defines the Rules Engine)

The Setup Mapping Set tells Oracle how to interpret each column in the Data Set mapping set. Without it, Oracle wouldn’t know what each column represents or how to apply it during approval evaluation.

Purpose of the Setup Mapping Set

Setup Mapping Set – Key Attributes Explained

Each row in the Setup Mapping Set corresponds to one column in the Data Set Mapping Set.

Setup Mapping Set key attributes
AttributeMeaning
Attribute 1The column number which will be used in the Data Set mapping set by the Attribute listed in Attribute2, values like “1” and “2”
Attribute 2The Oracle attribute being evaluated (e.g., Req Total, Category ID, Cost Center segment)
Attribute 3Direction: IN for rule criteria, OUT for returned approver
Attribute 4Operator (e.g., <=, =, etc.)

Note:  Even though these attributes are listed as PO Header Attributes, they do apply to requisitions as well. This is a very common confusion point.

Example Setup Mapping Set Configuration

Example Setup Mapping Set configuration
Attribute1Attribute 2 (What’s Checked)DirectionOperatorSummary
1Requisition Total AmountIN≤Attribute 1 defines a maximum requisition amount. Oracle checks whether the requisition total is less than or equal to the value in this column.  
2Purchasing Category IDIN=Attribute 2 defines the purchasing category. Oracle checks whether the requisition line’s category matches the value in this column.
3Charge Account – Segment 2 (Cost Center)IN=Attribute 3 defines a segment of the charge account. Oracle checks whether the requisition distribution’s segment matches the value in this column.
4ApproversOUT=Attribute4 defines the approver(s). If the row conditions match, then this is the approver returned by Oracle
5Yes / Non/aSet to Yes

Mandatory Design Rule

You must always include:

This Yes/No output is what allows the approval rule to evaluate the mapping set result cleanly inside BPM.

Mapping Set #2: The Data Set Mapping Set

(Contains the Actual Approval Logic)

The Data Set Mapping Set is where business users usually spend most of their time. It contains the rows that define when approval is required and who the approvers are.

Each column in the Data Set directly maps back to the Setup Mapping Set definitions.

Structure of the Data Set Mapping Set

Each row represents one approval condition. Conceptually, it behaves like a decision table:

Data Set Mapping Set example
Req TotalCategory IDCost CenterApproversYes/No
10,00012345678978810Michael.GibbyYes
15,00045082309823091Christopher.GibbyYes

Approver Column Rules

Remember that approval rules do not stop after the first match. It identifies all rows that match and returns all valid approvers. You control deduplication via BPM and determine if this is set to none, by stage, or by task overall.

This behavior is critical and intentional—it allows approval lists to scale beyond the 30‑character limit.

Managing Mapping Sets Efficiently

One of the benefits of this approach is to quickly add and edit complex rules in a simple framework. This can be done directly in the UI or via file import.

Filtering in the UI

Import / Export

This is the preferred approach when:

Mapping sets complement—rather than replace—traditional approval rules. They can be combined with standard BPM conditions, hierarchies, and approval stages as needed.

Design Tips & Leading Practices

Keep logic in the Data Set, not BPM.
Mapping sets are easier to maintain and audit than hard‑coded BPM rules.

Document ownership clearly.
Approval mapping sets often become mission‑critical and should have a defined business owner.

Putting it into Practice

Mapping sets are evaluated only when referenced by a BPM approval rule using the corresponding Mapped Approval Attribute. If the BPM rule does not invoke the attribute, the mapping set will not execute.

Set up a rule like

That last condition is critical — it prevents approval errors when no rows match in the data set.

Then for the action, set up

In simple terms:

“Route the approval to whoever the mapping set returned.”

This is where your Data Set mapping set output column is consumed.

Final Takeaway

The two‑mapping‑set approach—using a Setup Mapping Set to define logic and a Data Set Mapping Set to hold approval conditions—provides a flexible, scalable, and maintainable way to drive requisition approvals in Oracle Fusion. When implemented thoughtfully, it keeps BPM rules simple, approval logic transparent, and future change fast and low‑risk without workflow rework.

TL;DR

This screenshot with instructions shows both mapping sets in one view, and how the rows in the Setup Mapping Set map to columns in the Data Set Mapping Set.

Diagram showing how Setup Mapping Set rows map to Data Set Mapping Set columns for Oracle Fusion approvals.

Finally I’d like to give special thanks to my colleague Logan Stokes. When this feature was first announced, we identified that it may help resolve a critical client need, and Logan volunteered to become our internal expert. He has taught many of our team how to implement this feature and my article builds on his insightful knowledge. We all need coworkers like Logan!