Followers

Tuesday, February 21, 2023

EPM Cloud - Drill Through from SmartView

Drill Through we can do using 3 ways:
  1. Workbench data
  2. Data Form
  3. SmartView
Once you open SmartView, Right Click on Data Cell and Click on Drill through


Before this step we can select below to open Drill through in web browser or in new sheet

In SmartView >> Options >> Advanced >> Drill Through Launch


Once you click on Drill Through, you will get open in New Web Browser or In New Sheet.

If you face any issue regarding the above drill through option with Excel, you have to add extension to the browser. Please refer below document for the same.


Unable To Drill Through On SmartView Reports The information you’re about to submit is not secure (Doc ID 2825480.1)

Thanks,
Mady





EPM Cloud - Drill Through to File using Drill Through Definitaion in Calc Manager

We can drill back to Source using Workbench Data, Data Forms, and also using SmartView

Using Workbench data, we can drill through to Source, steps documented in below link:

https://hyperion-mady-epm-cloud.blogspot.com/2023/01/drill-through-using-data-management.html

Using Data Form, Go to Navigate - Rules - Select Database Properties as showing below


Expand EPM Cloud 

          "Application Name"

                 >> Expand application name    

                        >> Right click on Cube name 

                                >> Select Drill Through Definition 


Click on + sign and Enter URL name, XML, and click Add Region. Enter the combination of Data Form.  

XML Contents:

<?xml version="1.0" encoding="UTF-8"?>
<foldercontents path="/">
  <resource name="Drill Through to source" description="" type="application/x-hyperion-applicationbuilder-report">
    <attribute name="name" type="string" xml:lang="ja" value="ソースにドリル・スルー"/>
    <attribute name="name" type="string" xml:lang="en" value="Drill Through to source"/>
    <attribute name="name" type="string" xml:lang="zh_TW" value="鑽研至來源"/>
    <attribute name="name" type="string" xml:lang="tr" value="Kaynakta Detaya Git"/>
    <attribute name="name" type="string" xml:lang="ko" value="소스로 드릴스루"/>
    <attribute name="name" type="string" xml:lang="no" value="Gjennomdrilling til kilde"/>
    <attribute name="name" type="string" xml:lang="nl" value="Drill-through naar bron"/>
    <attribute name="name" type="string" xml:lang="iw" value="תחקור למקור"/>
    <attribute name="name" type="string" xml:lang="cs" value="Přejít ke zdroji"/>
    <attribute name="name" type="string" xml:lang="th" value="ดริลล์ผ่านไปยังที่มา"/>
    <attribute name="name" type="string" xml:lang="it" value="Esegui drill-through nell'origine"/>
    <attribute name="name" type="string" xml:lang="fr" value="Exploration amont vers la source"/>
    <attribute name="name" type="string" xml:lang="ru" value="Детализация до источника"/>
    <attribute name="name" type="string" xml:lang="ro" value="Detaliere la sursă"/>
    <attribute name="name" type="string" xml:lang="zh_CN" value="穿透钻取到源"/>
    <attribute name="name" type="string" xml:lang="fi" value="Siirry lähteeseen"/>
    <attribute name="name" type="string" xml:lang="ar" value="الاستعراض التشعبي إلى المصدر"/>
    <attribute name="name" type="string" xml:lang="sv" value="Borra genom till källa"/>
    <attribute name="name" type="string" xml:lang="pt_BR" value="Fazer drill-through para origem"/>
    <attribute name="name" type="string" xml:lang="pl" value="Drąż skrośnie do źródła"/>
    <attribute name="name" type="string" xml:lang="fr_CA" value="Forage transversal jusqu'à la source"/>
    <attribute name="name" type="string" xml:lang="de" value="Drillthrough zur Quelle"/>
    <attribute name="name" type="string" xml:lang="hu" value="Áthatoló részletezés a forrásig"/>
    <attribute name="name" type="string" xml:lang="es" value="Obtener detalles hasta origen"/>
    <attribute name="name" type="string" xml:lang="da" value="Bor igennem til kilde"/>
    <action name="Drill Through to source" description="" shortdesc="">
      <url>./aif/modules/com/hyperion/aif/gl/main/FdmeeMain.jsp?module=aif.drilldown&amp;sso_token=$SSO_TOKEN$&amp;rcp_version=$RCP_VERSION$&amp;$ATTR(ds,id)$</url>
    </action>
  </resource>
</foldercontents>

Add Region:
@List(<Row members, Column Members>, Fix members etc)

Click Ok. 

Now Check the Data Form you can find this combination cell like below. Symbol in the cell right corner top.

You can drill through using SmartView also with same Data form. you can find the same in next blog.


Thanks,

Mady

Reference :

Monday, January 30, 2023

