@CalcMgrMDXDataCopy

Purpose:

Copies data from one database to another database using MDX scripts.

Syntax:

Java Class: com.hyperion.calcmgr.common.cdf.MDXDataCopy.copyData(String,String,String,String,String,String,String,String,String,String,String,String,String,String)

CDF Spec: @CalcMgrMDXDataCopy(Encryption Key,user,password,sourceApplicationName, sourceDatabaseName,targetApplicationName, targetDatabaseName,columnAxisMDX, rowAxisMDX, sourceMemberMappings,targetMemberMappings, targetPOVCols,maxRowsPerPage,loggingFileName)

Copying Data From One Database to Another Using @CalcMgrMDXDataCopy

@CalcMgrMDXDataCopy relies on an MDX expression that defines the area to copy. It creates a grid in memory, uses the MDX expression to fill the grid from the source database, and then updates the data to the target database. @CalcMgrMDXDataCopy uses an encrypted user name and password using calcmgrCmdLine.jar.

For example, to encrypt a user name and password, you must generate a key using java -jar calcmgrCmdLine.jar -gk. This returns a key such as: 83qosW4LbxVGp6uBwqtQWb that can be used to encrypt the user name and password. If you encrypt the user name, you must also encrypt the password. For more details on using CalcmgrCmdLine.jar see Launching Essbase Business Rules with the Command Line Launcher.

Note:

An MDX expression with only the column and row axis is supported.

Syntax:

RUNJAVA com.hyperion.calcmgr.common.cdf.MDXDataCopy 
     <Key used to encrypt user name and password>
     <Encrypted user name>
     <Encrypted password>
     <Source Application>
     <Source Database>
     <Target Application>
     <Target Database>
     <MDX expression that defines column members>
     <MDX expression that defines row members>
     <Source Member Mappings>
     <Target Member Mappings>
     <Target POV columns>
     <Rows Per Page>
     <Log File>
     <Source Server>
     <Target Server>
     <Where MDX>
     <"true" or "false">
  • <Source Member Mappings> and <Target Member Mappings> are used when member names in source differs from target. These must be separated by commas. No functions are allowed.

  • <Target POV columns> is used when there are more dimensions in the target than in the source.

  • <ROWS PER PAGE> is used to trigger an update to the target. The default is -1, where the update happens when the complete grid is populated. If you set it to 30, then as soon as 30 rows are filled up, an update is triggered. Then it continues with the next 30 rows.

  • <Source Server> and <Target Server> are used when the source and destination server are different. If they are not different, you must use "" as a place holder.

  • <Where MDX> is used when you want to specify a argument to the script.

  • For the <"true" or "false"> parameter, "true" appends the log file and "false" clears the log file. "True" is the default if this parameter is left empty.

To increase the memory of JVM where the custom defined function is run, edit the opmn.xml file for Oracle Essbase, and change the number in the value property for ESS_JVM_OPTION1. This entry sets 256 MB of memory for the JVM <variable id="ESS_JVM_OPTION1" value="-Xmx256M"/>

For example:

RUNJAVA com.hyperion.calcmgr.common.cdf.MDXDataCopy 
     "vta2a536uC/wyX8jM2GlHA==" /* key */
     "qza9xZxUX+srS1GrlR2Qboeq77InwkNSQSvBHLO2siidSEglMndoIpneZVPK0tWt" /* user */
     "eldizBRIyqdPdXl9Bpu/HIE+YIgvRBa59aTjTDWpWM0T+ZEPjF+zyINfE0KHX0qP" /* password */
     "Sample" /* from application */
     "Basic"  /* from database */
     "Samp2"  /* to application */
     "Basic"  /* to database */
     "crossjoin({[Jan],[Feb],[March]},{[Budget]})" /* MDX that defines the column members */
     "crossjoin(crossjoin({[Sales]},{[100].CHILDREN}),{[Connecticut]})" /* MDX that defines the row members */
     "Jan,Feb" /* source member mappings */
     "January,February" /* target member mappings */
     "VP, IT" /* Target POV columns, members from dimensions that do not exist on the source*/
     "-1" /* rows per page */
     "c:\\Temp\\cpdata3.log"; /* log file could be empty */
     ""source server 
     ""destination server 
     ""where MDX