Quantcast
Channel: More to life...
Viewing all 181 articles
Browse latest View live

Planning 11.1.2.2.300 Outline Load Utility Enhancements Part 2

$
0
0
In the last blog I went through some of the new functionality with the Outline Load Utility and today I am going to continue and go through loading data from a relational source.

I am not going to cover any of the properties again so if you have not done so it is probably worth having a read of the last blog.

Loading data through the planning layer is great if you want to load text, Smart List and date data, if loading numeric data then personally I would stick to loading direct to essbase as it is much more efficient and has a lot of additional functionality.

In an earlier blog I went through the process of loading text data from a flat file using the Outline Load utility and to be honest the concept is nearly identical for loading from a relational source.

Anyway no need for anymore waffle so let’s get on with the process.


In my example I have created simple form to show employee information by entity and instead of entering the information manually I am going to load it from a relational table.

The account member data types are:
Full Name– text member
Role – Smart List
Start Date – Date
Salary – Currency
Bonus – Percentage
 

The evaluation order has been set in planning so the correct data types are displayed in the form.


The source data is by entity, year and account, the rest of the data is static so can be fixed when writing the query to load to the planning application.

Now if you have ever loaded data to planning then you have probably come across the data load settings that apply the data load dimension and the driver dimension and members


In my example the data load dimension will be the entity dimension and the driver dimension will be Account with the members “Full Name”, “Role”, “Start Date”, “Salary” and “Bonus”.


You can still use the data load settings method for loading from a relational source or use a new parameter /SDM which allows the information to be set from command line or using a property file.

So for my example instead of using the data load settings functionality in planning I can use

/SDM:Entity, “Full Name, Role,  Start Date, Salary, Bonus”, Consol

This sets the data load dimension as Entity and the driver members as “Full Name”, “Role”, “Start Date”, “Salary”, “Bonus” and the third property is the plan type to apply these to.

Besides the data load dimension and driver members the “Point-of-View” and “Data Load Cube Name” also need to be provided in the relational query.

The “Point-of-View” is a comma separated list of all the remaining dimension members in the plan type and this is required so the intersection on where to load the data to is fully defined.

The remaining dimensions in my example application are Scenario, Version, Currency, Period, Segments and the members are all fixed as displayed in the form design:


The “Data Load Cube Name” is pretty obvious and is the plan type/essbase database name to load the data to which in my case is “Consol”.

A simple SQL query can be created to return the data in the correct format though it is worth noting the column names have to match the properties required for planning.


The query can be added to the command line or to a properties file which I will be using.


I covered most of the properties in the last blog so hopefully they should all make sense.

As there is a date member being loaded /DF should be used to define the date format and the available values are:
/DF:MM-DD-YYYY  The date data type values on the source data load are assumed to be month-day-year. For example, 12-25-2011
/DF:DD-MM-YYYY The date data type values on the source data load are assumed to be day­-month-year. For example, 25-12-2011
/DF:YYYY-MM-DD The date data type values on the source data load are assumed to be year-month-day. For example, 2011-12-25

Now all that is left is to run the utility from command line passing in the required parameters.


E:\Oracle\Middleware\user_projects\epmsystem1\Planning\planning1\OutlineLoad.cmd -f:E:\PLAN_SCRIPTS\password.txt  /CP:E:\PLAN_SCRIPTS\dataload.properties

In my example I only required the password file and the property file as all the parameters were set in the property file.

The output log generated was:
Property file arguments: /RIU:PLANSTAGE /D:Entity /RIR:jdbc:oracle:thin:@[fusion11]:1521:FUSION /DF:DD-MM-YYYY /RIP:TOzyauMwe2gtUQ9tjidf1Zq2pCA8iroN4i7HQxssFKUaogr16fi+WKmHFTD8NIIs /X:E:/PLAN_SCRIPTS/Logs/datald.err /RIQ:DATA_SQL /A:PLANDEMO /S:FUSION11 /L:E:/PLAN_SCRIPTS/Logs/datald.log /U:epmadmin /RIC:FUSION_CONN /SDM:Entity,"Full Name, Role,  Start Date, Salary, Bonus", Consol /RID:oracle.jdbc.OracleDriver /IR:E:/PLAN_SCRIPTS/metaload.properties

Command line arguments: /CP:E:\PLAN_SCRIPTS\dataload.properties

Submitted (merged) command line: /RIU:PLANSTAGE /D:Entity /RIR:jdbc:oracle:thin:@[fusion11]:1521:FUSION /DF:DD-MM-YYYY /RIP:TOzyauMwe2gtUQ9tjidf1Zq2pCA8iroN4i7HQxssFKUaogr16fi+WKmHFTD8NIIs /X:E:/PLAN_SCRIPTS/Logs/datald.err /RIQ:DATA_SQL /A:PLANDEMO /S:FUSION11 /L:E:/PLAN_SCRIPTS/Logs/datald.log /U:epmadmin /RIC:FUSION_CONN /SDM:Entity,"Full Name, Role,  Start Date, Salary, Bonus", Consol /RID:oracle.jdbc.OracleDriver /IR:E:/PLAN_SCRIPTS/metaload.properties

Successfully logged into "PLANDEMO" application, Release 11.122, Adapter Interface Version 5, Workforce supported and not enabled, CapEx not supported and not enabled, CSS Version 3

[Sun Sep 30 15:56:38 BST 2012]Setting Driver Members as specified with the /SDM switch.

A query was located in the Command Properties File "E:\PLAN_SCRIPTS\dataload.properties" that corresponded to the key passed on the Input Query switch (/RIQ) "DATA_SQL" so it's corresponding value will be executed as a query: "SELECT Entity, full_name as "Full Name",role,to_char(start_date, 'dd-mm-yyyy') as "Start Date",Salary,Bonus/100 as "Bonus", 'FY' || substr(Year,3,2) || ',Actual,Working,Local,Ignore,BegBalance' as "Point-of-View",'Consol' as "Data Load Cube Name" FROM PLANDATA"

Attempting to make input rdb connection with the following properties: catalog: FUSION_CONN, driver: oracle.jdbc.OracleDriver, url: jdbc:oracle:thin:@[fusion11]:1521:FUSION, userName: PLANSTAGE

Source RDB "FUSION_CONN" on jdbc:oracle:thin:@[fusion11]:1521:FUSION connected to successfully.

Connection to input RDB made successfully.

[Sun Sep 30 15:56:38 BST 2012]Date format pattern "DD-MM-YYYY" specified for date data type loading.

[Sun Sep 30 15:56:38 BST 2012]Header record fields: ENTITY, Full Name, ROLE, Start Date, SALARY, Bonus, Point-of-View, Data Load Cube Name

[Sun Sep 30 15:56:38 BST 2012]Located and using "Entity" dimension for loading data in "PLANDEMO" application.

[Sun Sep 30 15:56:39 BST 2012]Load dimension "Entity" has been unlocked successfully.

[Sun Sep 30 15:56:39 BST 2012]A cube refresh operation will not be performed.

[Sun Sep 30 15:56:39 BST 2012]Create security filters operation will not be performed.

[Sun Sep 30 15:56:39 BST 2012]Examine the Essbase log files for status if Essbase data was loaded.

[Sun Sep 30 15:56:39 BST 2012]Planning Outline data store load process finished. 2 data records were read, 2 data records were processed, 2 were accepted for loading (verify actual load with Essbase log files), 0 were rejected.

No errors were generated in the log and all records loaded successfully.


Running the form again confirmed that all the data has been loaded in the correct format.

There is another parameter available which I have not mentioned:

/ICB:blockSpecification

This allows you to define an intersection in the essbase database to clear before the data is imported, this functionality has been included because the utility does not currently load #missing values and if values already exist  they will not be overwritten.

So say the same data was loaded again but this time there was no Bonus data.


The Bonus member data will not be set to #missing and will still contain 10%

The format for the ICB parameter is similar to how the data is loaded so it requires the data load dimension member, the driver members, the point of view and the data load cube name.

/ICB:EMP01,"Full Name, Role,  Start Date, Salary, Bonus","FY12,Working,Version,Actual,Local,BegBalance,Ignore",Consol


The /ICB values that I have used will clear out all the data in the form before it is loaded.


As the data is now cleared before the import this time the Bonus member contains the correct data.


From examining the essbase application log you will be able to view the clear data command that has been executed.

It is also possible to use planning member functions in the /ICB definition which means you can include Ilvl0Descendants(member), Children(member),Ancestors(member) etc


Well that about covers loading data from a relational source, there is one more new piece of functionality with the Outline Load utility and that is extracting data to a csv file which I will try and go over whenever I find the time.

ODI 11.1.1.6 – Extracting Essbase attribute members bug + fix

$
0
0
Just another really quick update from me today, I have seen a few posts on the issue in the past and noticed there is an actual fix available now so I thought I would go through the problem and the fix.

The issue definitely exists on 11.1.1.6 and I believe it exists in unpatched 11.1.1.5 and 10g.

Say you want to extract the hierarchy from an attribute dimension from an essbase outline it certainly should be possible using the “LKM Hyperion Essbase METADATA to SQL”


In this example I will try and extract the population attribute hierarchy from everybody’s favourite Sample Basic.


If you reverse the Sample Basic database there will be a Datastore created for each attribute dimension with a number of property columns.


I created a simple interface which will extract the parent, child and alias members from the population attribute dimension and write these to a flat file.


Unfortunately when you run the interface it fails at the “Begin Essbase Metadata Extract” step with the following error:

org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
  File "<string>", line 91, in <module>
    at com.hyperion.odi.essbase.ODIEssbaseMetaReader.validateSourceMetadata(Unknown Source)
    at com.hyperion.odi.essbase.ODIEssbaseMetaReader.validateExtractOptions(Unknown Source)
    at com.hyperion.odi.essbase.AbstractEssbaseReader.beginExtract(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)