Drill through using Data Management from EPBCS to ERP Cloud

 Drill through using Data Management from EPBCS to ERP Cloud

Source System

  •         Go to Setup -> Source System -> Click on Add
  •         Mention Source System Name, Description is optional
  •         Then Select Source System Type as Oracle ERP Cloud
  •         Update Drill Through URL with ERP Cloud URL. 
  •         Click on Configure Source Connection and Enter credentials in the popup.
  • Click on Test Connection and wait for configuration successful message.

     Now, Click on Initialize to connect to the Source System. This process will monitor in Process details tab. Check process is successful or not. This process will create below process in Target application.

  •      Create Location, select Import Format. and Save

    Go to Workflow, Data Load Mapping first, select Location, Period and Scenario. Then Map all source members with Target dimension members. Mainly we are doing this process for Drill back, So, in Account dimension, map all members correctly.

  •     Create Data Load Rule, Execute the rule.

Once it is successful, you can check workbench to verify the data.

Validation:

Once Data Load Rule is successful, we need to validate Drill through process.

       Go to Workbench -> Data Column

        Right click on data column and click on Drill Through to Source Option

Once we click on this, it will take to Source System page.

Other than this, we can test the same from DATA FORM also.

Thanks,

Mady

 


 

Friday, January 13, 2023

OneStream - Application Back up automation

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Imports System

Imports System.Data

Imports System.Data.Common

Imports System.IO

Imports System.Collections.Generic

Imports System.Globalization

Imports System.Linq

Imports Microsoft.VisualBasic

Imports System.Windows.Forms

Imports OneStream.Shared.Common

Imports OneStream.Shared.Wcf

Imports OneStream.Shared.Engine

Imports OneStream.Shared.Database

Imports OneStream.Stage.Engine

Imports OneStream.Stage.Database

Imports OneStream.Finance.Engine

Imports OneStream.Finance.Database


Namespace OneStream.BusinessRule.Extender.XFR_ExportAppMetadata

Public Class MainClass

'------------------------------------------------------------------------------------------------------------

'Reference Code: XFR_ExportAppMetadata

'

'Description: Extender business rule that all application metadata to a zip file for the current application.

' The files are written to the application Data Mgmt Export folder in the file share directory.

'

'Usage: Can be executed from Business Rule editor or run as part of a Data Management sequence.

'

'Created By: <Your name>

'Date Created: <xx-xx-xxxx>

'------------------------------------------------------------------------------------------------------------

Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As ExtenderArgs) As Object

Try

Select Case args.FunctionType

Case Is = ExtenderFunctionType.Unknown, ExtenderFunctionType.ExecuteDataMgmtBusinessRuleStep

'Prepare the Stage Data Extract File path

Dim configSettings as AppServerConfigSettings = AppServerConfig.GetSettings(si)

Dim folderPath as String = FileShareFolderHelper.GetDataManagementExportUsernameFolderForApp(si, True, configSettings.FileShareRootFolder, si.AppToken.AppName) & "\" & DateTime.UtcNow.ToString("yyyyMMdd") & "\MetadataExtracts"

if Not Directory.Exists(folderPath) then Directory.CreateDirectory(folderPath)

Dim filePath as String = folderPath & "\" & DateTime.UtcNow.ToString("yyyyMMdd") & " " & si.AppToken.AppName & ".zip"

If File.Exists(filePath) Then File.Delete(filePath)


'Set the extract options

Dim xmlOptions as New XmlExtractOptions

xmlOptions.ExtractAllItems = True


'Execute the Metadata Extract

Using dbConnFW as DBConnInfo = BRAPi.Database.CreateFrameworkDbConnInfo(si)

Using dbConnApp as DBConnInfo = BRAPi.Database.CreateApplicationDbConnInfo(si)

Dim zipBytes as Byte() = ApplicationZipFileHelper.Extract(dbConnFW, dbConnApp, Nothing, xmlOptions)

'Append the contents of this workflow profile to the extract file

Using FS As New FileStream(filePath, FileMode.Append, FileAccess.Write)

'Create a binary writer, and write all bytes to the FileStream at once

Using BW As New BinaryWriter(FS)

BW.Write(zipBytes)

End Using

End Using

End Using

End Using

End Select

Return Nothing

Catch ex As Exception

Throw ErrorHandler.LogWrite(si, New XFException(si, ex))

End Try

End Function

End Class

End Namespace

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Reference link: 

https://community.onestreamsoftware.com/t5/Rules/Automating-Application-Back-up/td-p/7980


Thanks,

Madhusudhan

Thursday, January 12, 2023

PBCS - Migration - with dimension name change

To change dimension name while doing Migration from One Environment to Another.

1. Download the snapshot zip file from existing pod on your local machine

2. Unzip the snapshot file on your machine location

3. Download a utility named fart.exe (find and replace text)

4. Run the command in the following way 

