OM To AR EFF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

Implementing Order Management

Cloud
Tips and Best Practices (Part 8) – Service Mapping

Shrikant Nene
Director, Product Management
Order Management Cloud

June 2018

Copyright © 2018, 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 © 2018, 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 © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 3
Agenda

1 Overview of product functionality – Service Mapping


2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 4
Agenda

1 Overview of product functionality – Service Mapping


2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 5
Overview of Product Functionality – Service Mapping
What does it do?
– Allows user to extend fusion integration
Customer Examples Want to send negotiated price to supplier for Dropship
Want to send deliver-to address to supplier

Want to send covered item description with coverage lines.


Want to send freight charges as a separate line for invoicing

Want to send additional DFF to shipping agent

Want to send additional information to receiving clerk


for RMA orders

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |


Confidential – Oracle Internal
How does it work? Prepare Payload
Order Capture
Fulfillment System
Feature N
Enabled? *
Orchestration
Process Y Shipping
Call Task Specific
Service Mappings
SDO Receiving
Payload

Order Algorithm N Procurement


Fusion Integration
Step Enabled?
Enhanced
Task Payload
Y Receivables
Fulfillment Lines
Call
Algorithm

*Specific feature is checked.


Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 7
Components of solution
Context
Container for the objects

Entity
Defines the structure of the objects

Source
Defines where the values are coming from

Services
Defines which attributes you want to use in the final output

Algorithm (Optional)
Procedure to implement complex logic

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 8


Agenda

1 Overview of product functionality – Service Mapping


2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 9
Enable Features
Tips and Best Practices
Enable feature in Order Management
offering

Navigation: Order Management Offering>Change Feature Optin>Features


Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 10
Choosing Correct Tasks
Tips and Best Practices
Under Pricing Administration offering, choose
tasks from
“Order Management Configurations”

Navigation: Pricing Administration>Tasks

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 11


Manage Service Mapping - Entity
Tips and Best Practices
Number of Entities and attributes are
seeded for you convenience

Anything that does not contain


_Custom suffix is seeded entity

All the entities or attributes you


create must have “_Custom” suffix.

Always a good idea to provide


description for entities and attributes

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 12


Manage Service Mapping - Sources
Tips and Best Practices
Do not change View Object for the
Entity

When creating entities for EFFs, DFFs


and GDFs always have the suffix as
DFF_Custom, EFF_Custom and
GDF_Custom resp.

Provide ViewObject Attribute name

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 13


Manage Service Mapping - Services
Tips and Best Practices
Choose implementation type Algorithm

Enter Algorithm name as implementation

Add all attributes you want to send values


to

Typically no aliases are required for the


seeded entities and attributes

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 14


Manage Service Mapping – Using EFFs (Entities)
Tips and Best Practices
If you wish to pass EFF attributes
down stream:

Create one entity per context

Add all attributes you want to


pass

Provide key attributes

Associate correct type

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 15


Manage Service Mapping – Using EFFs (Sources)
Tips and Best Practices
Gather all the information needed
upfront from flexfield archive
Use copy/paste as oppose to typing in.

Enter correct VO object


Obtained from xml file

Enter correct View Object Attribute


Name
Obtained from xml file

Always use “_Custom” prefix

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 16


Manage Service Mapping – Using EFFs
Tips and Best Practices
Search for Module as Process Order

Download the flexfield archive

Store the information needed in a


separate text file that you can copy
and paste from

Navigate down to
oracle/apps/scm/doo/processOrder/fl
ex/<object>ContextsB/view<appropri
ate VO.xml
Navigation: FSM>Tasks>Manage Extensible Flexfields

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 17


Manage Service Mapping – Using EFFs
Tips and Best Practices
Look for ViewObject. Name
attribute is the VO name

Look for
FND_ACFF_EFF_CONTEXT_CODE.
Value attribute is the context code

Navigation: FSM>Tasks>Manage Extensible Flexfields

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 18


Manage Service Mapping – Using EFFs
Tips and Best Practices
Look for ViewAttribute tag,
EntityAttrName is the VO object
attribute name

Navigation: FSM>Tasks>Manage Extensible Flexfields

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 19


Manage Service Mapping – Using DFFs (Sources)
Tips and Best Practices
For DFFs in Purchsing Integration, Shipping
Integration, Receiving Integration:

Add all attributes you want to pass


downstream

Add Attribute Category

