Skip to main content


Connecting EPM Cloud Planning to Apex with Rest API: GET Substitution Variables

Intro: Oracle Apex and Oracle Planning should be a match made in heaven, both are cloud based and full of API possibilities. You can even get a free trial of Apex  here to see if these sort of features would prove useful for you, or your organisation. Our Objective: Here I will be outlining how to create a table in Oracle Apex that dynamically pulls through the substitution variables from a Planning application, In a follow-up blog post I will try and outline how to then push changes made to the substitution variables in Apex back into Planning. Let's Begin: We start off this process in the “Shared Components” area of the application you want to add the substitution variables table to . Then to “Web Source Modules” within the “Data Sources” tab. From here we click “Create” , then select the “From Scratch” option. Then here we select “Simple HTTP” , name the module anything of your choice; I’ve named mine “Planning_Substitution_Variables
Recent posts

Oracle Apex Basics: Conditional Formatting

Our Objective: Here I will be outlining how to apply conditional formatting to your grids and reports in oracle apex, for instance shading highly positive figures as green or negative figures as red. This can be especially helpful when creating end user reports. Lets Begin: First you will need the report you're applying the formatting to, to have an SQL query as it's source. Once you have the query you want, we need to add an additional "Conditional_Formatting" column, and for that column to be populated with 'Green' should a certain column's data meet a criteria. Here I have made the 'Conditional_Formatting' column populate with 'Green' when the figure in the 'Likes' column is greater than or equal to 2. This will have added an extra column to our report, one which you will probably want to hide from view as it is only used in deciding the color of the conditional formatting.  From here we need to write t

Connecting EPM Cloud Planning to Apex with Rest API: Running Jobs in Planning from Apex Part 2 of 2

In Part 1 I covered how to setup your web source modules, one to perform a GET request on available jobs, and another to perform a POST request to run these jobs. Now lets build the connector between the web source modules and our application. Head over to SQL Workshop and create a new Package  with the following "Specification" and "Body" , substituting "PLANNING_RUN_JOB" with the name you gave your package. Or as text: Body: create or replace package PLANNING_RUN_JOB as procedure planning_run_job(   p_jobtype varchar2,   p_jobname varchar2 ); end planning_run_job; ---------------------- Specification: create or replace package body PLANNING_RUN_JOB is procedure planning_run_job(   p_JobType varchar2,   p_JobName varchar2 ) is   l_parameters apex_exec.t_parameters; begin   apex_exec.add_parameter(p_parameters => l_parameters, p_name => 'JOBTYPE', p_value => p_JobType);   apex_exec.add_parameter(p

Connecting EPM Cloud Planning to Apex with Rest API: Running Jobs in Planning from Apex Part 1 of 2

Intro: I've already run through how to view and change your substitution variables in Oracle Planning via Apex, so let's take a look at something a bit more versatile, running jobs in Oracle Planning from Apex. According to Oracle's documentation you should be able to run any of these types of jobs using Rest API: Rules Ruleset Plan Type Map Import Data Export Data Export Metadata Import Metadata Cube Refresh Clear Cube Administration Mode Compact Cube Restructure Cube Merge Data Slices Optimize Aggregation Import Security Export Security Export Audit Export Job Console Sort Members Import Exchange Rates I haven't had a chance to test them all and see how they work/ if they require any further tweaking, but the one's that have worked have done so with relative ease which makes me feel fairly confident in writing this that you shouldn't run into any issues, but please do let me know if anything does fail to work f

Oracle Apex Basics: Locking access by IP Address

Intro: This series of posts is focused on providing guides for smaller, more specific parts of Oracle Apex, to help users incorporate these features easily into their own applications. I'll be focusing on features that I myself struggled to find reference to when initially starting to use apex, so hopefully these posts help others in search of the same functionality.  Our Objective: Here I will be outlining how you lock access to an application by it's IP address, particularly useful when trying to match the security settings of your other platforms. For instance there's no point in locking Oracle Planning's access by IP whilst keeping metadata from it stored in an Apex application that isn't. Lets Begin: First within our Oracle Cloud console simply head to "Autonomous Data Warehouse" then click on the ADW you wish to IP lock. Then within that go to "More Actions" and select "Access Control List". From

Connecting EPM Cloud Planning to Apex with Rest API: Separating Substitution Variable access by User

Intro: Did you ever want users to only have access to certain substitution variables that apply to their area of the business, without giving them access to all the variables for the whole application ? Apex could work well as a solution to this problem. Using Apex we can restrict the tables that use our Rest API web source modules to only show substitution variables that meet a certain criteria , for instance only pull through those from a certain Plan Type. Our Objective: Here I will be demonstrating how to apply granular security to your Planning application's substitution variables within Apex , it will incorporate a lot from previous blog posts but I will try and point you toward these other posts when necessary. Lets Begin: We start off by creating a simple GET table that pulls through our substitution variables from Planning, I covered this in an older post here . Then we want to allow for POST functionality, so we can edit these variables, details of which ca

Connecting EPM Cloud Planning to Apex with Rest API: POST Substitution Variables Extras

In Part 2 of this post we finished up connecting our Web Source Module, Package and Interactive report, and you should now be able to submit changes straight to your substitution variables in Oracle Planning from Apex. Here I'm just going to go through a few quality of life additions. Lets begin: First off, we want to have Apex refresh the Substitution variable table we've created so we don't need to refresh the page every time we make a change, this is simply achieved by creating a dynamic action that triggers on the closure of a dialog page. To do this create a new dynamic action on the page with our Interactive Report and assign it's event as "Dialog Closed" , selection type "Region" and then select the region that contains the report itself. Then within that create a true "Refresh" action , by choosing the "Refresh" action on the right hand panel, and once again selecting "Region" and the region t

Connecting EPM Cloud Planning to Apex with Rest API: POST Substitution Variables Part 2 of 2

In Part 1 of this post I covered how to setup your web source module to allow you to POST changes to Oracle Planning, now lets build the bridge between that module and our application. Lets Begin: First we head to the "SQL Workshop" and to the "Object Browser" , then from here we want to create a new "Package" as shown below. This package will be the way in which we tell our Apex table how to interact with our web source module. Name the Package something unique and memorable, then insert the below information into the "Specification" and "Body" of your new package, substituting "SUB_VAR_MANAGEMENT" with the name you have given to the package. Or as text: Specification: create or replace package SUB_VAR_MANAGEMENT as procedure add_variable(   p_name varchar2,   p_value varchar2,   p_plantype varchar2 ); end SUB_VAR_MANAGEMENT; Body: create or replace package body SUB_VAR_MANAGEMENT