<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Oracle Cloud EPM and ERP Articles]]></title><description><![CDATA[Articles related to Oracle ERP and EPM Cloud.]]></description><link>https://atarunraj.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 14:36:34 GMT</lastBuildDate><atom:link href="https://atarunraj.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Latest Oracle EPM REST APIs: Part 1 Dimension Details]]></title><description><![CDATA[I will be writing a series of articles about the newest REST APIs available in Oracle EPM Instances. Beginning 26.04 (April 2026), Oracle has started to introduce many more APIs that makes it easy for]]></description><link>https://atarunraj.dev/latest-oracle-epm-rest-apis-part-1-dimension-details</link><guid isPermaLink="true">https://atarunraj.dev/latest-oracle-epm-rest-apis-part-1-dimension-details</guid><dc:creator><![CDATA[Arun Raj]]></dc:creator><pubDate>Sat, 04 Apr 2026 15:15:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6684a66901dc06f3ac53c6fa/997e42e3-fc7a-4ff1-b9a4-d6668363c751.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I will be writing a series of articles about the newest REST APIs available in Oracle EPM Instances. Beginning 26.04 (April 2026), Oracle has started to introduce many more APIs that makes it easy for us to interact with Oracle EPM Applications.</p>
<p>There is no doubt these are geared towards AI Agents, MCP Server and in general making it easy for AI apps to interact with Oracle EPM. This will be Part 1 of the series. I will be making videos as well.</p>
<p>With that lets get strated with the API to get the Dimension Details.</p>
<h3><strong>Latest EPM REST APIs</strong></h3>
<p>The below are the REST APIs I want to cover in my articles and vidoes.</p>
<ul>
<li><p><a href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/get_plan_types.html"><strong>Get Plan Types</strong></a></p>
</li>
<li><p><a href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/get_dim_plan_types.html"><strong>Get Dimensions for a Plan Type</strong></a></p>
</li>
<li><p><a href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/get_dim_details.html"><strong>Get Dimension Details</strong></a></p>
</li>
<li><p><a href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/get_applications_summary.html"><strong>Get Application Summary</strong></a></p>
</li>
<li><p><a href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/export_data_ia.html"><strong>Export Data</strong></a></p>
</li>
<li><p><a href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/get_export_form_data.html"><strong>Export Form Data</strong></a></p>
</li>
</ul>
<p>We will start with Get Dimension Details API.</p>
<hr />
<h3><strong>Get Dimension Details API</strong></h3>
<p>I am particularly excited about this one becuse we can get the dimension deails - the hierarchy, parent, children, alias in json format. I don't know about you, but I haven't been this excited about an EPM REST API in a looooong time!!</p>
<img src="https://media.licdn.com/dms/image/v2/D4E12AQEooY86b_a-9w/article-inline_image-shrink_1000_1488/B4EZ1Yg37bHUAQ-/0/1775306507602?e=1776902400&amp;v=beta&amp;t=DYdUgoRem352oJC_m3LOr1K7Ci2ty9PqKRmPE6r3Ido" alt="Article content" style="display:block;margin:0 auto" />

<p>Ok Lets see how we use this.</p>
<p>API end Point: /HyperionPlanning/rest/v3/applications/{appName}/plantypes/{planType}/dimensions/{dimension}</p>
<img src="https://media.licdn.com/dms/image/v2/D4E12AQEkwjq4oUtS6g/article-inline_image-shrink_1500_2232/B4EZ1YhgK0GQAU-/0/1775306671094?e=1776902400&amp;v=beta&amp;t=SKnUNL4dQit72uMJmI1PD68dKVbBEIw-CSsp11h6nvc" alt="Article content" style="display:block;margin:0 auto" />

<p>You need to provide the following details</p>
<ul>
<li><p>Application Name</p>
</li>
<li><p>Plan Type / Cube Name</p>
</li>
<li><p>Dimension Name</p>
</li>
</ul>
<h3><strong>REST API Response</strong></h3>
<p>Let's examine the REST API response.</p>
<img src="https://media.licdn.com/dms/image/v2/D4E12AQGifyEfT8EQaA/article-inline_image-shrink_1000_1488/B4EZ1Y.VL.HUAQ-/0/1775314228428?e=1776902400&amp;v=beta&amp;t=CTWZo_gFk5XEtmlxf5-oWFFAs-9eWBoxlgomTD2I_5k" alt="Article content" style="display:block;margin:0 auto" />

<ul>
<li><p>dimType: The type of dimension this is - Custom / Standard / Attribute</p>
</li>
<li><p>dimName: Projects</p>
</li>
<li><p>density: Sparse</p>
</li>
<li><p>usedIn: the cubes in which the dimension is being used. This an extremely useful information.</p>
</li>
</ul>
<p>Let's look at another screenshot where we take a closer look at the members of the dimension:</p>
<img src="https://media.licdn.com/dms/image/v2/D4E12AQGQ3ZHjkU7XzA/article-inline_image-shrink_1500_2232/B4EZ1Y_FDbH0AU-/0/1775314424474?e=1776902400&amp;v=beta&amp;t=kLU22gmWU_HhDszky1w2UeZ9yKMwmGXtSqY5KDoFak0" alt="Article content" style="display:block;margin:0 auto" />

<p>It shows you the following information:</p>
<ul>
<li><p>Hierarchy in a few different ways: using the <strong>Path</strong>, <strong>Alias Path</strong>, <strong>parentName</strong>, and <strong>id</strong> and <strong>parentId</strong> fields</p>
</li>
<li><p>the member level</p>
</li>
<li><p>the alias</p>
</li>
<li><p>cubes in which the member is being used</p>
</li>
<li><p>generation</p>
</li>
<li><p>dataStorage</p>
</li>
</ul>
<hr />
<h3><strong>Conclusion</strong></h3>
<p>The new REST API allows us to get all the members and member information of a given dimension. And the best thing is the respose is in JSON format.</p>
<p>I am exicted to show you the other EPM REST APIs soon.</p>
<p>What are your thoughts about the new REST APIs? Let me know your thoughts.</p>
]]></content:encoded></item><item><title><![CDATA[Oracle SQL Developer Extension for VS Code]]></title><description><![CDATA[This quick, step-by-step guide shows how easy it is to connect to an Oracle Cloud Database from VS Code. It covers the basics; subsequent articles will explore more advanced features. For full details]]></description><link>https://atarunraj.dev/oracle-sql-developer-extension-for-vs-code</link><guid isPermaLink="true">https://atarunraj.dev/oracle-sql-developer-extension-for-vs-code</guid><dc:creator><![CDATA[Arun Raj]]></dc:creator><pubDate>Sun, 15 Mar 2026 14:46:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6684a66901dc06f3ac53c6fa/a2f203b1-9c27-49e4-b237-838d8cc418ce.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This quick, <strong>step-by-step</strong> guide <strong>shows</strong> how easy it is to connect to <strong>an Oracle Cloud Database</strong> from VS Code. It <strong>covers the basics; subsequent articles will</strong> explore more advanced features. For full details, see the official extension documentation <a href="https://docs.oracle.com/en/database/oracle/sql-developer-vscode/index.html">here</a>.</p>
<h3><strong>Installing the Extension</strong></h3>
<p>The first step, obviously, is to install the extension. And it is pretty easy. Go to Extensions tab of VS Code and search for “O<em><strong>racle SQL Developer Extension for VSCode</strong></em>” and install it.</p>
<p>Press enter or click to view image in full size</p>
<img src="https://miro.medium.com/v2/resize:fit:700/1*cwoxEH0cA8w3JcaqLaN6Xw.png" alt="" style="display:block;margin:0 auto" />