So that was the end of the road on 11.1.1.6 until a recent patch was made available


You can get more information and download patch 13093442 here.


Once download the patch can easily be applied using Opatch just make sure none of the ODI components are running before applying.

Basically the patch copies a new version of odihapp_essbase.jar to

\oracledi\client\jdev\extensions\oracle.odi.navigator\lib\
\oracledi.sdk\lib\


After applying the patch the interface can executed again.


This time it is much more promising as the interface complete successfully.


The target flat file is populated with the full attribute hierarchy even if it is in its usual unhelpful order.

Planning 11.1.2.2.300 Outline Load Utility Enhancements Part 3

$
0
0
In the previous two parts I went through the majority of the new functionality available with the Outline Load Utility, there is one remaining piece which I will quickly go through today and that is extracting data to a flat file.

The loading of meta/data can now be achieved from a relational source but unfortunately the new functionality of extracting data can only be to a target flat file, I am sure in future releases a relational target option will be added.

In most cases you will still probably extract data directly from Essbase as it is the optimal solution but if you want to extract text, Smart List and date data then it is now possible using the utility.

I am not going to cover any of the new Outline Load Utility properties again so if you have not done so it is probably worth having a read of the last couple of blogs.

In the last part I loaded the following data set to planning.


and the data form design:


The account member data types are:
Full Name – text member
Role – Smart List
Start Date – Date
Salary – Currency
Bonus – percentage


Now I will reverse the process and extract the data to a flat file.

There are a couple of parameters that I have not covered previously and will be required to extract data.

/ED:– specifies the output path and filename to export to
e.g. /ED:E:/PLAN_SCRIPTS/Extract/dataExport

Note: data into files of the form output_file.1-1.csv through output_file.n-n.csv where n is the number of files generated.

/EDD: - specifies the data that is to be exported and is in the format of
“Data Load member(s)”, “Driver Dimension member(s)”, “Point of View”, “Plan Type name”

So from my example form above the format would be
/EDD: EMP01,"Full Name, Role, Start Date, Salary, Bonus","FY12,Actual,Working,Local,Ignore,Begbalance",Consol

These parameters can be added to a properties file


Now all that is left is to run the utility from command line passing in the required parameters.


E:\Oracle\Middleware\user_projects\epmsystem1\Planning\planning1\OutlineLoad.cmd -f:E:\PLAN_SCRIPTS\password.txt  /CP:E:\PLAN_SCRIPTS\dataextract.properties

In my example I only required the password file and the property file as all the parameters were set in the property file.

Executing the command line produces the following output log

Property file arguments: /DF:DD-MM-YYYY /X:E:/PLAN_SCRIPTS/Logs/dataExp.err /A:PLANDEMO /ED:E:/PLAN_SCRIPTS/Extract/dataExport /S:FUSION11 /L:E:/PLAN_SCRIPTS/Logs/dataExp.log /U:epmadmin /EDD:EMP01,"Full Name, Role, Start Date, Salary, Bonus","FY12,Actual,Working,Local,Ignore,Begbalance",Consol

Command line arguments: /CP:E:\PLAN_SCRIPTS\dataextract.properties

Submitted (merged) command line: /DF:DD-MM-YYYY /X:E:/PLAN_SCRIPTS/Logs/dataExp.err /A:PLANDEMO /ED:E:/PLAN_SCRIPTS/Extract/dataExport /S:FUSION11 /L:E:/PLAN_SCRIPTS/Logs/dataExp.log /U:epmadmin /EDD:EMP01,"Full Name, Role, Start Date, Salary, Bonus","FY12,Actual,Working,Local,Ignore,Begbalance",Consol

Successfully logged into "PLANDEMO" application, Release 11.122, Adapter Interface Version 5, Workforce supported and not enabled, CapEx not supported and not enabled, CSS Version 3

[Sun Oct 28 14:47:50 GMT 2012]A cube refresh operation will not be performed.

[Sun Oct 28 14:47:50 GMT 2012]Create security filters operation will not be performed.

[Sun Oct 28 14:47:50 GMT 2012]Examine the Essbase log files for status if Essbase data was loaded.

[Sun Oct 28 14:47:50 GMT 2012]Planning data export operation finished. 1 data export file was written: E:/PLAN_SCRIPTS/Extract/dataExport.1-1.csv, 1 data export record was written (total all files).
As you can see from the log one export file was created called dataExport.1-1.csv and one record was exported.


Just like with loading data it is possible to use planning member functions in the /EDD definition which means you can include
Ilvl0Descendants(member), Children(member),Ancestors(member) etc


Running the utility again should now export the child members of Employees and Descendants of Year.


Well that finally covers all the new functionality with 11.1.1.2.300 release of the Outline Load utility, apologies for taking so long to get it completed but time has been very limited lately.

Standalone Essbase using external authentication

$
0
0
I have not actually be involved with any clients that use Essbase in standalone mode since pre version 9 days and to be honest I really don’t see the point in it nowadays and it is not really true standalone as you still need to configure the Shared Services registry but saying that I do notice from forum posts that it is still being used and the question about using external authentication has cropped up a few times.

I must admit I have never deployed Essbase  in standalone mode in version 11 and I didn’t know the answer how external authentication could be set up, instead of let this niggle at me not knowing I thought would have a look into it in some more detail.

In earlier versions you could populate an xml based file with the external directory information and update the essbase.cfg with details to the file using the AuthenticationModule setting like so:


If you try this in version 11.1.2.2 (maybe the same for earlier versions of 11) then the output in the log lets you know this method is not possible anymore.

[Sun Dec 01 11:23:03 2012]Local/ESSBASE0///4604/Error(1051223)
Single Sign On function call [css_init] failed with error [CSS Error: CSS class not found: NativeCAppImpl]


So what is the answer, well Essbase version 11 in standalone mode using external authentication does require Shared Services but you don’t have to deploy the web application, as always you don’t want me waffling on and you want to see how it is done so here goes.

The process I carried out if on 11.1.2.2 but I am sure it is pretty similar for all 11 versions; I am not going to into too much detail as I am sure you will get the idea.



When you start the installer make sure Foundation Components is selected (you don’t need Oracle HTTP Server if you have extracted the files) and of course Essbase Server is selected.

Once the installation has successfully completed start up the configurator.


You will need a relational database for Shared Services and the Registry.


The only requirement is to select “Configure Essbase Server


Enabling “Deploy Essbase in standalone mode” in the most important configuration step and unless there is a definite need the other settings can be left as default.


As the Foundations components were installed a username and password is required for the admin account, this will be used as the admin account for logging into Essbase even though Shared Services has not been deployed.


Once Essbase has been deployed into standalone mode and the service started you should be able to log into Essbase using Maxl with the account information provided in the configurator.


If you have an instance of EAS then you can see that Essbase is in standalone mode as the options are available to create new users/groups.

Well that is Essbase easily set up in standalone mode so what about setting up the external authentication.


The first step is to add “AuthenticationModule CSS” to the essbase.cfg


Once the configuration has been updated then essbase needs restarting to pick up the new setting, in the essbase.log it should output that the external authentication module is enabled.

The next step is configure the external authentication provider details which would be quite simple if Shared Services was deployed but as it not then the trick is to manipulate the Shared Services registry using the epmsys_registry utility.

The directory configuration used to be an xml file held in the file system but from version 11 this was moved into the registry, I did blog about this a number of years ago which you can read about in more detail here.

The epmsys_registry utility is available in

<MIDDLEWARE_HOME>\user_projects\<instancename\bin

To extract the configuration file the following can be executed from command line.

epmsys_registry.bat view FOUNDATION_SERVICES_PRODUCT/SHARED_SERVICES_PRODUCT/@CSSConfig



This will extract the file to the same location as the utility.



The file extracted will be named Comp_1_SHARED_SERVICES_PRODUCT_CSSConfig



The file can be edited with any text editor and currently will only contain the native provider information.

The file now needs updating with the external directory information and I cheated a little and examined a file from a different EPM instance which was configured to use external authentication to get an understanding of the structure, the structure is quite similar no matter which version you are using.

Here is an example of the file once I had updated it with information to connect to a Microsoft Active Directory:


Once updated I saved the file in the same location as the original export.


The file format is not important but I saved it as an xml so I could easily view the format in a structure way.

The utility is used again to import the file into the Shared Services registry and replace the existing configuraton.

epmsys_registry.bat updatefile FOUNDATION_SERVICES_PRODUCT/SHARED_SERVICES_PRODUCT/@CSSConfig E:\Oracle\Middleware\user_projects\essbase\bin\CSSConfig.xml


Once successfully imported the essbase service is restarted to pick up the new configuration.

To test the configuration I first inspected the essbase related logs to make sure there were no issues and then created a new user in essbase with a user that exists in the external directory.


Using EAS a new user was created selecting the authentication type as “Use external authentication


The user was given "Write" access to the Sample.Basic database.


The same could also be achieved if EAS is not available using Maxl.


To confirm that the external authentication was working I logged into EAS using the newly created user and all was expected.

It is worth pointing out that if you have deployed EAS using the same Shared Services registry then EAS will also be using the external authentication.

So there you go, it is not something I will probably have to do very often but I am sure it will help those baffled with what to do.

Alternative methods for migrating Planning 9.3 Business Rules to 11.1.2.2 Calculation Manager

$
0
0
As you are probably well aware that Business Rules are no more in 11.1.2.2 and Calculation Manager is the product to manage rules, Hyperion Business Rules were always quite problematic and over the years I have seen so many issues and posts relating to them and to be honest the functionality never improved through the versions so I welcomed the end to HBR.

Now the supported upgrade path to 11.1.2.2 is either 9.3.3, 11.1.1.3/4 or 11.1.2.x though it is certainly possible to upgrade directly from 9.3.1 in the Planning/Essbase world as I have successfully achieved it on a number occasions but this is not the topic for today, if you are interested in upgrading from 9.3.1 to 11.1.2.2 then do get in touch.

