Implementing Order Management
Cloud
Tips and Best Practices (Part 1)
Shrikant Nene
Director, Product Management
Cloud Order Management
December 2017
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 2
Introduction to Tips & Best Practices Series
Objective Target Audience Topics
Provide recommendations for how to Customers and partners familiar with Focus on core functional setups in
implement Order Management the basics of implementing Order Order Management Cloud with
Cloud to achieve the best results in Management Cloud specific configuration tips and best
the fastest time practices
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 3
Agenda
1 Overview of product functionality – Pause Task
2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 4
Overview of Product Functionality – Pause Task
What does it do?
– Allows a fulfillment process to be “paused” until a specific condition is met
Customer Examples I need to run a credit check before I
start fulfilling the order
Event based
I want to send the shipment request one
day before the scheduled ship date
I can’t send the shipment request until the
appointment is confirmed. I need to check every hour.
Time based
I need to invoice only once all the
order lines are shipped
Wait until at least one line in the
order is shipped before invoicing Based on other
order lines
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Confiden
Pause Task – How it works
Event occurs
Orchestration Process Wait for an event
True Wait until a specific
date and time Date arrives
Fulfillment Task Pause
(e.g. Schedule) Rule(s) Retry on a specific
date and time
False
Pause Task Date arrives
Release
Rule
Fulfillment Task Release manually (UI)
(e.g. Shipment)
Release through web
service
Release Pause
Release through ESS Job
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 6
Types of Pause Rules
– Event based pause
• Wait for external events to release the pause
– Time based pause
• Wait for certain time to release the pause
• Wait for a condition and re-check the condition at a frequency
– IPC (Inter Process Coordination) Pause
• Wait for other all the lines to attain certain status
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 7
Implementing the Pause Task
• Create Step for
Pause Task
• Enter Start After
Condition
• Note: Line
Selection Criteria
is disabled
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 8
Agenda
1 Overview of product functionality – Pause Task
2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 9
Start After Condition - Details
Tips and Best Practices Start After Condition
Oracle Business Rules (OBR) Ruleset
If multiple Pause Rules are needed,
ensure cases are mutually exclusive Pause Rule (priority < Highest)
Always create a Release Rule
Pause Rule2 (optional)
Always set priority to Highest for the
Release Rule and lower for the Pause
Rule Release Rule (priority = Highest)
High priority rules are run first (least important),
those results are updated by the lower priority
rules
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 10
Types of Pause Task: Event Based
Tips and Best Practices
Create criteria for [Link]
otherwise it will evaluate for all lines
Use [Link] to reference
the line in this process instance
[Link] checks for all lines in
the order
Check for null conditions
Always use assign – NEVER assert new
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 11
Types of Pause Task: Time Based
Tips and Best Practices
Return a specific date and time – NOT
a duration (e.g. 5)
Use functions like getAdjustedDate
and getConvertedDate
Only set Re-evaluate to ”Y” to re-check
the condition (IF statement)
periodically
If re-evaluating, set frequency
carefully – uses system resources
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 12
Types of Pause Task: Inter Process Communication (IPC)
Tips and Best Practices
Use [Link] as
these conditions are based on other
lines on the order
Consider the number of order lines
that will be on an average order as
performance is impacted by larger
orders
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 13
Types of Pause Task: IPC for Large Orders
Tips and Best Practices
For larger orders use timer based
pause using
[Link] and re-
evaluate every 8 hours
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 14
Types of Pause Task: Default Release Rule
Tips and Best Practices
Always set the Priority to Highest
Ensures Pause Rule will run last to take
precedence
Always create a default release rule
condition
If the Pause Rule condition isn’t met, this rule
condition should automatically release the pause
Use assign new
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 15
Pause Task: Behavior during order revisions
Tips and Best Practices Add new attributes to the Order
Attributes That Identify Change
To ensure Pause Tasks are re-evaluated only
Consider change order processing when meaningful changes to the order
Set Use Flexfield Attributes to False Use a compensation pattern
To skip compensating the Pause Task when To always skip the Pause task during
EFFs are updated compensation, if desired
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 16
Pause Task - Testing recommendations
– Test all variations in development environment
• With single line order
• With multi line order
• With shipsets
• With models
• Pass null values
• Pass false values
• Pass true values
• Change order flows
– Attributes in pause rule change
– EFFs in order change
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 17
Summary of Tips and Best Practices
Overall Time Based
If multiple Pause Rules are needed, ensure cases Return a specific date and time – NOT a duration
are mutually exclusive (e.g. 5)
Always create a Release Rule Use functions like getAdjustedDate and
Always set priority to Highest for the Release Rule getConvertedDate
and lower for the Pause Rule Only set Re-evaluate to ”Y” to re-check the
Check for null conditions condition (IF statement) periodically
If re-evaluating, set frequency carefully – uses
system resources
Event Based
Create criteria for [Link] otherwise it
will evaluate for all lines
Use [Link] to reference the line in this
process instance
Always use assign – NEVER assert new
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 18
Summary of Tips and Best Practices
Inter Process Coordination Behavior during order revisions
Use [Link] as these Consider change order processing
conditions are based on other lines on the order Set Use Flexfield Attributes to False
Consider the number of order lines that will be on Add new attributes to the Order Attributes That
an average order as performance is impacted by Identify Change
larger orders Use a compensation pattern
For larger orders use timer based pause using
[Link] and re-evaluate every
8 hours Testing
Test all variations in development environment
Release Rule
Always set the Priority to Highest
Always create a default release rule condition
Use assign new
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 19
Agenda
1 Overview of product functionality – Pause Task
2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 20
Where to find additional information
– For details about Oracle Supply Chain Management Cloud, see Oracle Help Center at
[Link]
• Implementing Order Management Cloud
– Pausing Orchestration Processes
– White Paper on My Oracle Support ([Link])
• Using Business Rules with Order Management – Doc ID 2051639.1
– Receive Order Request Service
• ReleasePausedTasks
[Link]
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 21
Agenda
1 Overview of product functionality – Pause Task
2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 22
Discussion
Future Topics Questions
Writing rules using Oracle Business Rules (OBR)
Change order processing
Implementing extensible flexfields (EFFs)
Communicating with external systems
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 23