What, Why, When, Where…
What is a sandbox?
A sandbox is a shallow box of sand built for kids in playgrounds to play with sand. The software industry started using this terminology in computer security and software development. In computer security, a sandbox is used to test some non-reliable or un-tested program.
Why do we need that?
Oracle Planning and Budgeting Cloud Service (PBCS) has introduced Sandbox for PBCS users to play with their data without impacting other users. Changes made to the sandbox are not saved in the application unless the user publishes the data. PBCS also provides the SmartView integration to enter data in the sandbox.
When can we enable?
Enabling Sandbox
Sandbox can be enabled only during the cube creation in a planning application. The system administrator must check Enable Sandbox during application creation.
Earlier releases allow sandbox at the application level but the latest Oracle release for Dec 2016 introduced enabling sandbox at the cube level.
Points to be noted :
- Sandbox can be enabled only for BSO cubes.
- Version members that belong to the enabled cube will have the Enable Sandbox option.
- In EPBCS, sandbox is not available for the Enterprise standard cubes( “Workforce”, “Captial”,”Projects” and “Financials”). However, we can have sandbox for custom cubes in EPBCS.
Version Dimension
Version Dimension members must be enabled for using sandbox. Below screenshot shows sandbox enabled for Working version.
After enabling sandbox for a version member. PBCS creates members in the Version dimension as shown below.
When a user creates sandbox in the working version, PBCS dynamically creates a new member for the new sandbox. For instance, if a user creates a impossible sandbox then we have a new member impossible in the version Dimension
Version
BU_Version_1
Sandboxes
Sandboxes_What_if
Sanboxes_Working
impossible
HSP_View
HSP_View dimension are created once the sandbox is enabled for an application. PBCS application creates default members for the HSP_View dimension which cannot be deleted or reorderd.
- BaseData – Stored member used by users to enter data when they are working in Non-Sandbox mode.
- SandboxData – Stored member used by users to enter data when they are working in Sandbox mode.
- ConsolidatedData – Retrieve data from sandbox data when its available else its retrieved from Basedata. It’s a dynamically calculated member.
All the data are stored in the BaseData. When user creates a sandbox the data is stored at the intersection of the user sandbox and the SandBoxData. As explained above if the user creates a sandbox “Impossible” in a “Working” Version form then the data will be stored at Impossibe->SandboxData.
Where we can implement?
Business Rules
Unfortunately only the <Calculate form> business rule works in the sandboxing.
Oracle recommends to use the member formula for all the members which are generated based on the sandbox data. Below is sample script of member formula which helps in understanding the way sandboxing works
IF ( @ISMBR(“Working”))
BaseSalaryRate * “HoursWorked”;
ELSEIF (@ISMBR(@Relative(“Sandboxes”,0)))
BaseSalaryRate->”ConsolidatedData” * “HoursWorked”->”ConsolidatedData”;
ENDIF
ENDIF
Aggregation
Upper level members for sparse dimension which are in the form needs to be dynamic calc.
Creating Sandbox in Data Form
Steps to create a Sandbox from the Data form.
- Click + icon which is on the Top left corner. Create a sandbox with Name “Impossible”Note : Version member has to be in the Page or in the POV
- Click Create. Sandbox will be created as new member in the sandbox
- Enter the data and click on Save.
- Data is saved in the FY16->Forecast->110->P_100->Units->Jan->SandboxData->Impossible
- As ConsolidatedData is a dynamic Calc the data entered at SandBoxData is moved up to ConsolidatedData. No additional coding needed for ConsolidatedData. Note : Oracle support guide requests the user to write some calculation script for ConsolidatedData, But its not necessary as the calculation script doesn’t gets loaded in the application.
- Click on the X next to “Impossible” sandbox to delete the sandbox.
- Sandbox data is deleted. Enter data on the same intersection.
- Above diagram clearly explains that by default the data are entered in the BaseData.
Publishing a Sandbox
Planners after completing their analysis they can submit their data to Essbase so that other users can view the data. All modified data in the sandbox is moved to Basedata member in the HSP_View dimension and the sandbox disappears from the application.
Note : If more than 1 planners are working on the same intersection data publish their data then the latest and greatest data will be available for the planners.
Click on Actions>Sandbox>Publish to publish the sandbox data.
Below screenshot shows Impossible Sandbox doesn’t exists in the Essbase and the data entered at SandboxData member is now pushed to BaseData.
Sandbox Integration with other components
- Data can be updated but sandbox cannot be created, deleted or published in SmartView
- Ad Hoc Analysis is possible in SmartView
- Oracle FR reports can use ConsolidatedData member in the HSP_View Dimension to support reporting.
- FDMEE – HSP_View dimension is shown in the mappings but BaseData member can only be used for mapping.