<h3><strong>Create Connection</strong></h3>
<p>The next step is to create the connection to a DB. You can choose between various connection options. I will be showing how to use the Cloud Wallet option.</p>
<p>Press enter or click to view image in full size</p>
<img src="https://miro.medium.com/v2/resize:fit:700/1*0FsZxNHyA9JODNToGsG3TQ.png" alt="" style="display:block;margin:0 auto" />

<p>Click on Create Connection and you will be prompted to provide the details as shown above.</p>
<h3><strong>Configure Connection Settings and Cloud Wallet</strong></h3>
<p>Confguring the connection setting is simple and straightforward. Here are the steps involved.</p>
<ul>
<li><p>Download the wallet from OCI console</p>
</li>
<li><p>Change the Connection type to “Cloud Wallet”</p>
</li>
<li><p>Click on “Choose File” and select the Wallet Zip file</p>
</li>
<li><p>Select the Service (this will be available after you select the Wallet zip file)</p>
</li>
</ul>
<p>Press enter or click to view image in full size</p>
<img src="https://miro.medium.com/v2/resize:fit:700/1*GF0x5hCUDMdj7pOBD7cPaA.png" alt="" style="display:block;margin:0 auto" />

<p>Make sure to alos provide the following:</p>
<ul>
<li><p>Connection Name</p>
</li>
<li><p>Username</p>
</li>
<li><p>Password</p>
</li>
<li><p>Optionally choose to save password</p>
</li>
</ul>
<p>Press enter or click to view image in full size</p>
<img src="https://miro.medium.com/v2/resize:fit:700/1*SX0HUT3-fLy4laSG3KfCQg.png" alt="" style="display:block;margin:0 auto" />

<p>Click the “<strong>Test</strong>” button to make sure you are able to connect to your database. You should see a success message in the bottom right corner of VSCode.</p>
<p>Once connected you will notice the Database in the left panel.</p>
<img src="https://miro.medium.com/v2/resize:fit:489/1*ZxjtTX3UZRKU4CFqVBMP7Q.png" alt="" style="display:block;margin:0 auto" />

<h3><strong>Create a new SQL Worksheet</strong></h3>
<p>To the right of the connection name, you will notice few options. One of them is Open the SQL Worksheet and this is where you will write and execute your SQL statements.</p>
<p>Press enter or click to view image in full size</p>
<img src="https://miro.medium.com/v2/resize:fit:700/1*w4AWBqmlxZMGT5dtufmzvA.png" alt="" style="display:block;margin:0 auto" />

<p>You can also use the keyword Ctrl + Shift + W to create a new SQL Worksheet.</p>
<h3><strong>SQL Worksheet Features</strong></h3>
<p>Autocomplete is enabled and available. When you start typing the object name, you will notice the objects with similar names available for easy selection. This definitely speeds up the development time.</p>
<p>Press enter or click to view image in full size</p>
<img src="https://miro.medium.com/v2/resize:fit:700/1*_3WW3LbqX5sKb0fwiBz67w.png" alt="" style="display:block;margin:0 auto" />

<p>Once you execute the statement, you will notice the restults at the bottom (just like SQL Developer). Ctrl + Enter keyboard shortcut works to execute SQL statement.</p>
<p>Press enter or click to view image in full size</p>
<img src="https://miro.medium.com/v2/resize:fit:700/1*F_RcBszjZfFh6xh06f3x5w.png" alt="" style="display:block;margin:0 auto" />

