ODI vs rule file load

Hi all,
I would like to know the difference between loading data to essbase directly using rule files from a rdbms or flat file and loading it with the help of ODI.
And using rule files in ODI interface to load data, what kind of performance and efficiency one can attain with it.
thanks

Using a load rule is definitely the best and fastest way to load data when using a ODI data load interface, the load rule method is native to essbase so is optimised for loading and you also get the added functionality which a load rule provides.
If you don't use a load rule then ODI will use a different Java API method which is not as quick as a load rule especially if there are errors in the source data.
Cheers
John
http://john-goodwin.blogspot.com/

Similar Messages

  • Error in loading data into essbase while using Rule file through ODI

    Hi Experts,
    Refering my previous post Error while using Rule file in loading data into Essbase through ODI
    I am facing problem while loading data into Essbase. I am able to load data into Essbase successfully. But when i used Rule file to add values to existing values I am getting error.
    test is my Rule file.
    com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot put olap file object. Essbase Error(1053025): Object [test] already exists and is not locked by user [admin@Native Directory]
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:346)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2458)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:540)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
    at java.lang.Thread.run(Thread.java:662)
    from com.hyperion.odi.common import ODIConstants
    from com.hyperion.odi.connection import HypAppConnectionFactory
    from java.lang import Class
    from java.lang import Boolean
    from java.sql import *
    from java.util import HashMap
    # Get the select statement on the staging area:
    sql= """select C1_HSP_RATES "HSP_Rates",C2_ACCOUNT "Account",C3_PERIOD "Period",C4_YEAR "Year",C5_SCENARIO "Scenario",C6_VERSION "Version",C7_CURRENCY "Currency",C8_ENTITY "Entity",C9_VERTICAL "Vertical",C10_HORIZONTAL "Horizontal",C11_SALES_HIERARICHY "Sales Hierarchy",C12_DATA "Data" from PLANAPP."C$_0HexaApp_PLData" where (1=1) """
    srcCx = odiRef.getJDBCConnection("SRC")
    stmt = srcCx.createStatement()
    srcFetchSize=30
    #stmt.setFetchSize(srcFetchSize)
    stmt.setFetchSize(1)
    print "executing query"
    rs = stmt.executeQuery(sql)
    print "done executing query"
    #load the data
    print "loading data"
    stats = pWriter.loadData(rs)
    print "done loading data"
    #close the database result set, connection
    rs.close()
    stmt.close()
    Please help me on this...
    Thanks & Regards,
    Chinnu

    Hi Priya,
    Thanks for giving reply. I already checked that no lock are available for rule file. I don't know what's the problem. It is working fine without the Rule file, but throwing error only when using rule file.
    Please help on this.
    Thanks,
    Chinnu

  • Error while using Rule file in loading data into Essbase through ODI

    Hi Experts,
    I am facing problem while loading data into Essbase. I am able to load data into Essbase successfully. But when i used Rule fule to add values to existing values am getting error.
    test is my Rule file.
    com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot put olap file object. Essbase Error(1053025): Object [test] already exists and is not locked by user [admin@Native Directory]
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:346)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2458)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
         at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:540)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
         at java.lang.Thread.run(Thread.java:662)
    from com.hyperion.odi.common import ODIConstants
    from com.hyperion.odi.connection import HypAppConnectionFactory
    from java.lang import Class
    from java.lang import Boolean
    from java.sql import *
    from java.util import HashMap
    # Get the select statement on the staging area:
    sql= """select C1_HSP_RATES "HSP_Rates",C2_ACCOUNT "Account",C3_PERIOD "Period",C4_YEAR "Year",C5_SCENARIO "Scenario",C6_VERSION "Version",C7_CURRENCY "Currency",C8_ENTITY "Entity",C9_VERTICAL "Vertical",C10_HORIZONTAL "Horizontal",C11_SALES_HIERARICHY "Sales Hierarchy",C12_DATA "Data" from PLANAPP."C$_0HexaApp_PLData" where      (1=1) """
    srcCx = odiRef.getJDBCConnection("SRC")
    stmt = srcCx.createStatement()
    srcFetchSize=30
    #stmt.setFetchSize(srcFetchSize)
    stmt.setFetchSize(1)
    print "executing query"
    rs = stmt.executeQuery(sql)
    print "done executing query"
    #load the data
    print "loading data"
    stats = pWriter.loadData(rs)
    print "done loading data"
    #close the database result set, connection
    rs.close()
    stmt.close()
    Please help me on this...
    Thanks & Regards,
    Chinnu

    Hi Priya,
    Thanks for giving reply. I already checked that no lock are available for rule file. I don't know what's the problem. It is working fine without the Rule file, but throwing error only when using rule file.
    Please help on this.
    Thanks,
    Chinnu

  • Loading Text Datatype account members using rule file

    Hi,
    I have seen some blogs but still having the issue to load the text data type value to my Planning application.
    I am using EPM 11.1.2.1, my planning application has 3 plan type including workforce where i have few attributes of employee(position, role,location etc) free text input using planning webform. so i define those account members as Text data type.
    Note: we don't have ODI or any other tool used for metadata or Data loading.
    I am using **Outline Load utility** to refresh my dimension , do we have a way to load text data type using load rule. i tried using Load rule and getting following error
    \\ Invalid number in data column
    "010"     "1000"     "Budget"     "Draft1"     "Local" "Hsp_InputValue"     "Jan"     "Fong, Siu Lung (Felix), 4"     "FY12"     "sr sft eng"     "testing test"
    please guide me if any other way to load the text data i am getting in the employee file.
    -KK

    You can use the outline load utility to load data, there are examples available at http://download.oracle.com/docs/cd/E17236_01/epm.1112/hp_admin/ch05s02s01.html
    If you are trying to load using an essbase rules file then you will experience issues trying to load text to essbase, essbase only stores a numeric value for planning text data and it is the planning relational database that stores the text value, this is why the outline load utility would be better to use.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Loading Data to Essbase using Rule File Failed

    Hi
    i'm using IKM SQL to Essbase Cbue,
    Now I would like to use rule file when loading data,
    I created one in Essbase cube, then define it on the target (flow) and the Tab on Rule seprator,
    I reversed the Essbase Cbue again.
    when loading I get the following error bellow
    (before loading I verfiy with sample file based on the same strcture from my source and load it via data load from EAS
    and it works fine. also it works without any rule file.)
    here's the error I'm getting from operator:
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 23, in ?
    com.hyperion.odi.essbase.ODIEssbaseException
         at com.hyperion.odi.essbase.ODIEssbaseDataWriter.loadData(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
         at org.python.core.PyMethod.__call__(PyMethod.java)
         at org.python.core.PyObject.__call__(PyObject.java)
         at org.python.core.PyInstance.invoke(PyInstance.java)
         at org.python.pycode._pyx30.f$0(<string>:23)
         at org.python.pycode._pyx30.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyCode.call(PyCode.java)
         at org.python.core.Py.runCode(Py.java)
         at org.python.core.Py.exec(Py.java)
         at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
         at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.j(e.java)
         at com.sunopsis.dwg.cmd.g.z(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
         at com.hyperion.odi.connection.AbstractHypAppWriter.logErrorRecord(Unknown Source)
         at com.hyperion.odi.essbase.ODIEssbaseDataWriter.sendRecordArrayToEsbase(Unknown Source)
         ... 32 more
    com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.j(e.java)
         at com.sunopsis.dwg.cmd.g.z(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    pls advice what i'm doing worng?
    Thanks!

    So are you saying the data load interface works if you remove the rule in the options?
    Have you ever got any data loads to run with a load rule or without?
    Cheers
    John
    http://john--goodwin.blogspot.com/

  • Loading data through rule files in Essbase

    Hi everyone,
    I really need help because something that I don't understand is happening when I am loading data through a rule files that I have created in Essbase. In the "Field Properties" of that rules files, I added few accounts in the "Global Properties" that I wanted to be replaced by others when I perform the load since I had troubles with the hierarchy of my accounts. My problem is that I have 3 accounts that I cannot add when I am loading my data and I don't understand why. By example, in my data extract file, I want to add the account : 601820SN60005 but since it doesn't exist in my Dimension Library I changed my rule file. I add the following propertie : Replace 601820SN60005 with 601820, so the system should put the data in that account instead. But it's not what'S happening. When I perform my load, the log tells me that the member 601820SN60005 does not exist in the database which is true but it seems that the propertie I had is not working. The load should work property. Is it possible that my rules files is corrupted? Or anything else?
    Please give me a clue of what's happening here because I really don't understand!
    Thanks a lot!

    I will just pipe in with the mostly worthless comment that doing any kind of ETL within a load rule is really not the world's best idea. Could you do your transformations in the source? There is this fantastic language called "SQL" that allows all kinds of cool data manipulations. Oracle even sells this product called ODI that I hear is just dandy for ETL work. :)
    A slightly more useful suggestion -- it's really tough to view all of the various transformations in a load rule, as you have found to your sorrow. Did you know you can print the load rule and get all of the transformations? I use it all the time when a client hasn't listened to my whine about not doing ETL in a load rule.
    Regards,
    Cameron Lackpour

  • How to tune data loading time in BSO using 14 rules files ?

    Hello there,
    I'm using Hyperion-Essbase-Admin-Services v11.1.1.2 and the BSO Option.
    In a nightly process using MAXL i load new data into one Essbase-cube.
    In this nightly update process 14 account-members are updated by running 14 rules files one after another.
    These rules files connect 14 times by sql-connection to the same oracle database and the same table.
    I use this procedure because i cannot load 2 or more data fields using one rules file.
    It takes a long time to load up 14 accounts one after other.
    Now my Question: How can I minimise this data loading time ?
    This is what I found on Oracle Homepage:
    What's New
    Oracle Essbase V.11.1.1 Release Highlights
    Parallel SQL Data Loads- Supports up to 8 rules files via temporary load buffers.
    In an Older Thread John said:
    As it is version 11 why not use parallel sql loading, you can specify up to 8 load rules to load data in parallel.
    Example:
    import database AsoSamp.Sample data
    connect as TBC identified by 'password'
    using multiple rules_file 'rule1','rule2'
    to load_buffer_block starting with buffer_id 100
    on error write to "error.txt";
    But this is for ASO Option only.
    Can I use it in my MAXL also for BSO ?? Is there a sample ?
    What else is possible to tune up nightly update time ??
    Thanks in advance for every tip,
    Zeljko

    Thanks a lot for your support. I’m just a little confused.
    I will use an example to illustrate my problem a bit more clearly.
    This is the basic table, in my case a view, which is queried by all 14 rules files:
    column1 --- column2 --- column3 --- column4 --- ... ---column n
    dim 1 --- dim 2 --- dim 3 --- data1 --- data2 --- data3 --- ... --- data 14
    Region -- ID --- Product --- sales --- cogs ---- discounts --- ... --- amount
    West --- D1 --- Coffee --- 11001 --- 1,322 --- 10789 --- ... --- 548
    West --- D2 --- Tea10 --- 12011 --- 1,325 --- 10548 --- ... --- 589
    West --- S1 --- Tea10 --- 14115 --- 1,699 --- 10145 --- ... --- 852
    West --- C3 --- Tea10 --- 21053 --- 1,588 --- 10998 --- ... --- 981
    East ---- S2 --- Coffee --- 15563 --- 1,458 --- 10991 --- ... --- 876
    East ---- D1 --- Tea10 --- 15894 --- 1,664 --- 11615 --- ... --- 156
    East ---- D3 --- Coffee --- 19689 --- 1,989 --- 15615 --- ... --- 986
    East ---- C1 --- Coffee --- 18897 --- 1,988 --- 11898 --- ... --- 256
    East ---- C3 --- Tea10 --- 11699 --- 1,328 --- 12156 --- ... --- 9896
    Following 3 out of 14 (load-) rules files to load the data columns into the cube:
    Rules File1:
    dim 1 --- dim 2 --- dim 3 --- sales --- ignore --- ignore --- ... --- ignore
    Rules File2:
    dim 1 --- dim 2 --- dim 3 --- ignore --- cogs --- ignore --- ... --- ignore
    Rules File14:
    dim 1 --- dim 2 --- dim 3 --- ignore --- ignore --- ignore --- ... --- amount
    Is the upper table design what GlennS mentioned as a "Data" column concept which only allows a single numeric data value ?
    In this case I cant tag two or more columns as “Data fields”. I just can tag one column as “Data field”. Other data fields I have to tag as “ignore fields during data load”. Otherwise, when I validate the rules file, an Error occurs “only one field can contain the Data Field attribute”.
    Or may I skip this error massage and just try to tag all 14 fields as “Data fields” and “load data” ?
    Please advise.
    Am I right that the other way is to reconstruct the table/view (and the rules files) like follows to load all of the data in one pass:
    dim 0 --- dim 1 --- dim 2 --- dim 3 --- data
    Account --- Region -- ID --- Product --- data
    sales --- West --- D1 --- Coffee --- 11001
    sales --- West --- D2 --- Tea10 --- 12011
    sales --- West --- S1 --- Tea10 --- 14115
    sales --- West --- C3 --- Tea10 --- 21053
    sales --- East ---- S2 --- Coffee --- 15563
    sales --- East ---- D1 --- Tea10 --- 15894
    sales --- East ---- D3 --- Coffee --- 19689
    sales --- East ---- C1 --- Coffee --- 18897
    sales --- East ---- C3 --- Tea10 --- 11699
    cogs --- West --- D1 --- Coffee --- 1,322
    cogs --- West --- D2 --- Tea10 --- 1,325
    cogs --- West --- S1 --- Tea10 --- 1,699
    cogs --- West --- C3 --- Tea10 --- 1,588
    cogs --- East ---- S2 --- Coffee --- 1,458
    cogs --- East ---- D1 --- Tea10 --- 1,664
    cogs --- East ---- D3 --- Coffee --- 1,989
    cogs --- East ---- C1 --- Coffee --- 1,988
    cogs --- East ---- C3 --- Tea10 --- 1,328
    discounts --- West --- D1 --- Coffee --- 10789
    discounts --- West --- D2 --- Tea10 --- 10548
    discounts --- West --- S1 --- Tea10 --- 10145
    discounts --- West --- C3 --- Tea10 --- 10998
    discounts --- East ---- S2 --- Coffee --- 10991
    discounts --- East ---- D1 --- Tea10 --- 11615
    discounts --- East ---- D3 --- Coffee --- 15615
    discounts --- East ---- C1 --- Coffee --- 11898
    discounts --- East ---- C3 --- Tea10 --- 12156
    amount --- West --- D1 --- Coffee --- 548
    amount --- West --- D2 --- Tea10 --- 589
    amount --- West --- S1 --- Tea10 --- 852
    amount --- West --- C3 --- Tea10 --- 981
    amount --- East ---- S2 --- Coffee --- 876
    amount --- East ---- D1 --- Tea10 --- 156
    amount --- East ---- D3 --- Coffee --- 986
    amount --- East ---- C1 --- Coffee --- 256
    amount --- East ---- C3 --- Tea10 --- 9896
    And the third way is to adjust the essbase.cfg parameters DLTHREADSPREPARE and DLTHREADSWRITE (and DLSINGLETHREADPERSTAGE)
    I just want to be sure that I understand your suggestions.
    Many thanks for awesome help,
    Zeljko

  • How to load a flat file with utf8 format in odi as source file?

    Hi All,
    Anybody knows how we can load a flat file with utf8 format in odi as source file.Please everybody knows to guide me.
    Regards,
    Sahar

    Could you explain which problem are you facing?
    Francesco

  • Error while loading data to ASO database using rules files and buffer id

    Hello all,
    While loading the data to our ASO cube from a data file and using a server rules file, I am getting a warning: "Incorrect Syntax near ['$'] ". But my script no where mentions the usage of $. Also the console throws no error while loading the data. It displays the progress bar 0-100% while the data is being loaded, but actually no data is getting loaded (when retrieval is checked). Also the script is unable to form any log file or error file. Can anyone throw some light what might be the reason behind this kind of data load behaviour.
    Thanks in advance.
    Amit

    is that the real script? I don't see you using any parameter. (That's where $ comes to play). Try a double quote with echo (I never used echo in MaxL)
    Also don't post passwords and server names on a forum.
    Regards
    Celvin
    http://www.orahyplabs.com

  • Error while loading data on to the cube : Incompatible rule file.

    Hi,
    I am trying to load data on to essbase cube from a data file. I have a rule file on the cube already, and I am getting the following error while loading the data. Is there any problem with the rules file?
    SEVERE: Cannot begin data load. Essbase Error(1019058): Incompatible rule file. Duplicate member name rule file is used against unique name database.
    com.essbase.api.base.EssException: Cannot begin data load. Essbase Error(1019058): Incompatible rule file. Duplicate member name rule file is used against unique name database.
         at com.essbase.server.framework.EssOrbPluginDirect.ex_olap(Unknown Source)
         at com.essbase.server.framework.EssOrbPluginDirect.essMainBeginDataload(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMainMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source)
         at com.essbase.server.framework.EssOrbPluginDirect._invokeProtected(Unknown Source)
         at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin.essMainBeginDataload(Unknown Source)
         at com.essbase.api.datasource.EssCube.beginDataload(Unknown Source)
         at grid.BudgetDataLoad.main(BudgetDataLoad.java:85)
    Error: Cannot begin data load. Essbase Error(1019058): Incompatible rule file. Duplicate member name rule file is used against unique name database.
    Feb 7, 2012 3:13:37 PM com.hyperion.dsf.server.framework.BaseLogger writeException
    SEVERE: Cannot Load buffer term. Essbase Error(1270040): Data load buffer [3] does not exist
    com.essbase.api.base.EssException: Cannot Load buffer term. Essbase Error(1270040): Data load buffer [3] does not exist
         at com.essbase.server.framework.EssOrbPluginDirect.ex_olap(Unknown Source)
         at com.essbase.server.framework.EssOrbPluginDirect.essMainLoadBufferTerm(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMainMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source)
         at com.essbase.server.framework.EssOrbPluginDirect._invokeProtected(Unknown Source)
         at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin.essMainLoadBufferTerm(Unknown Source)
         at com.essbase.api.datasource.EssCube.loadBufferTerm(Unknown Source)
         at grid.BudgetDataLoad.main(BudgetDataLoad.java:114)
    Error: Cannot Load buffer term. Essbase Error(1270040): Data load buffer [3] does not exist
    Thanks,
    Santhosh

    " Incompatible rule file. Duplicate member name rule file is used against unique name database."
    I am just guessing here as I have never used the duplicate name functionality in Essbase, nor do I remember which versions it was in. However with that said I think your answer is in your error message.
    Just guessing again.... It appears that your rule file is set to allow duplicate member names while your database is not. With that information in hand (given to you in the error message) I would start to explore that.

  • Load Parent-Child dimension with attributes by rule file

    Well, I've cracked my head open while banging against this wall.
    Task is plain & simple:
    How can I load build dimension from such table, using rule file?
    Data
    ProductParent ProductChild ProductAttribute
    Balls Ball_8 Round
    I want to load both product dimension and attribute by single rule file (neither of these dimensions exists in database before load), so I do the following:
    1) Set dimension build settings, creating dimension Products (marking it P\C generated, sparse), having an attribute dimension AttributeDim
    2) Mark the fields as Parent, Child and AttributeDim of dimension Products
    After loading rule file a get three types of errors:
    a) "Base member (Balls) association level does not match base dimension association level" -- does this mean that I cannot assign attributes in P\C way?
    b) "Record #327 - Can not uniquely identify member by Balls (3335)
    Balls     Ball_8     Round" -- That's strange, I thought member should be identified by Ball_8 (and this column is unique)
    c) "\\Record #418 - Error in association transaction [Ball_8] to [Round] (3362)"
    I've read all I could find on topic from this forum, network45 board and going to start my way through metalink3, but maybe some kind soul will rescue me from drowning in information ocean?

    Hi,
    Outline is blank at the start of load and I expect dimensions Product and ProdAttribute to be added.
    Generations are unapplicable, since I can't turn this parent-child dimension (it's ragged) into generation one.
    And, by the way Integration Services manages to do this somehow, why rule files wouldn't?

  • Substitution Variables in Essbase Load Rules File

    Hi,
    Has anyone tried using substitution variables in Load Rules File Header definition?
    I need to load data based on the Year & I have different Files for 3 Years- CurYr, BudYr1 & BudYr2. Is it allowed to specify the Year Substitution variable in the Rule File Header? I am getting an error while loading.
    Appreciate your thoughts.
    Thanks,
    -Ethan.

    Tim,
    Thanks for the response.
    I figured it out. The error message I was getting was because of some parsing issue. I have defined Year as "FY12" in quotes. I removed quotes & it worked.
    Thank You.
    Ethan.

  • Sql and load rule file query

    Currently loading the data with the script , which it contatins
    Retreving data from oracle through SQL interface on to rules files
    and loading the data.
    just my question is , if i get 0 records from oracle , i dont want to proceed with the loading of data (which is no useful ).
    Can i stop the loading if records are zero.

    As far as I know there is nothing in MaxLIt that could tell that there were no rows.The MaxL statement would return a zero code saying that the process worked ok. It would be prossible in your batch script to have mutiple calls to MaxL and between them to do something like make a call to your sql DB getting the count of rows for your query. Investigate the result and if it is zero, then get out of your load and calc process (I guess you could do that even before you try to load).
    Or how about scheduling a job that creates an output file with the count if it is greater than zero. If it is, then run the batch load process if it is not, then bypass it. There are multiple ways to do this outside of Essbase, just not in it.

  • Data Load Rule file -Date conversion

    Hi,While working on a Dataload rule file,I was facing this problem.I'm getting date in the format "m(m)/d(d)/yyyy hh:mm:ss". Is there a way to change this to "mm/yy" ??(There won't be anyproblem if I get mm/dd/yyyy hh:mm:ss style. but unfortunately not.)

    Can you run the file through a "conversion process" prior to loading?We do similiar thing here. We get a feed from Hyperion Enterprise and run it through a home grown conversion utility written in Windows Script before we load into Essbase.It reads in the file line by line and then writes out a new file properly formatted.

  • Query regarding Metadata load in Essbase using rule file

    Hi
    In our application,we are  loading metadata using Essbase rule file and  here we are facing one problem.Suppose we have to load a level 0 member called "xxxx" under two different parent,assume the parent members are Parent_AAAA and Parent_BBBB.But our requirement is the consolidation operator for the first occurrence ( i.e under Parent_AAAA)  is "+" and for the shared member under Parent_BBBB is "-".But,when we are loading using rule file the consolidation operator for the shared member always being loaded as "+".Is there any trick to change the consolidation operator for shared member other than  changing it manually in outline?
    Pls help....Thanks in advance.

    I don't think there is a way to change the default setting.
    However, what you can do is  to have a different load rule and different text file with only the metadata that you want to have an exception for shared members. That way, you can achieve it as you do not have to change the existing rule file.
    Regards
    ORACLE | Essbase

Maybe you are looking for

  • Can i back up one G5 via firewire and another via USB to the same drive

    I have an ibook and a G5., I have a 500 gb lacie external drive. Can i back up both via time machine simultaneously, one via firewire and one via USB?

  • Overview of all GOS-elements for an Object

    Hi, is there any FM or class to find all GOS elements for an Object f. Ex. EQUI or BUS2080? thanks for Help. Regards, Dieter

  • Dual networks, express and extreme problem with Intel iMac accessing both

    I have two airport networks setup to two different ISP's. One is setup using two Airport Expresses with a printer hung off one. The other is setup with an Airport Extreme with two USB disks. I have a G4 iBook 14" laptop and a MacPro 17" Intel laptop

  • Function returning string.  Data type question

    Hello all, Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production Our database has a parent record master_member_record_id & and children of those records member_record_id. I wrote a function which returns the master record for

  • PKI Certificates

    Hi, we are working to get PKI security with our web services and I am wondering where to look for information regarding what we're trying to do. We have gotten PKI to work in a general sense where we generate certificates based on a root certificate