I am going to go through a couple of alternative methods to migrate from 9.3.1 Business Rules to 11.1.2.2 Calculation Manager.

The first method requires access to a 9.3.1 EAS relational database; it does not have to be a live system and can be a backup of the database which personally I think would be the preferred method anyway.

I will keep the example nice and simple for demonstration purposes with a 9.3.1 environment containing just one business rule and associated variables.


There are three Global Variables (one of them is not associated with the rule) and there is one local variable “Scenario” used in the rule.


The location is set against the planning application, if the location is set to “All Locations” then when importing into Calculation Manager the planning application will be ignored and the rule can be imported into any application so depending on the number of rules it could end up being really messy if you don’t set the correct locations before the migration.

Right on to a preconfigured 11.1.2.2 environment, this doesn’t necessarily have to be a live environment and could easily be a personal VM just as long as it can access the 9.3.1 EAS database.


Start the EPM configurator and select “Configure Database” for EAS, the warning message about also deploying the web application can be ignored as once the migration has been completed the database will be reconfigured back to its original state.


Select “Upgrade existing database to the current release from 9.3.3+”, yes I know the version that I am connecting to is 9.3.1 but it doesn’t matter.

It is also possible to then configure the planning system database and select upgrade from 9.3.3+ but I am not going down that route today though before moving to the next stage planning should have been configured.


Log into Calculation Manager and select the application you wish to import the business rules into, selecting Migrate will execute a utility in the background that connects to the EAS database and export the entire HBR repository to an xml file and then imports into Calculation Manager.


Select The Planning application information and migrate options.


The import screen should contain all the rules and variables from the 9.3.1 environment and  if it doesn’t then the utility that is run in the background may have failed, it is possible to run it manually to find out what the issue is by carrying out the following steps.



If you go to:

<MIDDLEWARE_HOME>\EPMSystem11R1\upgrades\planning then there is a utility called upgrade_p2.bat

The syntax for the utility is

upgrade_ps2.bat EPM_ORACLE_HOME EPM_ORACLE_INSTANCE

So in my case it can be run from command line with the folllowing

upgrade_ps2.bat E:\Oracle\Middleware\EPMSystem11R1 E:\Oracle\Middleware\user_projects\epmsystem1



If the utility did not complete successfully there is a log generated at

<MIDDLEWARE_HOME>\user_projects\<instancename>\diagnostics\logs\upgrades\planning\upgrade_ps2.log

The utility will connect to the EAS database and export the entire HBR repository to a file called HBRrules.xml



The utility will create the EPMData\planning directory is it does not exist.

Once the file has been created you can go back into Calculation Manager and select the migrate option again.


In the system view for the planning you can see the business rule from the 9.3.1 environment has been imported.


Opening the rule confirms that it has been converted into the Calculation Manager format and the local and global variables are available.

If you wanted to import the rules into a different database you could edit the HBRrules.xml


Update the application name and plan type in the locations section to the application you wish to import into and then once again select migrate in Calculation Manager.


The rule and associated variables should be imported into the updated planning application.

Once the rules have been imported it is easy to move them to other 11.1.2.2 environment by either exporting from Calculation Manager or by using LCM.


Once happy with the migration you can run the EPM configurator again and point the database back to the original database, first-time configuration can be selected (only four database tables exist now in 11.1.2.2 EAS which are for the rarely used log analyser)

So that is the first method covered off so how about the next method, well I was looking at the format of the HBRrules.xml file and it looked remarkably like a standard xml export from Business Rules, it was slightly larger in size and the order of the xml was not exactly the same but it was close so I thought whether it would be possible to try and migrate using the xml.

For this you do need to have an operational 9.3.1 environment.


In 9.3.1 Business rules select the “Export Business Rules


Select the required rules and dependents and then export.


Set the File name as “HBRrules.xml

Copy the file across to the 11.1.2.2 environment.


Create the directory: <MIDDLEWARE_HOME>\EPMData\planning and place the “HBRrules.xml” file in there.


In Calculation Manager select the migrate option and the rules and dependents from the 9.3.1 exported xml file should be imported.

So there you have two alternative methods, the first one will import the full HBR repository and the second method allows you to select the objects you wish to migrate.

I have not had the chance to try it on prior versions to 9.3 but it is probably worth a go to see if it works.

Please note that these methods are probably not officially supported but sometimes you have to break to the rules to achieve your goals :)

EPM 11.1.2.2 configurator – host unreachable

$
0
0
I was recently working on an 11.1.2.2 Windows 2008R2 environment build and was hit with the following error in the configurator:


The error didn’t occur at first as I was able to successfully configure a number of products but when I started up the configurator again it started to warn that the database server was unreachable, at first I was hit with an anxious feeling that I had messed up but I was sure I had configured correctly and I knew the database server was definitely accessible. 


After clicking “OK” to the warning all the correct component configuration was displayed so there were no problems connecting to the database.

I did keep on ignoring the error message as there were no signs of problems with configuration and I put it down to a possible firewall issue with the database server but the back of my mind I did want to know the answer.

I recently stumbled up the following information:

“EPM System Configurator tests whether this address is reachable. A best effort is made to reach the host, but firewalls and server configuration may block requests, resulting in an unreachable status even though some specific ports may be accessible. The Java call typically uses an ICMP ECHO REQUEST if the privilege can be obtained; otherwise, it will try to establish a TCP connection on port 7 (Echo) of the destination host.

You can ignore the warning and continue, or you can open up port 7 and the warning will no longer be displayed.”


I thought I would have a look at confirming the information was correct and enabled the firewall on a 11.1.2.2 VM environment, starting up the configurator generated the same warning message.


 
 

I did enable ICMP in the inbound firewall rules on the database server and was able to ping it but unfortunately it did not resolve the issue for me in the configurator.


I ran a Wireshark trace when opening the configurator and you can clearly see the echo request of port 7 to the database server.


I then added a new firewall inbound rule on the database server firewall to allow all connections on TCP port 7.

I ended up rebooting everything just to be sure, started up the configurator and success the warning message was no more.

So if you do get hit by the warning don’t panic as it may just a firewall causing the pain.

Changing the EAS web console heap size

$
0
0
Recently I was asked about a heap size issue with the 11.1.2.1 EAS web console, now I have never seen the following error before and probably won’t again as business rules slowly merge into calculation manager.


The reason I had probably not seen it before is because I don’t think I have had to deal with many rules that are 2MB in size and trying to save the rule in EAS would generate the error.

Anyway I was not going to even attempt to get into the reason why the rule was so big and just increase the maximum java heap size for the console.

If this was the standard EAS console then increasing the heap size is straight forward and just requires an edit to:

<drive>:\Oracle\Middleware\EPMSystem11R1\products\Essbase\eas\console\bin\admincon.bat


Update the –Xmx value from the default 256MB and restart the console and that’s it.

Increasing the maximum JVM size for the web console does not seem as simple though I am hoping somebody comes along and tells me I am idiot and provides a simpler solution.

If you start the web console you can see the min and max size being passed into Java


The default heap sizes are min 32MB and max 256MB.

I originally thought I could override the settings through the Java control panel


This did not seem to make any difference and the clients Java control panel was locked down so it wouldn’t have been that simple to get it implemented if it did work.

When starting up the EAS web console it reads a jnlp (Java Network Launching Protocol) file to set the parameters passed into the Java application so the file must exist somewhere in the EAS web application.


I found an easconsole.jnlp file sat in the easconsole.war file which is deployed with the EAS web app server.


I updated the file to increase the value held in the max-heap-size parameter, deleted the EAS web application server tmp folder and restarted the web application.

Still no joy the jnlp file that was being delivered still had the default settings, surely that is the file that is being used…Well maybe it was in previous versions but it is not being used in 11.1.2.1

I should have just left it there but it would play on my mind if I didn’t find the right file.

After searching some more I found another easconsole.jnlp


This file was hidden away within a java archive file webstart_server.jar within the EAS console web application.

I updated the file to increase the max to 1024MB, cleared the EAS web app tmp directory and browser cache then started the web app up again.


Success, this time the file I updated was the one being used by the web application.

It worth mentioning that hacking the files in a web app does work but if you patch EAS server it could wipe out any configuration settings and they would need to be applied again.

Now I am sure there is an easier solution and in the end the option taken was to use the standard EAS console with the simple method to increase JVM.

I will probably never have to do that again but at least I have written it down in case. :)

Financial Reporting Studio firewall fun

$
0
0
Another quick blog from me, I was recently working on an 11.1.2.2 windows environment build with a customer who had a strict policy to enable the windows firewall between servers and the users accessing the system, I have never really had much dealings with firewalls as I have been lucky enough to work with internal networks which have been firewall free.

I had no issues with the server to server communication and the users were mainly accessing the system through the web using OHS on port 19000 and the Excel addin (it still lives on), these also proved to be no problem on the firewall front.

There were a number of power users who were also report building with the Financial Reporting Studio, now Financial Reporting has never been a friend of mine and it is has been designed to give me grief.

If you have ever configured a firewall for Financial Reporting Studio then this will probably be no interest for you and you can have a nice cup of tea and devote your time to a different blog :)

I stupidly though that by now in the 11.1.2.2 world that the FR studio will just go through the http server port 19000 and all will be good but no it still seems it living with its looks in prehistoric times.

Anyway, port 19000 was already opened to allow inbound traffic to the web server.


Ok, time to log into the Financial Reporting Studio on a client machine.


Now if you have never seen the above message before you have never used FR Studio, it basically means some sort of problem exists and you are going to have to spend time trying to work it out what because there seems to have been no investment in all these years FR studio has existed in error trapping and messaging.