a. C:\>fart.exe -r -c -- C:\Backup_Snapshot\* "Dimension A" "Dimension B" 

5. The above will replace all occurrences of Dimension A with Dimension B

6. There will be one dimension file in the folders named Dimension A.csv, rename it to Dimension B.csv

7. Zip the entire folder again, the structure should resemble that of original snapshot zip file

8. Import that structure in new environment and perform migration. 

9. It will succeed with some access related failures, that you can ignore

10. Open the application, validate the forms etc, check rules and Data Integration execution


Validation:

 - Data Forms, Dashboards, Navigation Flows - Migration will be successful

 - Dimensions - Members not same - Mainly in Account dimension some members missing.

 - Rules - In some rules may not change dimension name in Agg function mainly I observed.

 - In Calculation Manager, check Database properties - Member blocks, block size, no.of clocks etc

 - Data Management - Data Load Rules not showing up, Please validate all settings: Source system, Target Application, Import Format, Location, Data Load Rule, Data Load Mapping etc.


Thanks,

Madhusudhan

Sunday, January 8, 2023

EPM Planning Cloud - Application Migration and Export artifacts

 Migration from one environment to another. Take Snapshot to take entire application backup, or If you want to separate artifacts also you can export and take backup with this option - SnapShot.

  1. Download Snapshot from Existing Pod
  2. Upload Snapshot to New Pod
  3. Once upload is completed, right side go to Actions >> Import 
  4. Once Import is completed, then validate application below points

  • Check Refresh Database
  • In Rules, Click on Database Properties. Check Enterprise View and check General, Statistics, Dimension members for all cubes.

We can Export dimension members using below steps:

Navigate >> Application >> Overview >> Dimensions >> Export/Import -- using this option we can export or import dimension members.


Thanks,

Madhusudhan

Tuesday, November 22, 2022

PBCS - Smart Push Option

In Oracle EPM Planning, we often have a requirement to move data from one cube to another. Earlier, we mostly used calculation scripts or other data movement processes for this purpose.

For example, we may need to move data from BSO to BSO, or more commonly from a BSO planning cube to an ASO reporting cube.

In newer versions of Oracle Planning and EPM Cloud, we have a useful feature called Smart Push which makes this process much easier.

What is Smart Push?

Smart Push allows us to move data from one cube to another directly from the Planning application.

For example, let's say we have:

Plan1 – BSO Cube
This is where users enter data and calculations are performed.

Reporting – ASO Cube
This cube is mainly used for reporting and analysis.

After users enter or update the data in the BSO cube, we can use Smart Push to move the required data to the ASO reporting cube.

So the flow will be:

Plan1 (BSO) → Smart Push → Reporting (ASO)

This is much easier compared to creating and maintaining separate calculation scripts just for moving the data.

Using Smart Push with Data Forms

One useful thing about Smart Push is that we can associate it with the data form itself.

Smart Push can be used with Planning forms, including Simple Forms and, depending on the Planning version and configuration, Composite Forms.

We can define what data needs to be moved and map the source and target dimensions accordingly.

Run Smart Push When the Form is Saved

Another useful option is Run on Save.

When this option is enabled, Smart Push will run automatically after the user saves the data form.

For example:

User enters data → Saves the form → Smart Push runs → Data moves to the target cube

This is useful when we want the reporting cube to receive the latest data immediately after users update their planning data.

If we don't want Smart Push to run every time the form is saved, we can also allow users to run it manually when required.

Where I Find Smart Push Useful

In my experience, Smart Push is particularly useful when we have a BSO cube for planning and calculations and an ASO cube for reporting.

Instead of creating a separate process every time we need to move data, Smart Push gives us a simpler way to push the required data from the Planning form.

Of course, calculation scripts and other data movement methods are still required in many situations. Smart Push doesn't replace every data movement process.

But when the requirement is simply to move the required planning data from one supported cube to another, Smart Push can make the process much easier.

Things to Check When Configuring Smart Push

Whenever I configure or troubleshoot Smart Push, I normally check:

  • Source and target cubes
  • Dimension mappings
  • Members selected for the data movement
  • Smart Push data region
  • Run on Save option
  • User access and security
  • Job status if Smart Push fails

If Smart Push is not working as expected, checking the mappings and the selected data region is a good place to start.

Final Thoughts

Smart Push is a simple but very useful feature in Oracle EPM Planning.

Earlier, we depended more on calculation scripts and other processes to move data between cubes. With Smart Push, we can configure the data movement as part of the Planning form and push data when required.

It is especially useful when working with a BSO planning cube and an ASO reporting cube, where users need their latest planning data available for reporting.

I am documenting this here based on my Oracle EPM experience, and I will continue adding more Smart Push tips and troubleshooting scenarios as I come across them.

Thanks,
Mady