Very Grateful To Be Invited To KScope19

I know many people complain that the same speakers present every year.  I can tell you I get rejected more than I get accepted.  The last few years ODTUG added the option for members to vote on speaker abstracts.  I want to thank all of you that voted for me because the only reason I am honored with this opportunity is because of the great feedback you provided.  I was on the content selection committee and there was a concerted effort to have new speakers.  No, I couldn’t vote for myself!

I really hope the following will be beneficial.  You all pay to attend and I take that responsibility of participating very seriously.  If you plan on attending, please make your way to the Accelytics booth and introduce yourself.  I am really looking forward to meeting you.

Hidden Gems in PBCS – The Benefits They Don’t Tell You About

Tue, Jun 25, 2019 (02:15 PM – 03:15 PM)
602/603, Level 6

Session Summary for Attendees
There are a million reasons to move to the cloud, but these enhancements are not marketed. From somebody that fought the drawbacks, I now cringe when I have a client that is still using the on-premise version of Planning.
This session will provide an administrator 5 to 10 hidden secrets that you won’t hear from your Oracle sales rep. Unless these are pointed out, or you go to training and they are discussed, they will likely never be found. We will discuss foundational improvements like how to evaluate where to focus your time on calculation performance issues, debugging calculations by stepping through the calculation, and stress testing your application. This presentation will include hands on demonstrations of all the functionality and features discussed.
Attendees will leave this session with the knowledge and examples that will allow them to go back to their workplaces and use them to improve their applications. Users looking to move to the cloud will learn about some of the hidden gems that often go forgotten.

Detailed Abstract for Review
This presentation will walk attendees through multiple features that they may not be aware of if they are using PBCS and functions they don’t have access to if they are using the on-premise version. It will begin with an overview of these. It will demonstrate the functions with live demonstrations that will allow participants to make an immediate impact in performance and improve the user experience.

The presentation will be structured as follows:
• Introduction
• Basic Navigation in the cloud UI
• Demonstrate the options to debug calculations
• Demonstrate the option in calculation manager to find and improve time intensive calculations
• Discuss the option of stress testing PBCS
• Provide a checklist for administrators to take with them and implement improvements

Getting Started with Groovy for the Non-Technical Superstars

Mon, Jun 24, 2019 (11:45 AM – 12:45 PM)
602/603, Level 6

Session Summary for Attendees
Groovy calculations are not just accessible to those with lots of experience writing Java, Groovy, or other coding languages. With a little guidance, you can become extremely productive and add some world class functionality to your applications. This session will be delivered with both the experienced, and non-experienced, by a person with a finance degree that learned it on the fly.
This session will provide an administrator with the knowledge needed to get started writing Groovy calculations immediately. We will introduce how to get started with Groovy and use it to interact with PBCS via the API. Three to four key concepts will be covered for you to leave understanding the possibilities. We will discuss where and how to get help, learn from examples, and avoid spending time going down some of the wrong paths like I did.

Attendees will leave this session with the knowledge to implement basic Groovy calculations, examples of more complicated solutions, and the foundation to grow on. They will take home working examples, and references to all the concepts needed to go from 0 to 60 in 4 seconds.

Detailed Abstract for Review
This presentation will walk attendees through multiple features that they may not be aware of if they are using PBCS and functions they don’t have access to if they are using the on-premise version. It will begin with an overview of these. It will demonstrate the functions with live demonstrations that will allow participants to make an immediate impact in performance and improve the user experience.

The presentation will be structured as follows:
• Introduction
• Understand how to get started
• Demonstrate and break down how to add user functionality
• Demonstrate and break down how to add pre-save validation
• Demonstrate and break down how to add real time data model synchronization on data form save
• Where to go to get help

If you haven’t signed up, please go out and do that today I hope to see you at one of my sessions.




Change The Spread Method In An Existing PBCS Application

Changing application settings was always a little bit of a pain with an on-premise Planning application.  It was a time intensive task of recreating the application, artifact groups at a time.  If you were a little bit of a risk taker, you might have figured out that there were fields in the relational repository that could be updated.  Is there an easy way to do this with PBCS?  Since the repository is not accessible in the cloud, legacy methods are not available.  That said, I think it is easier and seemingly less risky with a PBCS application.