I have lost count of the amount of times I have seen this message be posted on forums and if you search for the message in Oracle Support you will be inundated with articles.

A quick look at the “Oracle Enterprise Performance Management System Communication Flows” spreadsheet reveals the following:


So the Studio does not just communicate directly with the HTTP server and also requires the RMI default ports of 8205-8209 opening.


The RMI ports are added to the firewall rules so time to try again.


The login was successful so case closed; come on this is FR studio we are talking about life is not so simple…
Opening a report produced:


The communication flow document did not highlight any additional ports for the Studio use but obviously it does use some.

A Wireshark trace highlighted:


 The FR Studio was communicating on a dynamic port.


I referred to the ports section of “Oracle Enterprise Performance Management System Installation Start Here” and it contained more information than the flows spreadsheet by specifying that FR also uses an ADM server with dynamic ports which can be configured in a propertiesd file.

I always incorrectly thought the ADM communication was internal but apparently not though why does it need to be dynamic?
 

Just when you think that most of the properties have been moved to the Shared Services registry you find out there are more file based ones out there.

As you can see there is commented out parameter ADM_RMI_SERVER which must mean that it takes the default value or 0 and a dynamic port range.


I set the port to a value close to the other RMI service port range and restarted the Financial Reporting web app.


 The new port was added to the inbound firewall rules.

 

Opening financial Reports was successful and there were no other notable problems, now I know there is an article in Oracle Support on a similar topic but personally I find that trying to solve the issue first proves to be much more satisfying than being handed something on a plate.

One more thing if you do see the following error popup when you log into Financial Reporting Studio:


It might be down to the version of the Studio, in my case I was running 11.1.2.2 Studio and Financial Reporting had been patched to 11.1.2.300 so it is always good to make sure the versions are exactly in sync, this can simply be achieved by downloading Studio from Workspace.

Problems starting the OPMN Essbase windows service after changing the Log On account

$
0
0
Back with another quick blog that was inspired from a post on the OTN forum, the poster raised an issue when changing the account to manage the OPMN windows service.

The issue relates to starting the Essbase OPMN service but I believe it is valid for any of the 11.1.2.x EPM OPMN services.

After the initial configuration of Essbase an OPMN windows service will be created and set to be controlled by the Local System account.


Say you change the Log On account for the service to different account to the one that configured Essbase,  the issue will not occur if it is the user that configured Essbase which I will explain why shortly.


Attempting to start the service should now fail with the standard timeout message.


The first place to look if any OPMN type issues occur for Essbase is logs located at
<MIDDLEWARE_HOME>\user_projects\<instancename>\diagnostics\logs\OPMN\opmn

As the OPMN process did not start then the log to check first is opmn.log and it should reveal the following information:

[opmn] [ERROR:1] [] [ons-secure] Failed to open wallet (file:E:\Oracle\Middleware\user_projects\essbase\config\OPMN\opmn\wallet) [default password] (28759)

When OPMN starts it attempts to access the Oracle wallet file cwallet.sso in the above location and fails, so why does it fail well if you check the security properties of the file you will see.
 

The only accounts that have access to the file are the SYSTEM user and the user that originally configured Essbase which in my case is FUSION so the user that I configured to start the OPMN service will not have access to the file which ends up causing the failure.
 

The simple solution is to add the account with read permissions to the wallet file.

[opmn] [NOTIFICATION:1] [90] [ons-internal] ONS server initiated
[opmn] [TRACE:1] [522] [pm-internal] PM state directory exists: E:\Oracle\Middleware\user_projects\epmsystem1\config\OPMN\opmn\states
[opmn] [NOTIFICATION:1] [675] [pm-internal] OPMN server ready. Request handling enabled
[opmn] [NOTIFICATION:1] [667] [pm-requests] Request 2 Started. Command: /start
[opmn] [NOTIFICATION:1] [662] [pm-process] Starting Process: Essbase1~EssbaseAgent~AGENT~1 (528287129:0)
[opmn] [NOTIFICATION:1] [665] [pm-process] Process Alive: Essbase1~EssbaseAgent~AGENT~1 (528287129:2768)
[opmn] [NOTIFICATION:1] [668] [pm-requests] Request 2 Completed. Command: /start

The OPMN service should now start without any problems.

11.1.2.2 Online help or not

$
0
0
This is one of those blogs that has been in the back of my mind for ages and I have never been sure whether to write up, maybe because it is about online help and that is enough to send anybody to sleep.

From 11.1.2.2 the way help is delivered has changed and to be honest I know it is all over the documentation but I think through my own ignorance I pretty much ignored the following statement.

“Online Help content for EPM System products is served from a central Oracle download location, which reduces the download and installation time for EPM System. You can also install and configure online Help to run locally.”

I hardly use the help that is accessed through the various products and I tend to go directly to the EPM documentation library which has everything all under one roof.

In my experience the majority of deployments have used OHS as the web server so there are no problems in using the online though if you are unlucky enough to use IIS then the following information is important:

“Online Help served from the central Oracle download location not supported if you are using IIS as your Web server.”

Another reason for installing the help locally might be external internet access is restricted or you might find it useful to have it to hand on say a personal or training VM image, you could even install the help locally and leave it dormant so if it is required at some point it can be enabled.

Before installing the help locally let us just have a quick look at how the online help functions using OHS, if we take EAS for example:


Selecting “Online Help” opens a browser window and redirects to the Oracle documentation web site.

The redirection to the Oracle web site is controlled by including the mod_rewrite module in OHS and using the RewriteRule directive.

If you take a look in
<MIDDLEWARE_HOME>\user_projects\<instancename>\ohs\config\OHS\ohs_component you will see the OHS (apache) configuration file httpd.conf


If you open the configuration file there will be a line that has the following Include directive.


The include directive basically means that the contents of the epm_online_help.conf file are also read in when the main OHS configuration file is accessed.


The epm_online_help.conf file contains all the rules for the online help and uses the RewriteRule directive to redirect the requested help URLs to the corresponding location on the Oracle documentation site.

The EAS rule has the syntax to match all requests from /epmstatic/eas/docs/ and apply a permanent redirect (R=301) to the oracle URL, the L parameter means that it is the last rule so need to carry on trying to match.

When you click “Online Help” in the EAS console the originating URL is
http://<webserver>:<port>/epmstatic/eas/docs/en/eas/help/welcome.html

which is matched by the rule and creates a new URL on the fly:

http://www.oracle.com/pls/topic/lookup?ctx=epm921&id=/eas/docs/ + en/eas/help/welcome.html

So the redirect URL becomes
http://www.oracle.com/pls/topic/lookup?ctx=epm921&id=/eas/docs/en/eas/help/welcome.html


You will notice that is not the final URL as it is then redirected again internally on the Oracle site to the correct documentation location.

Another example of this functionality in action is the Reporting and Analysis help accessed within Workspace.


The rule defined in the configuration file is:

RewriteRule ^/epmstatic/reporting_analysis/docs/(.*) http://www.oracle.com/pls/topic/lookup?ctx=epm921&id=/reporting_analysis/docs/$1 [R=301,L]

If you run a fiddler session while accessing the help you will be able view the redirection happening.


The original request is made against
http://<httpserver>:19000/epmstatic/reporting_analysis/docs/en/raf/webuser/launch.html

which is matched by the rewrite rule and the engine creates a new URL based on the logic
http://www.oracle.com/pls/topic/lookup?ctx=epm921&id=/reporting_analysis/docs/ + en/raf/webuser/launch.html

so the redirect URL becomes
http://www.oracle.com/pls/topic/lookup?ctx=epm921&id=/reporting_analysis/docs/en/raf/webuser/launch.html


This is then redirected by Oracle to the relevant location on the documentation site.

Anyway say you don’t want to use the online help and need to install and configure the help to run locally, well you would think there might be an option in the installer and the files would be available with the rest of the EPM files in the Oracle Software Delivery Cloud but no the help can be downloaded as a zip file from http://download.oracle.com/docs/cds/epm11122.zip , I am not sure if this file is kept up to date with any changes to help documentation.

Going back to the statement in the documentation ““reduces the download and installation time for EPM System”, it took me only a few minutes to download and extract the 540MB zip file so I am wouldn’t really say it reduced the time by a noticeable amount but I understand this can depend on network connection.

To install if very simple first open the zip file


Extract the epmstatic folder to <MIDDLEWARE_HOME>\EPMSystem11R1\common on the HTTP server to merge the help documentation into the existing epmstatic directory.

Now the documentation is in place the online help will need to be disabled and this can be achieved by editing the OHS configuration file httpd.conf in
<MIDDLEWARE_HOME>\user_projects\<instancename>\ohs\config\OHS\ohs_component


Comment out the line which has the include directive to the EPM online help configuration file and then restart the services.


Accessing the help documentation should now be via the files stored on the HTTP server.

Planning 11.1.2.2.300+ change homepage default view

$
0
0
There is a new property available from 11.1.2.2.300 to change the default homepage view when you first log into Planning.

The default for a user is the Task List view:


The default view can be changed at application level from Task List to be either Forms or Approvals.


To change the view go to Administration > Application > Properties


Add a new property name called HOME_PAGE and to set the default view to forms add a property value of “Forms

Restart the planning web application server.


If a user then logs in it should display the default view of Forms.


If you want to change the default view to “Approvals” then just add that as the property value and restart.

The application default view should then be Approvals and if you want to set it back to Task List then delete the property or update the value to “Task List” and restart.

Planning 11.1.2.2 - Changing grid fetch size

$
0
0
From 11.1.2.2.303 there is yet another planning property available called GRID_PARTIAL_FETCH_SIZE which provides the ability to set the size of the data grid at that is returned to client when a form is opened, this property has been added because there are possible performance issues when scrolling past the default size.

Please note this property is only aimed at ADF enabled applications and is set at application and not form level.