Provide a value in expressions if context


sensitive segments are used
“Pricing Info”
Do not forget to use quotes while
specifying string values
Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 20
Manage Service Mapping – AR DFFs
Tips and Best Practices
If want to send the values to AR DFFs,
need to make sure that these 4
attributes are defined for the
entity(already seeded)

There are extra steps you need to


follow for AR DFFs

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 21


Manage Service Mapping – AR DFFs (Entities)
Tips and Best Practices
Add more DFF attributes you want to
pass to AR

Choose correct data type

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 22


Manage Service Mapping – AR DFFs (Sources)
Tips and Best Practices
Specify values for these special
attributes
Namespace from vo.xml file
XsiType from xsd file
FLEX_Context from vo.xml file

Optionally supply value for additional


attributes using expression or view
objects

Navigation: Pricing Administration>Task>Manage Service Mapping(Order Management Configuration)

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 23


Manage Service Mapping – AR DFFs (Services)
Tips and Best Practices
Always provide alias for the additional
attributes added for AR DFFs

Use this alias to set the value in


Algorithms

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Service Mappings

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 24


Manage Algorithms
Tips and Best Practices
You can version Algorithms

You need to publish Algorithms

Before publishing always save, close


this UI and open it again

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Algorithms

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 25


Manage Algorithms
Tips and Best Practices
While creating new Algorithm, you
need to save the header before you
can work on details

Mandatory tabs to fill in are


Variables
Algorithms

Functions are optional

Test is optional, but highly


recommended
Navigation: Pricing Administration>Task> Order Management Configuration>Manage Algorithms
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 26
Manage Algorithms - Variables
Tips and Best Practices
Select data type as Data Object

Always set variable as Input and


Output

Select correct service

Name is used in the next screen

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Algorithms

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 27


Manage Algorithms - Datasets
Tips and Best Practices
Name is used in the algorithm logic to
reference attributes

Format is VariableName.entity name


from service mappings

Choose appropriate cardinality


One/Zero or One/Many

Join condition uses variable names defined


here. Follow the syntax carefully

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Algorithms


Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 28
Manage Algorithms
Tips and Best Practices
Following entries are to be entered
exactly as appears

In the Appendix step by step


instructions are given

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Algorithms

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 29


Manage Algorithms
Tips and Best Practices
Actual logic is Groovy script

Enter comments

Always check for null before


assigning values from

Format is Datasetname.alias
Dataset name is defined in
algorithm
Alias or attribute name is defined
in service mappings
Navigation: Pricing Administration>Task> Order Management Configuration>Manage Algorithms

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 30


Manage Algorithms
Tips and Best Practices
Always test the Algorithm at design time

Click on Add button to create a new test

Click on Add button to generate default


payload

Edit payload to suite your business need

Click on Run test button to run the test

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Algorithms

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 31


Manage Algorithms
Tips and Best Practices
Validate output

Not just existence of output but the


correctness of the output

Sometime you may have to delete


the test data and recreate it, if you
change the logic or datasets

Navigation: Pricing Administration>Task> Order Management Configuration>Manage Algorithms

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 32


Overall tips
Service Mappings and Algorithms UI are case sensitive. Enter exact names including _ and cases.

Always add attributes to Sources as well as Service tabs for a given entity

When you are adding EFFs, add it to all 3 tabs (Entities, Sources, Service)

Use Expressions to implement simple logic or concatenation

Use Algorithm in case of following cases:

Map attributes from other entities than the source VO


Map attributes from EFFs
Map attributes to AR DFFs

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 33


Summary of Tips and Best Practices
Service Mappings Algorithms
Always enter attributes in all 3 tabs Version your algorithms
Use exact names Always test your algorithm at design time
Use expressions or VO attribute objects to assign Ensure that your algorithm is published
values Do not forget to enter Algorithm name on services
Add EFF entity once for each context that you want tab
to use
You can re-use EFF entity in multiple services

Run-time
If you get error during execution of the task, you
can correct the algorithm and recover the task

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 34
Agenda

1 Overview of product functionality – Service Mapping


2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 35
Where to find additional information
– Oracle Help Center - Implementing Order Management Cloud
• https://docs.oracle.com/en/cloud/saas/index.html
– Navigate to SCM – SCM Core – Oracle Supply Chain management Cloud R13 (update 18A)
• Click Books (left menu) to find Implementing Order Management