How To Perform Configuration Changes

The basic steps are very simple.  If migrations are new to you, take caution and make sure the application backup is readily available.  Always try this in the test environment first.

  1. Run a migration backup by going to the navigation menu and selecting Migration under the Tools header and clicking the Backup button.
  2. Download the backup by changing the view to Snapshots and selecting the ellipse to the right of the created migration and select download.
  3. Unzip the downloaded file to a new folder.
  4. Edit the appropriate file / change the settings (see below).
  5. Zip the files previously unzipped to a new zip file.  Make sure the parent folder is not included.  The folder and files unzipped should be the root of the new zip file.
  6. Upload to zip file created above by going back to Migration under the Tools header in PBCS.  Change the view to Snapshots and click the upload button.  If the backup is too large, you may need to use EPM Automate.
  7. Delete the existing application by moving to the Overview area which can be found in the navigation menu under the Application header, select the Action button and click Remove Application.
  8. After the application is deleted, log back in to PBCS and choose the Migration option in the navigation menu.  Create a new application with the updated zip file by clicking the ellipse and choosing Import.

Updating The Configuration

Before proceeding, I have tried this by only migrating the configuration (not recreating the application) and it didn’t work.  The application had to be recreated so the entire backup was required.  So, although only one file is updated, it is still important to take a full backup.

The migration files hold everything you need to update pieces and parts of an application.  In this situation, the focus will be on the configuration options, specifically the spread method.  Since this is needed to create an application, the spread method is often not decided on and may need to be changed later.  To change it after the fact is pretty easy.  Navigate to and open the Application Definition.xpad file.  This is inside the HP-xxx folder.  The xxx represents the name of the application.  This is a text file so it can be opened in any text editor.  If notepad is used, the line feeds won’t be visible and all the lines will be smashed together.  Notepad++ is a recommended alternative.  See below for the full path of the xpad file.

The Application Definition.xpad file, when opened, should look similar to the following.  This is not a full representation of the file so expect it to be larger when opened.

Scroll down a short way and find the WeeksDistribution property.  It will likely have a 445 pattern or will read Even.  Change this option to the preferred method and save the file.  The options are 445, 454, 544, and Even.

There are, as you see, other options that can changed.  Although I have only changed the spread method, I am moderately confident that the others, if changed here, would be reflected when the zip file is imported.

 <Calendar>
  <BaseTimePeriod>12 Months</BaseTimePeriod>
  <WeeksDistribution>Even</WeeksDistribution>
  <AppStartYear>2015</AppStartYear>
  <FiscalYearStartDate>SameCalendarYear</FiscalYearStartDate>
  <StartMonth>Jan</StartMonth>
  <NumberOfYear>15</NumberOfYear>
  <AllYearsParent>Y</AllYearsParent>
</Calendar>

Note that some of these are not options when the application is created, like whether the application has a parent for years.  I have not tinkered with this for that reason, but it is there if you want try.

Importing A File Too Large For The UI

As stated above, large files cannot be loaded through the PBCS UI.  I have run into this before and believe the maximum size of the file that can be uploaded is less than 2GB.  EPM Automate has an upload file command that overcomes this.

epmautomate login username userpassword https://planning-domain.pbcs.datacenter.oraclecloud.com domain
epmautomate uploadfile "[path]\[filename].zip"

example:  
epmautomate login kgoodfriend GoJackets https://planning-A123345.pbcs.us6.oraclecloud.com A12345
epmautomate uploadfile "c:\backups\PBCS_In2Hyperion.zip"

Finishing Up

There are a lot of useful things you can do with the migration files.  Making changes is sometimes easier in bulk than one artifact at a time.  Many free tools are available to find and replace text in multiple files, and even use patterns.  Some changes require a bit of hunt and peck if they are common and may occur in more places than you want to change.  If you have an application name that is similar to a database name it gets a little more tedious.  Obviously replacing a database name called plan would likely be more work because plan exists in many places, not just a database name.  Here are some thoughts and uses.

  • Changing the application name
  • Changing database names
  • Updating member names in all forms and rules
  • Finding forms and rules that use members to be removed