By default when a form is opened it will send 25 rows and 17 columns of data, if you then scroll past that size a message will be displayed saying “Fetching Data” and planning will send the next 25 rows and 17 columns to the client.


This loading of the next set of data can be potentially be slow which is no go for users wanting access to the data quickly.

When a form is opened the full dataset is retrieved from the Essbase database,  if you look at the log you will see only one reference to a retrieve and no subsequent retrieves after scrolling past the grid size which means the data must be cached and pushed to the client as required.

[Sun Apr 14 18:49:07 2013]Local/PLANSAMP/Consol/EPMADMIN@FUSION/3448/Info(1020082)
Spreadsheet Extractor Elapsed Time : [0] seconds


To change the default grid size the property GRID_PARTIAL_FETCH_SIZE can be added and the value is based on “row size, column size” so 50, 30 would mean 50 rows and 30 columns are sent to the data grid.


Remember to restart the application server after making any property changes.

So you are probably asking what the magical setting is, well like many properties there is not one that will suit everyone and it is a trade-off between client processing times and fetching data delays.

If you take a large form and set the grid size based on that (you can find the size from running Tools > Diagnostics > Grids) then test the performance at the client side to see if it is acceptable, if is not acceptable keep reducing the grid size until a happy medium is reached. It is also worth mentioning again that this set at application level which means it will affect all forms and all users so be certain before implementing.

EPM Workspace integration with OBIEE

$
0
0
The recent release of OBIEE 11.1.1.7 finally added in the ability to provide single sign-on integration between EPM Workspace and OBIEE, yes the functionality has been available for a while if integrating Workspace with 10.1.3.4.2+ though this was a complete hack and required installing Shared Services 11.1.1.4 plus the biggest drawback was that it was not available for OBIEE 11g.

Now I know there is also the option of installing a cut down version of Workspace when selecting the Essbase option with the OBIEE 11.1.1.7 installer but this is not EPM as you know it and from initial testing it is far from the finished product, interesting to see the EPM products operating in fusion mode and not Shared Services security mode but not pleasant if you are used to provisioning in Shared Services, definitely one to watch for the future though.

Anyway today I am going to go through the process of setting up the SSO integration between Workspace 11.1.2.2 and OBIEE 11.1.1.7, it is possible to integrate with previous versions of workspace with the process being the same for 11.1.2.1 and only slightly different for versions prior to that, though I don't it has been really tested on those versions.

If you are expecting to run an installer then sit back and relax you will be disappointed as the process is manual and is still a bit of a hack but at least you can keep with the same version of Shared Services, the process does involve updates to the Shared Services registry and anybody that has experience with the registry will probably be well aware that bad things can happen if incorrect entries exist.

There are a few prerequisites that need to be met before carrying out the integration.
  • Supported versions of OBIEE and EPM Workspace are up and running, so this means OBIEE 11.1.1.7+ and I am going to say Workspace 11.1.2.1+ as it is time to upgrade if you are running earlier versions and are considering integrating.
  • OBIEE and EPM including the registry relational database can be accessed from each instance.
  •  
  • OBIEE and EPM are configured to use the use the same identify store such as Microsoft active directory which I will be using in my example, native security is not really a viable option.
The first step is allow OBIEE to accept the EPM SSO token when integrating with Workspace which basically means that both the EPM registry and the OBIEE version of the registry need to keep a shared encryption key.

To do this there is a utility available on the OBIEE instance in <BI_ORACLE_HOME>\common\CSS\11.1.2.0


The utility is contained in the file regSyncUtil_OBIEE_TO_EPM.zip which should be extracted to the same location.


In order for the utility to be able to extract the required information from the EPM registry it needs the database connection details and it does this by using the reg.properties file from the EPM instance.


reg.properties should be copied to the src folder of the Registry Sync utility.

Before the utility can be run a couple of variables will require updating.


ORACLE_HOME and ORACLE_INSTANCE should be updated to match the paths for the OBIEE instance.

Now the utility can be run.


If a report is run on the OBIEE version of the EPM registry before and after running the utility you will see the CSSHandlerKey2 property value is updated.


Basically the utility reads CSSHandlerKey2 from the EPM HSS registry and then writes a new encrypted key based on the EPM value to the OBIEE EPM registry so now there is a common link between them when handling SSO tokens.

An additional step is also required for the functionality to work and that is to remove the applicationID property from the OBIEE EPM registry


This can be achieved by running the epmsys_registry utility which if you have worked in the EPM infrastructure world you will know well.

The following command line should be run:

<BI_ORACLE_INSTANCE>\config\foundation\11.1.2.0\epmsys_registry removeproperty  SHARED_SERVICES_PRODUCT/@applicationId


Running a registry report again confirms the property has successfully been removed.

Next step is to make sure the interop-sdk.jar file is the same version between the EPM and OBIEE environments.

The file should be copied from<MIDDLEWARE_HOME>\EPMSystem11R1\common\SharedServices\11.1.2.0\lib to <ORACLE_BI1>\common\SharedServices\11.1.2.0\lib

So you are thinking that is it then, don’t be silly life would be boring if it was.

The EPM registry has not yet been configured with any OBIEE information such as registering it with workspace.

It would be nice if you could run the EPM system configurator and select “Setup connection to Oracle BI and Publisher”


Go on give it a try and see :)

This option should only be used when integrating using the old method to OBIEE 10g though I am sure it will be updated in future releases.

The way to correctly register at the moment is to the HSSregistration utility located on the OBIEE instance.


Before running the utility the following variables will need to be set within the file: ORACLE_BI_HOME, ORACLE_HOME, JAVA_HOME

Also a file called registration.properties in the config directory requires updating with configuration information.


I don’t feel the properties really need any explanation except HIT (Hyperion Installation Technology) is the JDBC information for the EPM registry which can be found in reg.properties.

The HSSRegistration utility takes the following arguments:
  • register — Registers Oracle Business Intelligence with both the Hyperion Installation and Hyperion Shared Services.

  • view — Lists the Oracle Business Intelligence registration information from both the Hyperion Installation and Hyperion Shared Services.
  •  
  • clean — Removes Oracle Business Intelligence registration information from both the Hyperion Installation and Hyperion Shared Services.


Running the utility with the view argument confirms that no OBIEE information has been registered with EPM Shared Services yet.


Running the utility with the register argument adds the OBIEE configuration information to the EPM registry.


Firing off another registry report confirms the OBIEE information has been added.


After restarting Foundation Services and logging into Shared Services new OBIEE provisioning roles are now available.

The next step is to run the EPM configurator and configure the web server again as the proxy information for OBIEE needs to be added.


Once completed you should be able to open up the http server configuration file and view the added proxy information, the configurator does not add proxy configuration for the BI office client, download link and composer so if these are required they will need to be manually added.

That completes the configuration on the EPM side and now for the SSO authentication configuration,


Within the fusion middleware control SSO should be enabled and the SSO provider set to custom, selecting custom stops the authentication section in the instance configuration xml file from being overwritten which is important as the Hyperion authentication information is now going to be manually added.


The instanceconfig,xml file is edited and “HyperionCSS” added to the <EnabledSchemas> setting.


Finally <MIDDLEWARE_HOME>\user_projects\domains\domain_name\config\fmwconfig\biinstances\coreapplication\bridgeconfig.properties requires editing to enable Hyperion authentication

The following properties should be added to the file:

oracle.bi.presentation.hyperioncssauthenticatorfilter.Enabled=true
oracle.bi.presentation.hyperioncssauthenticatorfilter.SetAuthSchema=true



Now the system can be restarted and tested.


Once a user had been provisioned with the roles in Shared Services then the OBIEE menu options should be available in workspace.


Selecting one of the menu options should then provide seamless integration with no additional login required and from then OBIEE security will take over.

EPM 11.1.2.3 available

$
0
0
Just a quick update from me, EPM 11.1.2.3 is now available on Oracle Software Delivery Cloud.



Some of the key points from an infrastructure perspective are:
  • You can use Oracle Hyperion Enterprise Performance Management System Configurator to remove an EPM Oracle instance, for example, if you want to scale down a deployment by removing an instance or you want to remove an incorrectly configured instance.

  • If you are installing and configuring Oracle Hyperion Financial Data Quality Management Enterprise Edition, Oracle Data Integrator is automatically installed and configured for you. The database for Oracle Data Integrator will be in same database as FDMEE, and the Oracle Data Integrator agent application will be deployed in same JVM as FDMEE.

  • The rapid deployment process now uses a simple wizard to install and configure EPM System components and Oracle database.

  • Standard Deployment now includes Oracle Essbase Studio, Oracle Hyperion Profitability and Cost Management, FDMEE, and Oracle Hyperion Strategic Finance.

  • You can configure Oracle HTTP Server to a shared drive location to simplify configuration in a distributed environment.

  • Microsoft Windows Installer (MSI) Client Installers are now provided for Oracle Hyperion EPM Architect, Strategic Finance, Oracle Hyperion Interactive Reporting, and Oracle Hyperion SQR Production Reporting.

  • The Windows Start Menu and the Services Control Panel now reflect separate product instances.

  • EPM System products support vertical scaling for Oracle Essbase Server, UNIX-based components, and Windows-based Java web applications (except for all Oracle Hyperion Financial Management components, all Strategic Finance components, all Oracle Hyperion Financial Data Quality Management components, Performance Management Architect Dimension Server, and Essbase Integration Server).

  • A new Log Analysis tool is a command line utility that helps you quickly identify the cause of issues by analyzing the applicable log files. Because this tool automates log file analysis,you do not need to locate and scan through product log files to identify system issues.

  • Oracle Hyperion Financial Close Management now supports SOA clusters.

  • Oracle Hyperion Enterprise Performance Management Workspace now integrates with Oracle Business Intelligence Enterprise Edition 11.1.1.7.

  • You can access the database repository using an LDAP-based URL.

  • Port Manager, a feature of EPM System Configurator, manages port uniqueness by using Oracle Hyperion Shared Services Registry to check if a port is in use. Port Manager auto increments ports so that ports not already in use are always shown.

  • Release 11.1.2.3 supports applying the maintenance release for WebSphere configuration from prior 11.1.2.x releases.