<blockquote>
<p><em>One of the best features I like is the SQL History tab. This allows you to view SQL statements executed previously. Double clicking on one of the history record will copy that statement to the editor.</em></p>
</blockquote>
<h3><strong>Conclusion</strong></h3>
<p>Oralce has made is extremely easy for you to connect to your Oracle Cloud DBs. And as many of us uses VS Code, it is now even more easier to use the same editor with Oracle DB. You get to use the same Code Editor for all your programming needs.</p>
]]></content:encoded></item><item><title><![CDATA[Visualize Oracle EPM Data in Python Jupyter Notebook]]></title><description><![CDATA[This was originally part of my Medium Articles.
Another day, another experiment with the Export Data Slice REST API. I have written about the Export Data Slice rest api earlier. Do read that for an explanation for the beginners. Here is a link to the...]]></description><link>https://atarunraj.dev/visualize-oracle-epm-data-in-python-jupyter-notebook</link><guid isPermaLink="true">https://atarunraj.dev/visualize-oracle-epm-data-in-python-jupyter-notebook</guid><category><![CDATA[oracle epm]]></category><category><![CDATA[Oracle Cloud]]></category><dc:creator><![CDATA[Arun Raj]]></dc:creator><pubDate>Mon, 16 Feb 2026 04:07:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/IrRbSND5EUc/upload/e0ecfc6d3974f169c831a3aef25ce24a.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong><em>This was originally part of my Medium Articles.</em></strong></p>
<p>Another day, another experiment with the Export Data Slice REST API. I have written about the Export Data Slice rest api earlier. Do read that for an explanation for the beginners. Here is a <a target="_blank" href="https://medium.com/@arun-raj/export-data-slice-epm-rest-api-c5c69c1b35bf">link</a> to the previous article. <strong>Today I wanted to show you how you can visualize data in Jupyter Notebooks.</strong></p>
<p>Export data slice can be used to export data for a specified region or intersection. The exported data will be in the form of a JSON grid with pov, columns, and 0 or more data rows.</p>
<h3 id="heading-understanding-the-data-structure"><strong>Understanding the Data Structure</strong></h3>
<p>To export the data using the REST API, we need to understand the intersection where we have data. The below data form will you give you a better idea of the data we are looking to export using the API. We will be focusing on the Plan scenario numbers.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*pV1o194hXtX4mZ6L6KF00w.png" alt /></p>
<p>Expense By Category Data Form in EPM</p>
<h3 id="heading-grid-definition"><strong>Grid Definition</strong></h3>
<p>We need to provide the grid definition as part of the JSON Payload. It will be easier to understand the grid definition by looking at the existing Form design. As you can see the <strong><em>POV (Point of View)</em></strong> has the following Dimensions and corresponding members:</p>
<ul>
<li><p>HSP_View: BaseData</p>
</li>
<li><p>Version: Working</p>
</li>
<li><p>Product: P_000</p>
</li>
<li><p>Period: YearTotal</p>
</li>
</ul>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*PzfrGwB1fHoM1oB00W0vLg.png" alt /></p>
<p>POV Members in Form Definition</p>
<p><strong><em>Now let’s look at the rows</em></strong>. You will notice we have two Dimensions.</p>
<ul>
<li><p>Entity: Descendants(TD)</p>
</li>
<li><p>Account: 6000, Children(7001), 7300</p>
</li>
</ul>
<p><img src="https://miro.medium.com/v2/resize:fit:409/1*KcabBQRbDSgcMJnWkQ_GSg.png" alt /></p>
<p>Rows in the Form Definition</p>
<p>Finally, let’s check the column. We are going to look at the Plan scenario column. <strong><em>The column has two dimensions</em></strong>:</p>
<ul>
<li><p>Year: FY22</p>
</li>
<li><p>Scenario: Plan</p>
</li>
</ul>
<p><img src="https://miro.medium.com/v2/resize:fit:484/1*S5SUmpYyq0SNZO4jWazerA.png" alt /></p>
<p>Columns in the Form Definition</p>
<h3 id="heading-json-payload"><strong>JSON Payload</strong></h3>
<p>Based on the Form design, let’s now create the Grid Definition in the JSON Payload. I have broken down the Grid definition into three separate sections for easy explanation. Below is the Point of View.</p>
<ul>
<li><p>provide the dimensions</p>
</li>
<li><p>provide the members</p>
</li>
</ul>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*gl2U-Ch_Lvc0Mo5LVJJg8Q.png" alt /></p>
<p>Define Point of View in the JSON Payload</p>
<blockquote>
<p><em>I have modified the POV to include HSP_View, Scenario, Year, Product and Version dimensions.</em></p>
</blockquote>
<p>The below section is the columns definition. I am only providing the “Period” dimension.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*miDN_V_vmGnad0jUl7T2Gw.png" alt /></p>
<p>Column definition in JSON Payload</p>
<p>The rows section remains the same as the form design. We are providing the Entity and Account dimensions along with the values.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*ppL5RHJmZ9F-LCgn_o-Haw.png" alt /></p>
<p>Row Definition in JSON Payload</p>
<blockquote>
<p><em>Oracle recommends specifying the Dimensions in the grid definition section of the JSON Payload for efficiency.</em></p>
</blockquote>
<h3 id="heading-jupyter-notebook"><strong>Jupyter Notebook</strong></h3>
<p>Let’s start coding. First things first, lets import the necessary Python libraries.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*ut_gTIekau8JLhSCzxd5-g.png" alt /></p>
<p>Python Libraries</p>
<p>Let’s set the URL and the headers. Make sure to provide the correct URL. To read more about the end point, head over to the <a target="_blank" href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/export_dataslices.html">Oracle Documentation</a>.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*Dy8mVuIgnnhgZWufnHz_Gw.png" alt /></p>
<p>URL and Headers</p>
<p>Let’s invoke the RESP API. Make sure to use the POST method. <strong><em>You have to pass the user name and password as well.</em></strong></p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*fN3zMbFIyiWlRRNy9Rc5HQ.png" alt /></p>
<p>Invoke REST API</p>
<p>Once you get the JSON response, you can create a Pandas Data Frame as shown below. There may be a better way of creating the data frame from the JSON response. I am converting the JSON response into a list.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*pSuEkjyPPjgRoQhFTm8lvA.png" alt /></p>
<p>Create a Pandas Data Frame</p>
<p>The below code will create a bar chart based on the data frame.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*LhvpOfHJj33o9kflI0vQBQ.png" alt /></p>
<p>Create a bar Chart</p>
<p>And here is the final visualization created from the data exported from Oracle EPM Planning instance.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:875/1*yEqIyvYegOWhfNMGl96QMg.png" alt /></p>
<h3 id="heading-conclusion"><strong>Conclusion</strong></h3>
<p>As you can see it is pretty easy to export a data slice using REST API from Oracle EPM. The one draw back that I have seen with this approach is that the “alias” or “description” of the members are not exported.</p>
<p>I will further add data labels and possibly make the chart more interactive. Watch out for another post of Export Data Slice and Import Data Slice coming soon.</p>
<p>Let me know if you have questions on this. Share your comments and feedback. You can view the complete python code <a target="_blank" href="https://colab.research.google.com/drive/10WVqT1cXqC4zTCGvkfIx_aKU6L-zFyvv?usp=sharing">here</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Oracle EPM October 2025 Updates]]></title><description><![CDATA[Alright. It is again that time of the month. And tons of updates in EPM Planning. I was surprised to see so many updates. I guess this is a gift for Halloween and may be also for AI World. If you are attending AI World and would like to connect, mess...]]></description><link>https://atarunraj.dev/oracle-epm-october-2025-updates</link><guid isPermaLink="true">https://atarunraj.dev/oracle-epm-october-2025-updates</guid><category><![CDATA[epm updates]]></category><category><![CDATA[oracle epm]]></category><category><![CDATA[Oracle Cloud]]></category><category><![CDATA[Oracle]]></category><dc:creator><![CDATA[Arun Raj]]></dc:creator><pubDate>Fri, 26 Sep 2025 02:51:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/ZDNyhmgkZlQ/upload/1bc84948ba456e257d54d7451112aad1.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Alright. It is again that time of the month. And tons of updates in EPM Planning. I was surprised to see so many updates. I guess this is a gift for Halloween and may be also for AI World. If you are attending AI World and would like to connect, message me.</p>
<p>There are some much needed updates to the out of the box planning modules; especially the integration between Projects and Capital Module, and Projects and Financials modules. A much needed feature on enabling custom dimensions is also coming as part of this update.</p>
<h3 id="heading-account-reconciliation"><strong>Account Reconciliation</strong></h3>
<p><strong>Audit History for Match Types in Transaction Matching</strong></p>
<p>As part of the October updates, there will be a new <strong>Transaction Matching</strong> tab in <strong>Audit</strong> page. The tab provides audit information for match types. You can find information about</p>
<ul>
<li><p>match processes</p>
</li>
<li><p>match rules</p>
</li>
<li><p>match rule conditions</p>
</li>
<li><p>alert rules</p>
</li>
<li><p>data sources</p>
</li>
<li><p>and more!!</p>
</li>
</ul>
<h3 id="heading-groovy-engine-update"><strong>Groovy Engine Update</strong></h3>
<p>The Groovy engine will be update to a newer version as part of the December 2025 updates. As part of the August update, the Groovy Script Validator was made available to check your existing Groovy rules.</p>
<blockquote>
<p>The new Groovy engine has stricter validation rules that may cause previously valid rules to fail validation. So make sure to test the Groovy Rules using the Groovy Script validator.</p>
</blockquote>
<p>Check <a target="_blank" href="https://docs.oracle.com/en/cloud/saas/readiness/epm/2025/epm-oct25/25oct-epm-wn-f41318.htm"><strong>this link</strong></a> to read more about how to test the Groovy Scripts. Additionally, make sure to read the below articles by <a target="_blank" href="https://www.linkedin.com/in/patricknorthcraft/"><strong>Patrick</strong></a> :</p>
<ul>
<li><p><a target="_blank" href="https://www.linkedin.com/pulse/oracle-epm-gettin-groovy-upcoming-engine-update-patrick-northcraft-jauze/?trackingId=t%2F5Vt%2Fa1jc01e%2FM1HZS1Vw%3D%3D"><strong>Oracle EPM - Gettin' Groovy with the Upcoming Groovy Engine Update</strong></a></p>
</li>
<li><p><a target="_blank" href="https://www.linkedin.com/pulse/oracle-epm-gettin-groovy-upcoming-engine-update-part-northcraft-iy3xe/"><strong>Oracle EPM - Gettin' Groovy with the Upcoming Groovy Engine Update Part 2</strong></a></p>
</li>
</ul>
<p>I would also recommend reading <a target="_blank" href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/ecalc/resolving_groovy_business_rule_validation_issues.html#GUID-23AC2063-D706-4CD1-ACCA-0B5ACD9B0F14"><strong>this Oracle Documentation</strong></a> that explains about Resolving Groovy Businesss Ruel Validation Issues.</p>
<h3 id="heading-rest-apis"><strong>REST APIs</strong></h3>
<p>I love the updates that are coming to REST APIs. More and more I see Oracle moving to using JSON for POST and GET requests. I hope majority of the REST APIs adop this approach rather than using a csv file for various operations. That is for another discussion.</p>
<p>As part of the October updates, there are a few new REST APIs being included. There will now be an opton to create and delete user variables using REST APIs. Here are the APIs that are being introduced:</p>
<p><strong>APIs for User Variables</strong></p>
<ul>
<li><p>Create User Variables</p>
</li>
<li><p>Udpate User Variables</p>
</li>
<li><p>Get All User Variables</p>
</li>
<li><p>Get a User Variable Using Its ID (I am intrigued what this is!!)</p>
</li>
<li><p>Delete One User Variable</p>
</li>
<li><p>Delete User Variable Definitions (interested to know more about this one)</p>
</li>
</ul>
<p><strong>User and Role Management REST APIs</strong></p>
<ul>
<li><p>Import User Group Assignments as CSV</p>
</li>
<li><p>Update Application Roles for Groups</p>
</li>
<li><p>Update Application Roles for Users</p>
</li>
<li><p>Update Groups : I am imagining this to be a useful API. Imagine employees leaving organization or moving from one department to another. With this new API, you may be able to automate management of Groups. Let's see!!</p>
</li>
<li><p>Update Users (v2): Similar to the previous API, this could also be useful tool. Imagine updates to your employee's name etc.</p>
</li>
</ul>
<h3 id="heading-data-integration"><strong>Data Integration</strong></h3>
<p>I dont know if you have noticed the Action Menu updates in Data Exchange. As of now, the Action Menu looks like this.</p>
<p><strong>Maximize image</strong></p>
<p><strong>Edit image</strong></p>
<p><strong>Delete image</strong></p>
<p>So, I am not sure what is changing in October 2025 updates. As per the update announcements, it reads that "<strong><em>Actions menu options on the Data Integration home page are now grouped in Setup and Configure action dropdowns.</em></strong>"</p>
<h3 id="heading-de-support-of-legacy-features"><strong>De-support of Legacy Features</strong></h3>
<p>Starting with this October 2025, Oracle will de-supported the following legacy features:</p>
<ul>
<li><p>Forms 1.0</p>
</li>
<li><p>Dashboard 1.0</p>
</li>
<li><p>Legacy List Pages application setting</p>
</li>
<li><p>Infolets</p>
</li>
</ul>
<p>Make sure to read this in detail <a target="_blank" href="https://docs.oracle.com/en/cloud/saas/readiness/epm/2025/epm-oct25/25oct-epm-wn-f41247.htm"><strong>here</strong></a>. Few additional items to keep in mind:</p>
<ul>
<li><p>Effective October 2025, all environments will default to the 2.0 setting for Forms and Dashboards</p>
</li>
<li><p>Existing environments will have the option to switch back to 1.0, however there will be no no support for 1.0</p>
</li>
<li><p>All new environments deployed effective October (25.10) will be deployed with Forms 2.0 and Dashboard 2.0 only; the option to switch to Forms 1.0 will no longer be available.</p>
</li>
</ul>
<h3 id="heading-epm-planning-updates"><strong>EPM Planning Updates</strong></h3>
<p>Now comes the biggest set of updates. I was honestly surprised to see so many updates.</p>
<h3 id="heading-predictive-cash-forecasting"><strong>Predictive Cash Forecasting</strong></h3>
<p>Predictive Cash Forecasting now supports up to 100 forecast days in a daily rolling forecast. <strong><em>Previously, the number of forecast days was limited to 45</em></strong>. When you configure Predictive Cash Forecasting, in <strong>Forecast Range Setup</strong>, you can now select up to 100 in <strong>Number of Forecast Days</strong>.</p>
<h3 id="heading-automated-seeding-of-key-members-in-planning-modules"><strong>Automated Seeding of Key Members in Planning Modules</strong></h3>
<p>When a custom dimension is enabled for multiple Planning modules, the <strong>Total&lt;<em>Member</em>\&gt;</strong> and <strong>No&lt;<em>Member</em>\&gt;</strong> members are now enabled for all modules where the dimension is enabled.</p>
<p>I think this is a good feature. Rather than us creating these members, these members will now be automatically enabled.</p>
<h3 id="heading-support-business-expansion-by-incrementally-enabling-custom-dimensions-in-financials"><strong>Support Business Expansion By Incrementally Enabling Custom Dimensions in Financials</strong></h3>
<p>At the moment, you have to enable all dimensions the first time you enabled features and could not incrementally enable additional custom dimensions later. This is changing as part of the October updates.</p>
<p>You can now incrementally enable custom dimensions in Financials. The new dimensions are available only in the OEP_FS cube even if you have other modules enabled.</p>
<p><strong>Tips and Considerations for this:</strong></p>
<ul>
<li><p>The new custom dimensions you enable are only available in OEP_FS cube</p>
</li>
<li><p>In an existing application, if you have not previously enabled some of the custom dimensions, you now have the option to expand your business by incrementally enabling the custom dimensions, up to the total of 5 custom dimensions</p>
</li>
<li><p>All out-of-box artifacts are updated for the newly enabled dimensions</p>
</li>
</ul>
<blockquote>
<p>Any additional custom artifacts you’ve added or modified are not updated for the newly enabled dimensions</p>
</blockquote>
<p>I suggest you read <a target="_blank" href="https://docs.oracle.com/en/cloud/saas/readiness/epm/2025/epm-oct25/25oct-epm-wn-f40283.htm#Tips-And-Considerations"><strong>this documentation</strong></a>. Oracle has provided recommendations to follow to avoid potential data loss when you incrementally enable additional custom dimensions.</p>
<h3 id="heading-enhanced-projects-integration-with-capital-for-common-custom-dimensions"><strong>Enhanced Projects Integration with Capital for Common Custom Dimensions</strong></h3>
<p>The integration between Projects and Capital is enhanced. Previously, if there was a common dimension in both Projects and Capital, such as Vendor, only aggregated values were pushed from Projects to Capital. Now, data for all members is pushed from Projects to Capital for common dimensions.</p>
<p><strong>Tips And Considerations</strong></p>
<ul>
<li><p>This enhancement is available only for new implementations, the first time you enable.</p>
</li>
<li><p>If you’ve already enabled only Capital, but have not yet enabled Projects, this enhancement is available when you enable Projects</p>
</li>
</ul>
<h3 id="heading-enhanced-projects-integration-with-financials-for-common-custom-dimensions"><strong>Enhanced Projects Integration with Financials for Common Custom Dimensions</strong></h3>
<p>The integration between Projects and Financials is enhanced. Previously, if there was a common dimension in both Projects and Financials, such as Cost Center, only aggregated values were pushed from Projects to Financials. Now, data for all members is pushed from Projects to Financials for common dimensions.</p>
<p>After enabling Financials and Projects, configuring <strong>Projects Financials Mapping</strong>, and creating a project and loading data, when you are ready to push data from Projects to Financials:</p>
<ol>
<li><p>Run the <strong>Calculate Project</strong> or <strong>Calculate Expense</strong> rule.</p>
</li>
<li><p>Run the data map <strong>Project - FinStmt Reporting</strong>.</p>
</li>
<li><p>Run the <strong>Rollup</strong> rule in the Financials cube</p>
</li>
</ol>
<blockquote>
<p>This enhancement is available only for Projects modules that are enabled in 25.10 or later.</p>
</blockquote>
<p>There are a few other enhancements coming to Planning modules.</p>
<h3 id="heading-conclusion"><strong>Conclusion</strong></h3>
<p>There are a few noteable enhancements in Planning modules. And I like all of them. Make sure to read the documentation to understand what updates are coming to the EPM instances.</p>
<p>I have been creating articles and videos about Data Pipleine in Account Reconcliation. You can read those here:</p>
<ul>
<li><p><a target="_blank" href="https://tinyurl.com/dyesrb5v"><strong>https://tinyurl.com/dyesrb5v</strong></a> or <a target="_blank" href="https://atarunraj.dev/creating-your-first-data-pipeline-in-oracle-epm-account-reconciliation"><strong>Creating your first data Pipeline in Oracle EPM Account Reconciliation</strong></a></p>
</li>
<li><p><a target="_blank" href="https://tinyurl.com/28deez7v"><strong>https://tinyurl.com/28deez7v</strong></a> or <a target="_blank" href="https://atarunraj.dev/create-reconciliations-in-oracle-account-reconciliation-using-data-pipeline"><strong>Create Reconciliations in Oracle Account Reconciliation using Data Pipeline</strong></a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/bVEEGnH1HPo"><strong>https://youtu.be/bVEEGnH1HPo</strong></a></p>
</li>
</ul>
<p>Are you attending Oracle AI World? If you would like to catch up and talk about any of the following, message me on <a target="_blank" href="https://linkedin.com/in/sarunraj">Linkedin</a>.</p>
<ul>
<li><p>Fusion ERP Reporting (OTBI, BIP)</p>
</li>
<li><p>Fusion AI Agent Studio</p>
</li>
<li><p>Oracle EPM Account Reconcliation</p>
</li>
<li><p>Oracle EPM Narrative Reporting</p>
</li>
<li><p>Oracle EPM Predictive Cash Forecasting</p>
</li>
<li><p>Oracle EPM Data Pipeline</p>
</li>
<li><p>Oracle ACE program</p>
</li>
<li><p>or just to meet and grab a coffee</p>
</li>
</ul>
<p>Lookout out for our podcast episode with <a target="_blank" href="https://www.linkedin.com/in/patricknorthcraft/">Partrick</a> . Coming soon!! If you would like to be part of the podcast, reach out to me.</p>
<p>Let me know what you think of these updates. What is your favorite one?</p>
<p>Last but not least, I would appreciate your support for the below Idea posted in Oracle Cloud Customer Connect Forums.</p>
<p><a target="_blank" href="https://community.oracle.com/customerconnect/discussion/907871/show-job-types-based-on-the-local-or-remote-application-connected"><strong>https://community.oracle.com/customerconnect/discussion/907871/show-job-types-based-on-the-local-or-remote-application-connected</strong></a></p>
<hr />
<p>That is it for this update. Look forward to hearing your thoughts!!</p>
]]></content:encoded></item><item><title><![CDATA[Create Reconciliations in Oracle Account Reconciliation using Data Pipeline]]></title><description><![CDATA[In my last article we explored how to create a data pipeline in Account Reconciliation to set the period status. That was a pretty simple one. I hope you are feeling awesome about creating that one.
Let’s now explore how to create a pipeline that wil...]]></description><link>https://atarunraj.dev/create-reconciliations-in-oracle-account-reconciliation-using-data-pipeline</link><guid isPermaLink="true">https://atarunraj.dev/create-reconciliations-in-oracle-account-reconciliation-using-data-pipeline</guid><category><![CDATA[oracle epm]]></category><category><![CDATA[Oracle Cloud]]></category><category><![CDATA[data pipeline]]></category><dc:creator><![CDATA[Arun Raj]]></dc:creator><pubDate>Mon, 22 Sep 2025 15:54:22 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/ZiQkhI7417A/upload/a192543996a421c507d9bb98844484eb.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a target="_blank" href="https://medium.com/@arun-raj/creating-your-first-data-pipeline-in-oracle-epm-account-reconciliation-6c4fa0157392">In my last article</a> we explored how to create a data pipeline in Account Reconciliation to set the period status. That was a pretty simple one. I hope you are feeling awesome about creating that one.</p>
<p>Let’s now explore how to create a pipeline that will create reconciliations in Account Reconciliation.</p>
<h3 id="heading-reconciliation-creation-process-overview"><strong>Reconciliation Creation Process Overview</strong></h3>
<p>Before we configure the pipeline to create the reconciliations, let’s review the general process to create a reconciliation from the profile.</p>
<ul>
<li><p>Navigate to Application &gt; Profiles</p>
</li>
<li><p>Actions &gt; Create Reconciliations</p>
</li>
<li><p>Select the Period</p>
</li>
<li><p>Click on the Apply button</p>
</li>
<li><p>Select whether you want to create the reconciliation for the selected profile or all the profiles based on the filters currently applied</p>
</li>
<li><p>Click on the Apply Button</p>
</li>
</ul>
<blockquote>
<p><em>The key take away from this overview is that we create the reconciliations from the profiles.</em></p>
</blockquote>
<h3 id="heading-creating-the-pipeline"><strong>Creating the Pipeline</strong></h3>
<p>Alright, let’s go ahead and create the pipeline. Navigate to Application &gt; Data Exchange &gt; Create Pipeline</p>
<p>Give the Pipeline Name and Pipeline Code</p>
<ul>
<li><p>Pipeline Name : create recon</p>
</li>
<li><p>Pipeline Code : CREATERECON</p>
</li>
</ul>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*SRBdkY2_uSeos7JkNdhtxA.png" alt /></p>
<p>Click on <strong><em>Save and Continue</em></strong></p>
<p>Let’s go ahead and define a variabe to provide the Period Name as a dynamic value.</p>
<ul>
<li><p><strong>Variable Name</strong>: periodName</p>
</li>
<li><p><strong>Display Name</strong>: Period Name</p>
</li>
<li><p><strong>Display Sequence</strong>: 1</p>
</li>
<li><p><strong>Required</strong>: Yes</p>
</li>
<li><p><strong>Validation Type</strong>: Text</p>
</li>
</ul>
<blockquote>
<p><em>Make sure to delete any default variables that you are not planning to use.</em></p>
</blockquote>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*7kBcPBE_M73rLls0mJsvQA.png" alt /></p>
<p>Let’s create a new stage. Provide the Stage Name and State Title as shown in the screenshot.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*DouwLBTWk8maLNSZLcL1VQ.png" alt /></p>
<p>Once you create the stage, go ahead and create a new job in the Stage. Provide the following information.</p>
<ul>
<li><p>Type: Create Reconciliations</p>
</li>
<li><p>Tile: create recon</p>
</li>
</ul>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*j4b3R6tgVrhM4FdVJGE5ZA.png" alt /></p>
<p>You will notice that we need to provide values for “<strong>Period</strong>” and “<strong>Filter</strong>”.</p>
<p><img src="https://miro.medium.com/v2/resize:fit:389/1*jfncRdMUWRSzanUoEXoJSg.png" alt /></p>
<p>For period, we will use the variable we defined (periodName). For Filter, <strong><em>we need to create a filter</em></strong> in the application. Let’s do that and then come back and edit the pipeline. Go ahead and click the “Save” button.</p>
<h3 id="heading-creating-a-filter"><strong>Creating a Filter</strong></h3>
<p>To select the filter in pipeline, we need to first create a filter. Follow the steps below:</p>
<ul>
<li><p>Navigate to Application &gt; Configuration &gt; Filters</p>
</li>
<li><p>Create a new filter and provide a name</p>
</li>
<li><p>Select the type as Profile</p>
</li>
<li><p>Create new Condition</p>
</li>
<li><p>Set the condition as shown below</p>
</li>
<li><p>Once finished, click on OK button</p>
</li>
</ul>
<p><img src="https://miro.medium.com/v2/resize:fit:611/1*3Nvx4UQ5JA51QWJF3YRRNQ.png" alt /></p>
<p>The above condition filters the profiles based on the method and specifically looks at Profiles that has a method of “Balance Comparison”.</p>
<p>The next step is to publish the filter and make it public.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*mlZbc392PdK4oCJFS3D9OA.png" alt /></p>
<p>That is it for creating the filters.</p>
<h3 id="heading-complete-the-data-pipeline-configuration"><strong>Complete the Data Pipeline Configuration</strong></h3>
<p>Let’s edit our data pipeline and profile the filter that we published.</p>
<ul>
<li><p>Edit the pipeline</p>
</li>
<li><p>Navigate to the job</p>
</li>
<li><p>Select the filter “BC Profiles” from the available list of filters</p>
</li>
</ul>
<p><img src="https://miro.medium.com/v2/resize:fit:365/1*_EmU4sFvX9h6F_ZDOON2Gg.png" alt /></p>
<ul>
<li>Click on Save</li>
</ul>
<h3 id="heading-testing-the-pipeline"><strong>Testing the Pipeline</strong></h3>
<p>Now that we have configured the pipeline, let’s go ahead and test the pipeline.</p>
<p>👉 Navigate to Data Exchange and run the pipeline</p>
<p><img src="https://miro.medium.com/v2/resize:fit:672/1*eqzPj4aAuaAritMgcI_4Lw.png" alt /></p>
<p>Provie the period name and other parameter values as necessary.</p>
<p>Click the “Run” button to execute the pipeline.</p>
<p>The pipeline has executed successfully.</p>
<p><img src="https://miro.medium.com/v2/resize:fit:580/1*jZl1rt5aW-nXsFwpYXLv7A.png" alt /></p>
<p>Let’s check the reconciliations and make sure the reconciliations were created successfully.</p>
<p>Navigate to Recoconcliations and select the period as “Jun-24” and Method as “Balance Comparison”.</p>
<p><img src="https://miro.medium.com/v2/resize:fit:627/1*5lnuWvK0WbKDro4taoc7zg.png" alt /></p>
<p>All the Balance Comparison reconciliations are created successfully for the period. Great job!!!</p>
<h3 id="heading-conclusion-and-next-steps"><strong>Conclusion and Next Steps</strong></h3>
<p>The pipeline allows you to create the reconciliations based on the filter. You can invoke the pipeline from another application like Planning or FCC.</p>
<p>📽️📽️ I will be making a video explaining the process as well. So make sure to subscribe to <a target="_blank" href="https://www.youtube.com/@atarunraj">my YT channel</a>.</p>
<p>If you like the articles and want to support me, you can join <a target="_blank" href="https://www.youtube.com/@atarunraj">my YT channel</a> as a member or <a target="_blank" href="https://buymeacoffee.com/atarunraj">Buy Me a Coffee</a> 🍵.</p>
]]></content:encoded></item><item><title><![CDATA[Creating your first data Pipeline in Oracle EPM Account Reconciliation]]></title><description><![CDATA[In this article, we will learn how to create a Data Pipeline in Account Reconciliation to set the period status. We will be using the “Set Period Status” job type.
Creating your Pipeline
Navigate to Application > Data Exchange
Press enter or click to...]]></description><link>https://atarunraj.dev/creating-your-first-data-pipeline-in-oracle-epm-account-reconciliation</link><guid isPermaLink="true">https://atarunraj.dev/creating-your-first-data-pipeline-in-oracle-epm-account-reconciliation</guid><category><![CDATA[account reconciliation]]></category><category><![CDATA[Oracle]]></category><category><![CDATA[oracle epm]]></category><category><![CDATA[data pipeline]]></category><dc:creator><![CDATA[Arun Raj]]></dc:creator><pubDate>Mon, 15 Sep 2025 14:32:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/pREq0ns_p_E/upload/b3f27979e35d09fc4fe1dfbc2582bfb0.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this article, we will learn how to create a Data Pipeline in Account Reconciliation to set the period status. We will be using the “S<strong>et Period Status</strong>” job type.</p>
<h3 id="heading-creating-your-pipeline"><strong>Creating your Pipeline</strong></h3>
<p>Navigate to <strong><em>Application &gt; Data Exchange</em></strong></p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*SRMaJZH2k4sZSnvbBSi-tg.png" alt /></p>
<p>Once you are in the Data Exchange page, click on <strong><em>Create New &gt; Pipeline</em></strong></p>
<p><img src="https://miro.medium.com/v2/resize:fit:462/1*IaeiwK2KN8Ax7KvON5xciQ.png" alt /></p>
<p>Give the Pipeline Name and Pipeline Code</p>
<ul>
<li><p>Pipeline Name : Set Period Status</p>
</li>
<li><p>Pipeline Code : SETPERIOD</p>
</li>
</ul>
<p>Click on <strong><em>Save and Continue</em></strong></p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*IbATM3g438WmEK6v59Suzg.png" alt /></p>
<p>Let’s go ahead and define a variabe to provide the Period Name as a dynamic value.</p>
<ul>
<li><p><strong>Variable Name</strong>: periodName</p>
</li>
<li><p><strong>Display Name</strong>: Period Name</p>
</li>
<li><p><strong>Display Sequence</strong>: 1</p>
</li>
<li><p><strong>Required</strong>: Yes</p>
</li>
<li><p><strong>Validation Type</strong>: Text</p>
</li>
</ul>
<blockquote>
<p><em>Make sure to delete any default variables that you are not planning to use.</em></p>
</blockquote>
<p><img src="https://miro.medium.com/v2/resize:fit:690/1*oJJiRIFSffXAcKdiarzfyQ.png" alt /></p>
<p>Let’s create a new stage. Provide the Stage Name and State Title as shown in the screenshot.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*RF24eBmqVeVWPKVlAWp7cA.png" alt /></p>
<p>Once you create the stage, go ahead and create a new job in the Stage. Provide the following information.</p>
<ul>
<li><p>Type: Set Preiod Status</p>
</li>
<li><p>Tile: Open Period</p>
</li>
<li><p>Period: $periodName (this is the ariable defined earlier)</p>
</li>
<li><p>Status: Open</p>
</li>
</ul>
<blockquote>
<p><em>We can also create another variable to provide the status dynamically. I will show that in the YouTube Video.</em></p>
</blockquote>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*POSYGk2rMRfrGc73Y9DveA.png" alt /></p>
<p>Click on the Save button to save the Pipeline definition.</p>
<p>Before executing the pipeline, lets review the status of the periods. As you can see “Jan 2025” is in Pending Status.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*krphd2i82KYafSCogm43Zg.png" alt /></p>
<p>Navigate to Data Exchange and Click on the “Play / Run” icon to execute the Pipeline</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*wqg6wl20eDZaR5dZtZq3lw.png" alt /></p>
<p>In the next screen, provide values to parameters. We will be setting the status of “Jan 2025” to Open. Pass the value “Jan 2025” to the Period Name variable.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*a8tfIHAbVVEHleZbs0iR5w.png" alt /></p>
<p>Click on “Run” button to execute the Pipeline.</p>
<p>After a few seconds, you will notice the status of the Pipeline show as Success.</p>
<p><img src="https://miro.medium.com/v2/resize:fit:634/1*m10vFh73PgkM_e_FBvvsWQ.png" alt /></p>
<p>Let;s go ahead and check the Period Status. Navigate to “<strong><em>Application &gt; Periods</em></strong>”</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*GOTvM0um2RKvI6cUDDD98Q.png" alt /></p>
<p>The period status has been set correctly. You can now invoke this Pipeline from EPM Automate or using REST APIs to automate this.</p>
<p>If you configured the Pipeline to receive emails, you will receive an email with the details of the pipeline execution.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*XeWaB32TQ221L4lPk3YvQg.png" alt /></p>
<h3 id="heading-whats-next"><strong>What’s Next</strong></h3>
<p>In the next article and video, I will show you how to invoke this Pipeline from Planning application. This is useful so that you can schedule the Pipeline in Planning so that this runs on a schedule. I will also cover how to invoke the pipeline from epm automate and using REST APIs.</p>
<p>Let me know if you have any questions on this. Make sure to subscribe to the articles and my YouTube Channel for updated content.</p>
]]></content:encoded></item><item><title><![CDATA[Data Pipeline in Oracle EPM Account Reconciliation]]></title><description><![CDATA[Hey everyone. Today I wanted to cover a topic that is dear and near to me — Data Pipeline in Oracle EPM.
While Pipeline was introduced way back (its been that looong that I dont event remeber when), it was never available in Account Reconciliation. I...]]></description><link>https://atarunraj.dev/data-pipeline-in-oracle-epm-account-reconciliation</link><guid isPermaLink="true">https://atarunraj.dev/data-pipeline-in-oracle-epm-account-reconciliation</guid><category><![CDATA[oracle epm]]></category><category><![CDATA[data pipeline]]></category><category><![CDATA[Oracle Cloud]]></category><dc:creator><![CDATA[Arun Raj]]></dc:creator><pubDate>Thu, 11 Sep 2025 01:42:19 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/pREq0ns_p_E/upload/cab2ccc00840da226251bd77b35cb1e7.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey everyone. Today I wanted to cover a topic that is dear and near to me — Data Pipeline in Oracle EPM.</p>
<p>While Pipeline was introduced way back (its been that looong that I dont event remeber when), it was never available in Account Reconciliation. It was a long wait. However, as part of the August 2025 updates, Pipeline was introduced in Account Reconciliation.</p>
<p><strong><em>In the next few articles, I will cover data pipeline specifically for Oracle EPM Account Reconciliation.</em></strong> In the first article, we will look at what job types are available as of September 2025. Without any further delay, let’s look into what is available for Account Reconciliation.</p>
<h3 id="heading-pipeline-jobs-in-oracle-account-reconciliation"><strong>Pipeline jobs in Oracle Account Reconciliation</strong></h3>
<p>Here is a quick look at what job types are available as of September 2025. Some jobs are specific to either the Reconciliation Compliance module or the Transaction Matching module.</p>
<p>Press enter or click to view image in full size</p>
<p><img src="https://miro.medium.com/v2/resize:fit:700/1*trac5imufkNWQBnTCWnApA.png" alt /></p>
<p>You can read more about these jobs <a target="_blank" href="https://docs.oracle.com/en/cloud/saas/readiness/epm/2025/epm-aug25/25aug-epm-wn-f39898.htm">here</a>.</p>
<h3 id="heading-invoking-the-pipeline"><strong>Invoking the Pipeline</strong></h3>
<p>You have a few different ways to invoke a data pipeline.</p>
<ul>
<li><p>Manually exeucting the pipeline</p>
</li>
<li><p>Scheduling the pipeline using the Job Scheduler</p>
</li>
<li><p>Using EPM Automate</p>
</li>
<li><p>Using REST API</p>
</li>
</ul>
<p>Use the <strong>runPipeline</strong> command to execute or invoke the Data Pipeline using EPM Atuomate. You can read more about it <a target="_blank" href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/cepma/epm_auto_run_pipeline.html">here</a>.</p>
<p>If you want to use REST API, use the Data Integration REST API to invoke the pipeline. Here is a sample code snippet.</p>
<pre><code class="lang-json">{
    <span class="hljs-attr">"jobName"</span>: <span class="hljs-string">"DAILYLOAD"</span>,
    <span class="hljs-attr">"jobType"</span>: <span class="hljs-string">"pipeline"</span>,
    <span class="hljs-attr">"variables"</span>: {
                    <span class="hljs-attr">"STARTPERIOD"</span>: <span class="hljs-string">"Jan-23"</span>,
                    <span class="hljs-attr">"ENDPERIOD"</span>: <span class="hljs-string">"Jan-23"</span>,
                    <span class="hljs-attr">"IMPORTMODE"</span>: <span class="hljs-string">"Replace"</span>,
                    <span class="hljs-attr">"EXPORTMODE"</span>: <span class="hljs-string">"Merge"</span>,
                    <span class="hljs-attr">"ATTACH_LOGS"</span>: <span class="hljs-string">"N"</span>,
                    <span class="hljs-attr">"SEND_MAIL"</span>: <span class="hljs-string">"ALWAYS"</span>,
                    <span class="hljs-attr">"SEND_TO"</span>: <span class="hljs-string">"user@company.com"</span>
                }
}
</code></pre>
<ul>
<li><p><strong>jobName</strong> is Short name of the Pipeline</p>
</li>
<li><p><strong>jobType</strong> should be pipeline</p>
</li>
</ul>
<p>You can read more about the REST API usage <a target="_blank" href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/fdmee_run_pipeline.html">here</a>.</p>
<h3 id="heading-whats-next"><strong>What’s Next</strong></h3>
<p>In the next few articles, I will dive deeper into individual job types and how you can configure them. I will also be making accompanying videos so can follow along.</p>
]]></content:encoded></item><item><title><![CDATA[Oracle EPM July 2025 (25.07) Updates]]></title><description><![CDATA[Here is what is coming to your EPM instances as part of the July 2025 Updates. I missed publishing the June updates. However, I am planning a video to show you some of the updates form June. So watch out for that.
You can also read this article on Li...]]></description><link>https://atarunraj.dev/oracle-epm-july-2025-updates</link><guid isPermaLink="true">https://atarunraj.dev/oracle-epm-july-2025-updates</guid><category><![CDATA[oracle epm]]></category><category><![CDATA[Oracle]]></category><category><![CDATA[Oracle Cloud]]></category><dc:creator><![CDATA[Arun Raj]]></dc:creator><pubDate>Thu, 26 Jun 2025 11:26:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/npxXWgQ33ZQ/upload/1ca924aa146602daca5a51c2a8545c17.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here is what is coming to your EPM instances as part of the July 2025 Updates. I missed publishing the June updates. However, I am planning a video to show you some of the updates form June. So watch out for that.</p>
<p>You can also read this article on <a target="_blank" href="https://www.linkedin.com/pulse/oracle-epm-july-2025-2507-updates-arun-raj-skqhc">Linkedin</a>.</p>
<hr />
<h2 id="heading-integrations"><strong>Integrations</strong></h2>
<h3 id="heading-smart-split-data-load"><strong>Smart Split Data Load</strong></h3>
<p>A new Smart Split feature is available in Data Integration when importing a large volume of data that exceeds Essbase governor limits. This feature enables you to split a data load into multiple smaller loads by enabling you to define smaller data slices without having to create multiple integrations.</p>
<p>Steps to use the Smart Split feature:</p>
<ol>
<li><p>create a base integration definition with the data to be loaded from the source application</p>
</li>
<li><p>Create a pipeline and use the new <em>Integration with Smart Split</em> job type in the Pipeline</p>
</li>
<li><p>Specify the integration name, Split dimension, Import and Export modes, Start and End periods, and Split method</p>
</li>
</ol>
<p>Here is an example of how it would look like. Pay key attention to the additional parameters: Split Dimension, Split Method, Number of Groups etc.</p>
<p><img src="https://media.licdn.com/dms/image/v2/D5612AQFafiprwVBPQQ/article-inline_image-shrink_1500_2232/B56Zer0Ln_HoAU-/0/1750934273108?e=1756339200&amp;v=beta&amp;t=JSEXYLn-1tRy7O03_nNXxtzDb8kqx463H_3nmsme8dE" alt="Article content" /></p>
<p><em>Image Courtsey : Oracle</em></p>
<p>I will be creating a separate detailed blog and video about this feature in the coming days. Increasingly, Oracle is pushing new features in Pipeline. If you are not yet utilizing Pipeline, please do. If you organization is looking to learn more, please free to connect with me.</p>
<h3 id="heading-new-application-role-data-integration-administrator"><strong>New Application Role - Data Integration - Administrator</strong></h3>
<p>The Data Integration - Administrator application role can now be assigned to any user, regardless of their predefined role. Users with this role are able to:</p>
<ul>
<li><p>Create and manage integrations between source and target systems</p>
</li>
<li><p>Execute and monitor pipeline activities</p>
</li>
<li><p>Perform data and metadata extraction and transformation from on-premises sources using the EPM Integration Agent</p>
</li>
</ul>
<hr />
<h2 id="heading-fcc-financial-consolidation-and-close"><strong>FCC (Financial Consolidation and Close)</strong></h2>
<p>Here are the updates that are coming to FCC instance. It is great to see the option to add additional BSO Cubes and the support for IPM insights.</p>
<h3 id="heading-ability-to-create-additional-block-storage-cubes"><strong>Ability to Create Additional Block Storage Cubes</strong></h3>
<p>You can now create four additional block storage cubes to store metadata and data. The cubes can be enabled by the Service Administrator on an as-needed basis. Note that when a cube is enabled, it cannot be disabled.</p>
<p>This feature is only for Dense/Sparse Optimized (DSO) applications.</p>
<blockquote>
<p>This feature is only available on a restricted basis. Adding additional cubes results in more maintenance required for the application, so it is recommended only for specific use cases. To enable this feature, you must submit a technical Service Request (SR).</p>
</blockquote>
<h3 id="heading-support-for-ipm-insights"><strong>Support for IPM Insights</strong></h3>
<p>Financial Consolidation and Close now supports IPM Insights. To get started with IPM Insights, administrators configure insights and then run them. They can also schedule them to run on a regular basis. Users can then review and analyze insights on the Insights dashboard, and take appropriate action to improve the close process.</p>
<h3 id="heading-considerations"><strong>Considerations</strong></h3>
<ul>
<li><p>IPM Insights requires an EPM Enterprise Cloud service subscription.</p>
</li>
<li><p>IPM Insights works with applications with Hybrid Essbase enabled.</p>
</li>
<li><p>IPM Insights only works with Dense/Sparse Optimized (DSO) applications.</p>
</li>
</ul>
<h3 id="heading-consolidation-job-analytics"><strong>Consolidation Job Analytics</strong></h3>
<p>It was intersting to see this one. I will have to see this in action to understand how useful of a feature this is.</p>
<p>A new Consolidation Setting called “<strong>Consolidation Job Analytics</strong>” is available. When this setting is enabled, a <strong>GenAI-based job summary will be generated for Consolidation jobs</strong> when the jobs have completed. You can view the analytics from the Job Details for the completed jobs in the Jobs console.</p>
<p>To use this setting, you must also enable the GenAI option application setting. From the Home page, click <strong>Application</strong> &gt; <strong>Settings</strong> &gt; <strong>Enable AI</strong> section &gt; <strong>Generative AI</strong>.</p>
<hr />
<h2 id="heading-account-reconciliation"><strong>Account Reconciliation</strong></h2>
<h3 id="heading-bank-text-column-increased-to-1200-characters"><strong>Bank Text Column Increased to 1200 Characters</strong></h3>
<p>When loading transactions using BAI Format Bank files, the Bank Text can now be up to 1200 characters long. Three new columns, <strong>Bank Text2</strong>, <strong>Bank Text3</strong>, and <strong>Bank Text4</strong>, are added.</p>
<p>If the Bank Text exceeds 300 characters, one or more of these new columns are used to store the Bank Text.</p>
<hr />
<h2 id="heading-rest-apis"><strong>REST APIs</strong></h2>
<p>There are a few new REST APIs that will be introduced as part of the July updates. And enhancements to existing REST APIs.</p>
<h3 id="heading-rest-apis-for-managing-users-and-groups"><strong>REST APIs for Managing Users and Groups</strong></h3>
<ul>
<li><p><a target="_blank" href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/lcm_list_users.html"><strong>List Users</strong></a> : generates a list of available users in the environment. This API identifies the userlogin, firstname, lastname, and email. Additionally, it can provide information about the EPM groups the users belong to and the application roles assigned to the users.</p>
</li>
<li><p><a target="_blank" href="http://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/lcm_list_groups.html"><strong>List Groups</strong></a> : generates a list of available groups in the environment. The API identifies the group name, description, type, and identity. Additionally, it can provide information about the groups/user members belonging to the groups and the application roles assigned to the groups.</p>
</li>
<li><p><a target="_blank" href="https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/prest/lcm_user_login_report.html"><strong>User Login Report</strong></a> : generates a report for all the users logged into the environment. The report can be created for a specific user login and/or within a valid date range.</p>
</li>
</ul>
<p>I am hoping we get JSON data back while using these REST APIs. I will be trying this out.</p>
<h3 id="heading-get-available-roles-rest-api"><strong>Get Available Roles REST API</strong></h3>
<p>The optional type query parameter has been added to the  Get Available Roles REST API. This parameter can take the following values:</p>
<ul>
<li><p>application: returns  all application and predefined roles. This is the default.</p>
</li>
<li><p>predefined:  returns predefined roles only</p>
</li>
</ul>
<h3 id="heading-enhancements-to-role-assignment-report-rest-api"><strong>Enhancements to Role Assignment Report REST API</strong></h3>
<p>The Role Assignment Report Synchronous API has been enhanced to search for users across all user attributes (userlogin, firstname, lastname*,* and email). Previously, this API limited the search to the userlogin attribute.</p>
<h3 id="heading-enhancements-to-the-user-group-report-rest-api"><strong>Enhancements to the User Group Report REST API</strong></h3>
<p>The User Group Report synchronous API, which lists the direct or indirect membership of users assigned to groups, has been enhanced to search for users across all user attributes (userlogin, firstname, lastname*,* and email). Previously, this API limited the search to the userlogin attribute.</p>
<hr />
<p>Those are major updates. There is a new version of SmartView, so make sure to update your SmartView.</p>
<p>What is your favorite feature form July updates? I am hoping to see more Gen AI and Pipeline features coming soon. Additionally, I am looking forward to seeing Advanced Prediction capabilities and Operational Modeling coming to EPM.</p>
<p>Here is a quick tip to all Oracle EPM consultants. Start learning Oracle Apex. I know it is one more new item to our ever growing list. However, you start learning now and you will thank me later. :)</p>
]]></content:encoded></item></channel></rss>