The 20.02 update hits Production pods this Friday 2/21/2020, and was in Test pods on 2/7/2020. This update was feature-packed for Oracle EPM Cloud’s Enterprise Data Management (aka EDM, EDMCS).

Oracle had a ton of enhancements, many of which are exclusive to the EDM Expressions/Expression Builder. Expressions allows you define custom logic for node type converters, validations, and property derivations. Expressions continue to help us gain parity between EDM and legacy DRM derived properties/javascripting.

I’ve separated the new features into overall vs. Expression enhancements.

Overall Functionality Enhancements

  • Import / Export support for EPM Automate
    • No longer must we to write REST API scripts to automate files in and out of EDM!
    • Allows for EPM Automate scripting to run imports and exports, which allows for a consistency of scripting language between EDM and the other Oracle  EPM Cloud stack
  • Change Parent for Invalid Request Item Using Drag and Drop
    • If a request item has an invalid or missing parent, you can now drag/drop it from the left-hand Request Panel into its new home.
  • Copy and Model After Node in Viewpoint
    • Both make hierarchy maintenance so much easier for our data stewards – if 90% of the attributes and placement are the same you can save a ton of time managing data/attributes. I’ve down a quick demo of this at the bottom of this post. Scroll down!
    • Copy – you can select a node and “Copy” it under the same parent and all the attributes are the same as the copied node. You’d just need to change the node name and alter the description for your new node.
    • Model After – like Copy, but also inserts it into alternate rollups if the node you choose to  “model after” is in multiple places. This would be wildly helpful if you have a ton of alternate hierarchies and your new hierarchy member(s) that follow the same logic.
      • This is still greyed-out for me in my action menu in a request, guessing it wasn’t quite ready for  prime-time and might become available in the next release. See screenshot at the end of the post!
  • Improved File Name Handling for Dimension Exports
    • The new default filename format is Application_Dimension_yymmdd.csv. (like Kate’s_Candy_Close_Account_20200219.csv)
    • You can override the name on export if needed. This helps keep track of the files if you are downloading them to a shared location.
  • Descriptive Flexfield Support for E-Business Suite General Ledger
    • This has been live for Oracle Cloud Financials, but just opened up for support for EBS
  • Subscription Filters Based on Actions and Expressions
    • Subscriptions are what keep target application viewpoints in sync; but what happens if there is an exception to the rule? Like maybe you only want parent nodes vs. child nodes to subscribe to a new hierarchy because they differ in their level? Or what if you only want new Additions to subscribe, not Deletes/Removes? Enter this feature. So cool!
  • Minimize and Restore Inspector Windows
    • Anytime you are reviewing an object in the Inspector, you can minimize the window to see what is behind it in EDM. This is helpful if you are building Expressions to derive properties off of data requirements 🙂
    • I actually haven’t been able to figure this one out yet… I’m not seeing a button to minimize the window. I’ll keep looking!

Expressions Enhancements

  • Transform a Node Name on a Node Type Converter (via Expression)
    • More from me on this one as I continue to test – but think if you had a converter/subscription and you wanted to generate a different node name in a target app… more than just adding a prefix.
    • You can define a node name based on a parent or relationship, or property setting.
  • Ability to use Siblings as references in Expressions
    • Think of if you want to set a property (like HSP_NoLink attribute property) based on a sibling node’s property is setting.
  • Ability to use the Trim function on Strings in Expressions
    • Pretty standard usage for development – gets rid of the outside spaces
  • Allowing Expressions on Boolean Type Properties
    • Oracle continues to enhance what we can do with Expressions – now you can derive a Y/N or 1/0 or True/False based property with business logic
  • More Invalid Characters Supported for String/Memo Type Properties
    • !”#$%&'()*+,-./:;<=>?@[\]^_`{|}~
  • Copy Clipboard for Expressions
    • More on this below!


Copy Clipboard for Expressions

This is pretty slick  – you can now copy Expressions to a clipboard in the interface, so you can paste them into other editors for sharing.

To test, I created a simple Validation via Expression on a Node Type in my application. This one makes sure that the node name length is going to be 6 digits. I used the  “Comment” feature in green to add that into my “code”.

The clipboard icon is near the Apply/Cancel and Undo/Redo buttons.


Once on my clipboard, I’m able to copy/paste into a blank email with command-V (I’m a Mac user).  See below – my comment and the code paste in an easy-to-read format, including proper tabs and curly braces.


Now, you still cannot copy code between two Validations or Expressions. You can do copying of some elements of them within the same Expression, but not across the app as of yet. You can also not paste the code, like from above, into the Expressions builder (at least as of this post, on 2/18/2020).


New Request Actions: Copy and Model After

Another new feature that is going to seriously help my future EDM Data Stewards / Administrators is the Copy Action.

I began a new Request, and found a node I want to Copy and use as a model for my new node.  In my hierarchy, I want my node to be like CHO001 – Milk Chocolate Bar. I click the “…” next to the node and select Copy from the dropdown.


A new node is created – under the same parent as my Copied node and has the same attributes, including description. Notice the name of the new node is “Copy of CHO001” as a reminder it was a copied node.


As an admin/data steward, I’d then make the appropriate changes to the node name and description, and submit the Request.

The “Model After” action appears in the Actions menu when making changes to nodes in a ViewPoint.  Model After is essentially the same as “Copy” but is only available on Hierarchy Sets that allow shared nodes; and when you use it, will also create the nodes in the same alternate structures as the selected node to model after.