More information to follow soon.

EPM 11.1.2.3 Installation and configuration changes

$
0
0
For the last five years I have written a blog about the installation of each release of EPM 11 and this year there is going to be no exception as 11.1.2.3 has just been released.

This release brings a large number of bug fixes, new product features and changes to installation and configuration which I will be covering today.

This blog is only going to be highlighting where there are changes from the previous 11.1.2.2 release and not a detailed installation guide as there are a number of documents now available that help cover that area.

I apologise if the blog contains any inaccuracies as a lot of it is new and I may have misunderstood a few details.

I highlighted the key new installation/configuration features in my last blog.

 Supported upgrade paths:


The key change being there is no direct upgrade patch from 11.1.1.3 anymore.

There are also a number of new features to Shard Services/LCM which are also worth mentioning:
  • Log Analysis Utility is available to troubleshoot EPM System issues.

  • Shared Services Console integration with Workspace. You access Shared Services Console using a menu option in EPM Workspace.
LCM
  • Move application artifacts from one environment to another by downloading the artifacts from the File System node in Shared Services Console. Downloaded artifacts are saved in a ZIP file, which can be uploaded to another environment.

  • After applying a patch to Release 11.1.1.4, import data sets into Release 11.1.2.3.

  • LCM now supports Oracle Essbase Studio.

  • An Artifact Change Report that identifies changes made to artifacts in EPM System. This report can be generated from the Lifecycle Management user interface and by using the command-line utility.

  • New command-line utilities to help clone the applications supported by LCM from one environment to another.
Having a quick scan and it was quick at the support matrix it doesn’t look like there have been that many noticeable changes, no mention of windows 8 as a supported client OS or windows 2012 as server OS, no office 2013, IE 9.x the latest, no Chrome, Firefox 17.x, EAS console supports JRE 1.7.0_07+ 

The installation files are available as usual from Oracle Software Delivery Cloud.


The format for the installation files is exactly the same in 11.1.2.2

Microsoft Windows Installer (MSI) Client Installers are now provided for EPMA, Strategic Finance, Interactive Reporting, and SQR Production Reporting.


Once all the installation files have been download and extracted to the same base location the EPM Installer can be started up as usual by running installTool.cmd/sh as an administrator


There are no noticeable changes with the prerequisite checks.


In the list of top level product components ERPi has now been rebranded to FDM Enterprise Edition.

Any J2EE web applications are now named “<product component> Java Web Application” instead of “<product component> Web Application”.


If you expand Foundation Services you will notice that Oracle 32 and 64 bit clients can be installed which is definitely a bonus.


As there is now a client installer available for EPMA the batch client and file generator options have been removed.


For the Essbase and PCM product components there is now the option to install the samples separately.


If you choose to install FDMEE you will see that ODI is automatically installed.


All the product components installed successfully.

After installation if you take a look at the Middleware home directory:


The Oracle database clients are installed under the home directory

Java 7 has not made it to this release and the versions deployed are still 6.

ODI components are installed under the home directory.



The Oracle clients are available from the start Menu.

So which version of the client has been installed?


If you start up sqlplus then it confirms it is 11.2.0.3

On to the EPM configurator.


Only change in this version is the message about the instance homes.

Now as this is not a configuration guide I will just highlight the differences that I have initially spotted with the options available.


EPMA Dimension Server configuration has now been separated.


This allows you to define the ports to use instead of having to update properties.


Ability to configure Planning RMI separately and specify the port


FDMEE has an option to register the HFM adaptor and if the adaptor is being registered the Financial Management “Configure DCOM” task must also be run.

The database for Oracle Data Integrator is in same database as FDMEE and the Oracle Data Integrator agent application is deployed in same JVM as FDMEE.


If you select to configure Framework Services you can now also define the ports for the agent.


Personally I think the best new option in the configurator is the ability to configure all databases at once without having to put them in the same schema/database.


The deploy to a single managed server is still enabled by default which I am not a fan of.
Even though ERPi has now become FDMEE the managed server is still called Erpintegrator.

Anyway I had no problems with configuration and everything completely successfully which is nice.

If deploying on Windows you will notice a change in the start menu.


The Windows Start Menu and the Services Control Panel now reflect separate product instances.


The Windows service display names may have all changed to “Oracle Hyperion…” though the service names and executables still contain HyS9


The only change to the service name from previous versions is that it is suffixed with “_<instance_name>”

If you run the EPM deployment report there have been some updates to it.

To generate a report open a command line window and navigate to
<MIDDLEWARE_HOME>/user_projects/<instancename>/bin

Run the command epmsys_registry report deployment


In the application tier section there is additional information available compared to the previous version.

  
  • The database connection section now includes the size of the data.
  • The data/instance directories section includes the size.

  • The middleware home location is listed for each instance.

As hightlighted in the key new feature there is an update to accessing Shared Services through Workspace.



At last it opens in its own tab instead of that annoying pop-up window.

The option for ERPi has been removed and instead of an FDMEE option there is “Data Management”


Within Data Management the ODI agent and Repository information are automatically configured, there is a “Check ODI connection” button that tests the agent is running which is a nice feature.


If you take a look in the WebLogic admin console and the FDMEE managed server you will see that the ODI console and agent have been deployed as part of it.

The ODI studio is not automatically deployed so that requires to be installed separately.


If the Studio is installed then it can be configured to point to the FDM database which contains all the ODI tables, the agent will have been automatically configured by the EPM configurator.

Alternatively the automatically deployed ODI console can be used.


Well I think that about covers all I want to today and once I have had a chance to look at some of the other new features in more detail I will return.

Planning 11.1.2.3 – Smart View metadata management

$
0
0
One of the new features in planning 11.1.2.3 is the ability to manage dimensional metadata through Smart View which I am sure many are keen to find out more about so here is my take on the new functionality.

The key highlights are:
  • Import existing, add, and edit dimensions and members.
  • Move members within a hierarchy.
  • Designate members as shared.
  • Create and refresh cubes.
I have not found any mention of deleting members so I am not sure if that functionality exists or it is going to be one for the future.

As this is the first release of being able to manage metadata using Smart View don’t expect it to be perfect yet, I have already noticed a few issues and there are currently a number of inaccuracies in the documentation which I am sure will get resolved in later releases.

Before jumping straight into Smart View and trying out the functionality a Smart View planning extension is required to be installed.


The extension can be downloaded from the Tools menu in workspace and luckily it is one of the install links that actually works at the moment.

This will download a file called “PlanningSVExtension.msi” which is 1.4mb in size and can be easily installed by running the msi.


 I am not going to go through the installation as it as simple as selecting the installation directory and clicking next through the various screens.


Once installed if the Extensions tab is accessed through the Smart View options you will see a Hyperion Planning Admin extension has been installed and enabled.

To get running with the Planning Administration connect to planning using a Shared or Private connection in Smart View.


If a planning application is expanded then there will be a dimension folder which can be expanded to reveal all the dimensions (ok Period is not available).


After selecting Edit dimension an ad hoc grid will be retrieved at the root dimension level with the following functions available in the ribbon.


So now you can zoom in and out and select the members you interested in updating.

Here is an example of a quick retrieve including all the columns available:


In my sample application I have added an ASO database which the metadata can also be maintained.

There are a number of set guidelines when using the Smart View Grid.
  • The following functionality is not available in Smart View grids with Planning metadata:
    • Pivot
    • Pivot to POV
    • Cell Text
    • Cell Notes
    • Supporting Details
  • Data cell values can be textual or enumeration or numerical.
  • The Parent Member is used to specify or modify the parent/child relationship.
  • The position of a member in a grid does not necessarily represent the actual position of siblings in the outline.
  • Each metadata grid must be linked to a corresponding Planning dimension.
  • Columns for each Planning dimension are based on the corresponding set of member properties available in the Planning dimension editor.
  • Once a metadata grid is opened, it cannot be re-linked with a different dimension.
  • The corresponding valid set of metadata members is specific to each dimension.
  • Planning dimension members are valid for corresponding dimensions only.

To change a member property it is as simple as highlighting the property


After selecting a member property a drop-down menu will be presented with the available values for that property, so let’s change the data storage property from “Store” to “Dynamic Calc”


To update the member in planning then all that is required is to “Submit Data”.


A quick look in planning and the member has been updated.

The update does not have to be on a single member and multiple members can be updated in Smart View before submitting back to planning.


Validation of member properties which you would expect is included.


Moving a member

Once again the process is extremely simple.


 Select the “Parent Member” column for the member you want to move to a new parent.


Enter the new parent member name and submit.


Back in planning the member has been moved to a new parent, once again you are not confined to moving a single member and it is possible to change move multiple members at once.

Adding members

There are two different modes for adding new members in the Smart View grid:
  • Dimension Editor Mode
  • Submit without Refresh Mode
The Dimension Editor Mode (this is the default method) requires a Refresh is performed each time new members are added to a dimension but this method offers faster performance than the Submit without Refresh mode.

If the Dimension Editor Mode is used, new members are marked with an asterisk (*) in the grid after you perform the Refresh. The Submit without Refresh Mode does not require a Refresh but is generally slower in performance and does not mark new members.

The process to add a member using the “Dimenion Editor Mode” method is:


Enter only new member name in the first column (it is possible to enter multiple new member names on separate rows).

Press Refresh.

The new member will be marked with an asterisk and the default properties displayed, please note the member does not exist in planning at this point.


Update the parent member and any required properties then once complete submit back to planning.


