An Oracle Technical
Reference
August 2023
Using Public VO’s and DFF/EFF Vo’s in
Algorithms
Disclaimer
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.
Functional Requirement:
The requirement is to be able to retrieve the data setup in DFF’s ( Pricing/non-Pricing Entities )
and Public VO’s in algorithms.
Customization Steps:
DFF Setup:
- Global Segments can be accessed from any of the generated VO's for a particular entity.
For context specific segments, a specific view object is generated for each context and the
attributes can be accessed using that view object only.
- When we define the segments, the 'API name' in the UI is automatically populated and it
starts with a small case by default. Currently we have a limitation in the algorithms that
we cannot access any of the attributes starting with a small case. For this reason, the user
will have to edit the API name during the creation so that it starts with a Capital Letter
Access the DFF’s using algorithm functions
- Depending on the requirement, the user can create a custom algorithm or create a
version of existing algorithm.
- In the edit algorithm page, click on functions tab.
-
To access the DFF attributes, the user will need to create an Algorithm function where
he/she can provide the view object name (only for Pricing DFF's) or the view object
definition as below. The 'View Object' in the below screenshot can hold either the name
of the View Object (only for Pricing DFF’s) or the View Definition. This can be taken from
the package structure from the downloaded Archive. Note that the dropdown against the
View Object holds no significance here and should be manually edited to specify the VO
Name/ Definition. The View Object name/definition should exactly match the one in the
downloaded package structure
3
-
Create a new function. Provide any name, set the Query Type as ‘View object lookup’ and
provide an appropriate description.
-
Click on View Object Query tab under the function, click on + icon and provide the
following details.
Application Module
oracle.apps.scm.pricing.priceExecution.pricingProcesses.public
Model.applicationModule.PricingProcessAM
Application Configuration
${(PriceRequest.PricingServiceParameter[0]?.CacheEnabledFlag
==null ||
PriceRequest.PricingServiceParameter[0].CacheEnabledFlag) ?
'PricingProcessAMShared' : 'PricingProcessAMLocal'}
View Object
View Object information can be retrieved from the downloaded
flex field archive. The entire path to the view object needs to be
specified. If the name of the View Object is
CustAcctInformationVO and the path of the xml in the archive is
10024_HZ_CUST_ACCOUNTS\oracle\apps\cdm\foundation\par
ties\flex\custAccount\view - then the view object path that is
needed to be specified is :
oracle.apps.cdm.foundation.parties.flex.custAccount.view.Cus
tAcctInformationVO
View Criteria
This is a mandatory field. This can be anything and will be
dynamically created. For eg : xfindByCustAccountId
Single Row
Keep this checked if you expect the outcome of the criteria to
be a single row.
4
-
The View Criteria is mandatory and is dynamically generated and would need some bind
parameters to be passed to retrieve the results. If you wish to pass them as arguments to
the function, Click on the Arguments tab and add a new argument with a name, eg:
CustAccountId and specify any necessary comments.
-
Now click on ‘View Object Query’ tab. Click on + to add a bind parameter. The
BindVariableName should match the exact name of the Attribute in the VO. This attribute
is usually the Primary key of the Joining Entity and will be as follows in the XML.
<EntityUsage Name="FlexfieldDataEO"
Entity="oracle.apps.cdm.foundation.parties.publicModel.customerAccounts.entity.CustomerAccountEO"/>
<ViewAttribute Name="CustAccountId" EntityUsage="FlexfieldDataEO" EntityAttrName="CustAccountId" IsUpdateable="false">
<Properties>
<Property Name="DISPLAYHINT" Value="Hide"/>
</Properties>
-
The Bind Variable Value if passed as an Argument can be the Argument name or can be a
literal.
-
Depending on the requirement, edit an existing step or create a new step to use the
function created to retrieve the DFF attributes.
5
-
If it is not a single row function, then it can also be accessed as a Data Set
-
For Global Segments, just the primary key would suffice for the Bind Variable Name like
CustAcctId, CustomerPricingProfileId etc, but for the context specific segments, the Bind
Variable Name should additionally include the attribute __Flex_Context which should
have the value of the context name.
6
Access Public VO’s using algorithm functions
-
Follow the same steps as above and instead of using the view object definition from the
flex field archive, use the published view object definition.
Eg : oracle.apps.financials.commonModules.businessUnits.publicView.BusinessUnitPVO
7
Change History
August 4, 2023. Moved this content from a Word document.
August 2023
Author: Priya Gopal
Copyright © 2023, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and the
contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are
Oracle Corporation
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
World Headquarters
means, electronic or mechanical, for any purpose, without our prior written permission.
500 Oracle Parkway
Redwood Shores, CA 94065
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and
are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are
trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0612