– Release Readiness Training – Order Management Release 13 (Updates 17B-17D)


• https://cloud.oracle.com/en_US/order-management-cloud/releasereadiness?offering=order-management
– Release Training – Order Management (Review Implementation Advice Demos)
• Infrastructure (update 17C)
• Extend Integration to Oracle Procurement, Oracle Shipping and Oracle Receiving (update 17D)
– Customer Connect Sessions
– Pricing – services & algorithm

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal 36
Agenda

1 Overview of product functionality – Service Mapping


2 Implementation tips and best practices
3 Where to find additional information
4 Questions / suggestions for future topics

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 37
Discussion
Future Topics Questions

Credit Check - Implementation Consider

How does Cross Referencing work

Approvals in Order Management

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 38
Appendix - List of Entities/ Sources/Service
Common InvoiceSources
PurchaseRequestSource
Header ARChargeInterfaceLine
PurchaseRequestHeader
FulfillLine ARInterfaceLine
PurchaseRequestLine
FilfillLineDetails Charge
PurchaseRequestConfig
ChargeComponent
TransactionInterfaceGdf
ShipmentSource TransactionInterfaceHeaderDff
ShipmentRequestHeader TransactionInterfaceLinkToDff ReceiptSource
ShipmentRequestLine TransactionInterfaceLinkToDff
TransactionLineInterfaceGdf ReceiptAdvice
ReceiptAdviceLine
ReceiptAdviceLineLot
ReceiptAdviceLineLotWithSerials

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 39
Appendix – Algorithm Function
Algorithm
Create new Algorithm
Create step with name: Map Translated Description
Create data sets for FLine and ARLine with Data Set Join specified

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 40
Appendix – Algorithm Function
Function GetCoveredFromDocRef
Go to Functions” tab, create function “GetCoveredFromDocRef”.
Go to “View Object Query” tab, specify the following values
Application Module:
oracle.apps.scm.doo.common.process.model.applicationModule.DooExtensibleMapperAM
Application Configuration: DooExtensibleMapperAMShared
View Object: DocumentReferenceVO
View Criteria: getCoveredLine
Select Single Row check box
Create bind variable: flineId, set its value as FLineId
From “Arguments” tab, create argument “FLineId” to pass as bind variable for the view criteria.

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 41
Appendix – Algorithm Function
Function GetCoveredFLine
Go to Functions tab, create another function “GetCoveredFLine”.
Go to “View Object Query” tab, specify the following values
Application Module:
oracle.apps.scm.doo.common.process.model.applicationModule.DooExtensibleMapperAM
Application Configuration: DooExtensibleMapperAMShared
View Object: FulfillLineVO
View Criteria: getFLineByFLineId
Select Single Row check box
Create bind variable: FLineId, set its value as FLineId
From “Arguments” tab, create argument “FLineId” to pass as bind variable for the view criteria.

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 42
Appendix – Algorithm Function
Default Condition
Now, go to the Algorithm and define Execute condition.

Create local variables:


CoveredFlineDocRefRow – to store the row from DooDocumentReferences for the fulfillLineId of the
coverage line
CoveredFLineRow – to store the row from FulfillLine for the covered line

When condition is not met, Default action will be executed:


ARLine.TranslatedDescription = FLine.ProductDescription + ' ' + FLine.OrderedQty.toString() + ' ' +
FLine.ContractStartDate + '-' + FLine.ContractEndDate

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 43
Appendix – Algorithm Function
Condition
When condition for coverage line is met:
FLine.SalesProductTypeCode in
['COVERAGE','PREVENTIVE_MAINTENANCE','SERVICE_LEVEL_AGREEMENT','SOFTWARE_MAINTENANCE','I
NCLUDED_WARRANTY']

Use the functions to get the Product Description of the covered line and use it in the concatenation in
“Conditional Actions”:
CoveredFlineDocRefRow = GetCoveredFromDocRef(FLine.FulfillLineId)
if (CoveredFlineDocRefRow?.DocSublineId!=null)
CoveredFLineRow= GetCoveredFLine(CoveredFlineDocRefRow?.DocSublineId)

ARLine.TranslatedDescription = FLine.ProductDescription + ' ' + CoveredFLineRow?.ProductDescription + ' '


+ FLine.OrderedQty.toString() + ' ' + FLine.ContractStartDate + '-' + FLine.ContractEndDate

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 44
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 © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 45

You might also like