The new member should have then been created in planning with the information from the Smart View Grid.

It is possible to change the sign from the default (*) when adding a member, this can be achieved by adding a new property in the planning application.


The documentation says to use “SMART_VIEW_MD_NEW_MEMBER_SUFFIX” which does not seem to work so after a bit of research I came up with adding “SMART_VIEW_DIMENSION_EDITOR_NEW_MEMBER_SUFFIX


After adding the property the new suffix will appear when adding a new member.

The alternative method for adding members is “Submit without Refresh Mode” which can be set by adding a property in the planning application.


The documentation at present states to use “SMART_VIEW_MD_PARITY_MODE” which does not work for me so I came up with “SMART_VIEW_DIMENSION_EDITOR_PARITY_MODE” set to true.


 With this method you can enter all the member information in one go.


Submit back to planning.
 

The new member(s) should have been pushed to planning.

Shared Members

It is also possible to easily designate a new shared member for a base member.


Select the “Parent Member” for the base member you want set as a shared Member


Update the Parent Member column with the parent member you wish the shared member to be created, set the Data Storage property to “Shared” then “Submit Data

The "Submit Data" operation will refresh the base member with its original "Parent Member" and "Data Storage" properties.


 A quick retrieve shows that member has now been shared under the designated parent.

Refresh/Create database

Another nice feature is the ability to perform a planning refresh/create from Smart View.


Right click the Dimension folder and select refresh or create.

 

The same options will be available as if it was being performed in planning.


I believe the functionality for managing the metadata is for classic applications only but Smart View does not seem to stop you from trying it on an EPMA application.


There is no warning when editing an EPMA dimension and updated a member property from “Dynamic Calc” to “Store”.


Within planning the member property had changed.


As expected in EPMA the property had no changed but surely something is not right.

Well I think I will leave it there for today and I hope you have found this useful, back soon.

EPM 11.1.2.3 – Vertically Scaling Java Web Applications

$
0
0
One of interesting new features for EPM configuration in 11.1.2.3 is the ability to vertically scale based Java web applications through the configurator, yes it was possible to vertically scale in previous versions though I am not sure how supported the process was unless you were in the exalytics world and it certainly was not as slick as it is now.

At present the following EPM components do not support vertical scaling:
  • All Financial Management components
  • EPM Architect Dimension Server
  • All Strategic Finance components
  • All FDM components
  • Essbase Integration Services components
So what is vertically scaling web applications? Well in the EPM context it basically means the process of adding additional instances of already deployed J2EE web applications on the same server they were deployed on.

We are now in an age of not being confined to the dark days of 32bit limits with much more horsepower and memory starting to become the norm on single server 64bit machines so it can make sense to vertically scale the web applications.

With vertical scaling, the servers processing power, CPU usage, and JVM heap sizes  are the main factors in deciding how many server instances should be run on one machine.

So as an example you have a machine with a planning web application deployment which is notorious for being resource hungry but you are still finding that the machine is being underutilized, the JVM has been tuned and there is a large percentage of memory available and the CPU usage is nothing to write home about so maybe this is a good candidate for vertically scaling.

Another consideration is the possibility of some form of high availability, if you have multiple instances of the same web application not only can you load balance to share the load but you are still operational if one of the web application crashes, ok if the machine goes kaboom then you in trouble but there is nothing stopping you horizontally scaling as well.

There is a great piece of research done on “One JVM (64bit) vs Two JVMs(64bit) on a 64bit OS”  from the Oracle product assurance engineering team which is available in a EPM Infrastructure performance tuning guide white paper, the test concludes that there was  a 20% performance improvement when using multiple JVM instances. The improvement came from the reduction in the time spent in Garbage Collection and a significant reduction in lock contention and more efficient use of the CPU shared cache and memory.

Anyway let’s have a look at vertically scaling a java web application, in my example I will be scaling planning on a windows machine but the process is the same for different java web applications and *nix based systems.

Planning has already been deployed to the default port of 8300.


The EPM instance the web application has been deployed against is named epmsystem1.



In 11.1.2.3 the instance name are included in the display and service name of the service which plays a part in vertically scaling as the service name will be unique which was not possible in previous versions.

If you take a look at the servers in the WebLogic admin console there is a single managed server “Planning0” which is part of cluster “Planning”


To begin the vertically scaling process first start up the EPM configurator.


A new EPM instance is required to be created.


Only “Deploy to Application Server” is required for the product component as the other options have already been configured with the first deployment.


The Port and the Managed Server Name have incremented by one so now will be deployed as Planning1 on port 8301.

The port increase is another new feature in 11.1.2.3

“Port Manager, a feature of EPM System Configurator, manages port uniqueness by using Oracle Hyperion Shared Services Registry to check if a port is in use. Port Manager auto-increments ports so that ports not already in use are always shown.”

Once the web application has been successfully deployed then if you take a look at the window services there will be a new service for the vertically scaled web application.


A new instance will be created in the file system which means there will be a duplication of many of the files already created in the original instance.


It is also means that you will need to manage the logs under diagnostics in multiple places but there is no need to worry anymore because you have the new log analysis tool :)


Within the file system for the Weblogic EPMSystem domain there will be an additional executable which runs as the java web app process.


If you take a look in the WebLogic admin console the newly created managed server will be available and added to the existing cluster.

The web application has now been vertically scaled but at the moment the http web server is not aware of the additional server in the WebLogic cluster.

In the OHS mod_wl_ohs  (the module which handles requests to be proxied from Oracle HTTP Server to Oracle WebLogic Server) configuration file there is still only the original server on port 8300.


The “WeblogicCluster” (click to the link to find more information) parameter is required to proxy a list of back-end servers that are clustered, or to perform load balancing among non-clustered managed server instances.

To allow the second instance on port 8301 to be configured with the http server the simple to solution is to run the EPM configurator again and choose to configure the foundation web server.


After configuring the file should now contain the server with the additional port.

To confirm everything has been configured correctly a new EPM deployment report can be fired up.


Once the web applications have been started there will be the two managed server processes running and both should be accessible through the test URL.



So there we have it, vertically scaling is definitely an option worth considering.

11.1.2.3 – Remove EPM instance

$
0
0
Another new feature to hit the infrastructure side of 11.1.2.3 is the ability to remove EPM instances and the components deployed into that instance, this could be useful if you want to scale down a deployment and say consolidate components onto an existing machine or move an instance to a new machine, it could even be that you messed up and want to remove an incorrectly configured instance.
The following tasks will be performed during the instance removal for the components in this instance:

Removes the Java web applications from the cluster. If it is the last Java web application in the cluster, removes the cluster.
  • Removes the configuration for IIS web applications.
  • Removes files from EPM_ORACLE_INSTANCE
  • Removes Oracle Hyperion Shared Services Registry entries.
  • Removes Windows Start Menu entries.
  • Removes Windows Services entries.
  • Removes Windows Registry entries.
  • For Oracle Hyperion Financial Close Management, removes composites.

The following information is retained during instance removal for the components in the instance:
  • Binary files in EPM_ORACLE_HOME.
  • The contents of EPM_ORACLE_INSTANCE/diagnostics.
  • Product data.
  • Product repositories.
I know in previous versions removing Java web deployments and cleaning up the registry was certainly not fun and of course manual, though saying that this feature is currently only aimed at instance level so if you have multiple components deployed in a instance they will all be removed, hopefully in future releases this will developed to focus down to individual product component levels.

To perform a simple test of the functionality I am first going to horizontally scale out the foundation web application to a new instance.


The EPM installation was carried out on the second machine and a new EPM instance named epmscaleout was created.


 The foundation java web application was deployed to the existing EPMSystem WebLogic domain.


As this is a second deployment on Foundation the managed server in the cluster is incremented by one.

In this deployment I have configured OHS to a shared drive location, this means there is no need to run the configure web server as the configuration is automatically added.


A quick check of OHS WebLogic proxy configuration file confirms this so all that is required is to restart OHS and refresh Workspace

Within the WebLogic admin console the new managed server which has been deployed to the existing “FoundationServices” cluster can be viewed.


I ran a registry report to display the components that have been deployed and added to the Shared Service registry which I will compare against when the instance has been removed.


The main entries that were added to the registry are:

HOST : EPMSCALEOUT
Instance: epmscaleout
Shared Services / Workspace Web Applications
Instance Tasks configuration for Shared Services/Workspace


A deployment report was also run so this could be compared a report run after the instance being removed.


The main entries displayed in the report in relation to the scaled out Web application deployments:

WebLogic entries for Shared Services/Workspace on the EPMSCALEOUT machine.
Fusion Middleware home and location for the epmscaleout instance
Instance home directory information for epmscaleout


All the information has now been gathered so it is time to remove the instance on the machine the instance is hosted.


If you are running windows then the instance can be removed from a start menu option.

Alternatively it can be run from command line by changing to EPM_ORACLE_INSTANCE/bin and executing:

configtool.bat/sh – remove

If you are removing an instance on a machine hosting the WebLogic admin server then the managed server should be stopped before running the configurator, if like I am removing an instance on a machine which is not hosting the admin server then the admin server should be up and running.

As a test I am not going to start up the admin server and see what happens when running the remove.


Interesting that it states that if it is the last component for the product then the database schema will be removed which is not included in the list of tasks that will be performed, it is not something I have tested out yet though.

After proceeding the command window closed without any error messages, so what happened?


Luckily the process is logged and the logs can be found at EPM_ORACLE_INSTANCE\diagnostics\logs\uninstall


The summary information can be found in unconfigure_summary.log and it clearly states the process failed.

For detailed information then configTool-unconfigure.log can be checked.

[2013-05-07T00:05:50.971+01:00] [EPMCFG] [ERROR] [EPMCFG-01020] [oracle.EPMCFG] [tid: 10] [ecid: 0000JtyCufZFg4WFLz7U8A1HYC5n000000,0] [SRC_CLASS: com.hyperion.cis.config.AbstarctAntDeploymentApiAdapter] Error: [[
Weblogic domain on the remote host FUSION11 not available

The error message indicates as expected that the Weblogic admin server was not available.

Next I ran the remove again but with the admin server running.


Now this is what the command window should output for a successful remove but the windows closes pretty much straight after the last message is displayed so if you blink you will miss it.


The summary log does not indicate a failure so this can be taken a successful removal of the instance and a few checks can be carried out to confirm.


In the admin console the managed server has been removed.


The instance entries from the start menu have been removed.


Comparing a registry report to the one before the instance was removed you can see that some entries still remain, I would have expected the instance tasks to have been removed as I don’t see why they would be required anymore, also even though this was the only instance on the machine the host information still remains, the registry has always had this annoying feature of storing up host, it is possible if you want the registry to be clean to  remove the host entries using the epmsys_registry utility.


Comparing the deployment report to the one run before removing the instance it highlights the entries for the Weblogic web application, FMW home and Instance directory have been removed.

I also ran the registry cleanup utility but it seemed to fail on the last step with a java error.


I am not yet sure if this relates to me removing the instance but I will update once I had more time to look at it.

Even though OHS was configured to a shared file location it does not look like it was automatically reconfigured to remove cluster entries.


As you would expect running the configure web server option again in the configurator resolves this, maybe it will be automatically added to the remove instance functionality in the future.

I checked the file structure under EPM_ORACLE_INSTANCE and besides the diagnostics folder there were only a few empty folders still remaining.

I know this was only a simple test but hopefully it provides an insight into the new functionality.

EPM Workspace integration with OBIEE update

$
0
0
In a recent blog I went through the process of integrating EPM 11.1.2.2 Workspace with OBIEE 11.1.1.7, as EPM 11.1.2.3 is available I thought I would test out the process covered in the blog to see if there are any issues.

In theory the process should be exactly the same and there is nothing yet to state otherwise but unfortunately I did hit a few problems.

Now I am not going to duplicate the last blog so if you are going to integrate then please read through the process first.

At the point of running the HSS registration utility the following error message was generated after entering the Shared Services credentials:


This error through me for a while but after hunting around I found out that the utility is calling upon Java classes in registry-api.jar which is located in <ORACLE_BI1>\common\jlib\11.1.2.0


If you compare the file size to the version in the EPM 11.1.2.3 instance you will see a difference.


The EPM version of the file in <MIDDLEWARE_HOME>\EPMSystem11R1\common\jlib\11.1.2.0 is larger in size so as I test I copied the file from the EPM instance to the OBIEE one.

The HSS Registration utility has the option to clean which removes OBIEE registration information from Shared Services registry and configuration so I thought it best to run this first as it is unclear exactly where the registration process had failed.


The registration clean was successfully so time to run the utility again with the register option.


This time the process gets further but unfortunately fails again with another Java related error.

After more digging around I found that the utility is accessing classes in css.jar which is located at <ORACLE_BI1>\common\css\11.1.2.0\lib


Once again there is a difference in file size between the OBIEE and EPM instance.


I copied the css.jar file from the EPM machine across to the OBIEE one and ran the HSS registration utility but using clean option first and then register option.


Good news the registration was successful and the process from the last blog was continued.


Once all the steps had been carried out the integration between Workspace and OBIEE was tested and the functionality was working as expected.

I am sure that Oracle will either update the jar files in a future OBIEE patch or amend the documentation to include the steps.

So basically if you are going to integrate with EPM 11.1.2.3 make sure the two jar files are copied before carrying out the process in the last blog.

11.1.2.3 – Planning Outline Load Utility enhancements

$
0
0
I was looking at the new features for the planning Outline load utility and the following caught my attention -”Administrators can now use the Outline Load utility to export metadata to a relational data source.”

Going back to 11.1.2.2.300 there were quite a few enhancements to the outline utility:
  • Import metadata and data from a relational data source.

  • Optimize command lines by storing command line arguments in a command properties file. For example, if you use a command properties file to run the same commands on multiple applications, you need only change a parameter in the command line for each import. This allows you to bundle switches for a common application. It also makes command lines shorter and easier to manage, and enhances readability and ease of use.

  • Export data export to a flat CSV file
I blogged about the 11.1.2.2.300+ features in three parts which can be found here, here and here.

I double checked and the ability to export metadata to a relational data source was not available in 11.1.2.2.300 so I thought it would be worth going through this new piece of functionality in 11.1.2.3, now in my previous blogs I covered some areas such as using a command properties file which I am not going to cover again so if you have not done already it is probably worth having a read through the three previous blogs.

The outline load utility has certainly become a powerful tool over the years since its first appearance in the early days of version 11, the only feature missing with relational data sources is the ability to export data (only to a file at present) though I am sure that functionality won’t be too far away.

If you look at the new features in 11.1.2.3 with classic planning applications and add in the functionality available with the outline load utility or ODI then I would certainly question the need to go down the EPMA route, if you are already in EPMA mode then keep enjoying the pain or maybe it is time to turn back from the dark side :)

Anyway before jumping in and exporting metadata then there are a number of new parameters available which need to be understood, many are similar to the ones used when importing except the parameter contains an E (export) instead of I (import).

 /ER: RelationalConnectionPropertiesFileName

This parameter defines the properties file which will hold all the database connection information for the export, it is the export equivalent to the /IR parameter which I previously covered and is used for importing.

/ERA

If you don’t specify the /ER parameter then you can use the /ERA parameter which basically uses the same database connection information as the planning application that the export is running against, personally I would want to keep import/export type data separate to the planning application database.

/REC:catalog

This parameter I don’t believe is important if the database target is Oracle but for SQL Server it should be database name.

/RED:driver

The parameter is the JDBC driver that will be used for the connection to the relational database.

For Oracle use:  /RED:oracle.jdbc.OracleDriver
For SQL Server: 
/RED:weblogic.jdbc.sqlserver.SQLServerDriver

/RER:url

The parameter is the JDBC URL to be used for the connection to the relational database.

For Oracle the format is: jdbc:oracle:thin:@[DB_SERVER_NAME]:DB_PORT:DB_SID

So for example that could be: /RER:jdbc:oracle:thin:@[fusion11]:1521:FUSION

For SQL Server the format is:
jdbc:weblogic:sqlserver://[DB_SERVER_NAME]:DB_PORT

An example being
/RER: jdbc:weblogic:sqlserver://[fusion11]:1433

/REU:userName

This is the user name to connect to the relational database.

/REP:password

The password for the database connection, this is unencrypted the first time it is used in a properties file and once an export has completed the file will have been updated with an encrypted version.

/REQ:exportQueryOrKey

This can either be the SQL export query to be run or it can be used to designate a key which will hold the SQL query, I will cover this in more detail shortly.

So those are the main new parameters to use when exporting metadata and if you combine them with the existing parameters you should be ready to start putting it all together.

I am now going to go through a few examples of extracting account metadata from the sample planning application.

First I start out with a batch script which will call the outline load utility and set the properties and password file to use.


OutlineLoad –f:E:\PLAN_SCRIPTS\password.txt /CP:E:\PLAN_SCRIPTS\metaextract.properties

The –f parameter defines the password file to use and the /CP parameter defines the property file to use which will hold all the remaining parameters.

The properties file metaextract.properties contains the following information:


The /ER parameter defines the database connection properties file and instead of using two property files I have pointed them all to the same file.


I am extracting to an Oracle database and the PLANSTAGE schema.

As explained earlier the password used in the /REP parameter is not encrypted at first.


Once the utility has been run the file should updated and the password encrypted.

Now on for the most important parameter /REQ which defines the SQL query or key.

The export query follows a strict format so don’t be thinking you can write your own elaborate SQL.

INSERT INTO <tableName> (column1, column2, ...) VALUES (property1, property2,...)


<tableName>
is the name of the table into which the exported metadata will be inserted into.

(column1, column2, …) is an optional list of column names the metadata will be inserted into.

(property1, property2, …)
are member property names to be extracted.

So let’s take a simple example and extract the member and parent information.


In this example I have used a key for the /REQ parameter but the following is perfectly valid as well:


Instead of specifying the dimension name like you would normally when using the utility you use “Member”.

The query will extract the Member and Parent values and insert them into a table called PLAN_ACC, the number of columns in the table will need to match the number of properties being extracted.


The name of columns in this case does not matter just as long as there are the same number of columns, the order of how they populated is defined by the query so in my example “Member “ then “Parent”.

Before running make sure the table and columns have been created as the utility will not do this and fail.

If you specify an incorrect table name or the table (this is based on Oracle): 


Incorrect number of columns in the table:



If the table has been created correctly then the export should be successful and the table populated.



It is worth pointing out that the table will not be cleared out before the export runs and unfortunately it doesn’t look like there is an option yet to do so, hopefully it will be added in the future as all it will require is another parameter with a true/false option but until then you will need to clear out the table with your own preferred method.

If the table has additional columns then you can define which columns to insert to in the query.



If you want to extract all the available properties then you can use the <properties> option in the query instead of specifying each property


Once again make sure the table has the same number of columns as properties that will be exported, if you are not sure how many columns are required then just run the script and check the output log as it will display all the properties that are being exported.


When the correct number of columns has been defined in the table the export should be successful.


Even the formulas are exported quite cleanly which I know could a bit of a pain when exporting to csv


There is another nice piece of functionality which allows you to export member properties based on the columns in the target table.

So say I had the following columns in a table: “Member”,”Parent”,”Alias: Default”


The column names must match the properties in planning.

In the query the <columns> option can be used.


When the export runs the utility will check the columns in the target table and then match that to the properties to export.


So there we have it yet another great additional to the Outline Load utility.
Viewing all 181 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>