MaxL question

Hi There,
I have MaxL to load data into the essbase:
import database Finance.Finance data
connect as "password" identified by "password"
using server rules_file FinanceRule
on error write to "d:\\log\\hDataLoad.err" ;
It works without any issue. But how can I call TWO rule files, I try something like this:
import database Finance.Finance data
connect as "password" identified by "password"
using server rules_file FinanceRule
using server rules_file FinanceRule2
on error write to "d:\\log\\hDataLoad.err" ;
But I got error, how do I execute two rule files?
Many thanks

Robert's right, you have to use two import statements:
import database Finance.Finance data connect as "password" identified by "password" using server rules_file FinanceRule on error write to "d:\\loghDataLoad.err" ;
import database Finance.Finance data connect as "password" identified by "password" using server rules_file FinanceRule on error append to "d:\\loghDataLoad.err" ;
I think you can use the append keyword to continue on with the same error file if you want. I would personally prefer to to have two error files as they are two separate processes.
Also note that if you're doing an incremental dimension build, you can string together rules files. See: http://download.oracle.com/docs/cd/E12825_01/epm.111/esb_techref/maxl_imp_dims.htm for an example.
Regards,
Cameron Lackpour

Similar Messages

  • Maxl Question regarding set command

    I'm trying to set a variable in a MaxL script. The variable would reflect a path. However when I am trying use it in the script, it just ignores everything in the script after the statement.Here's what I tried:set file_path='c:\hyperion\essbase\scripts\';spool on to $file_path'Logfile.txt';It just treats it the first statement never was terminated.Help!Thanks,Jeff BaumertCitizens Communications

    Howdy!You will actually need to set the variable in the corresponding .BAT/.CMD file and pass the variables to the .MSH when you call the script for them to be usable.JR

  • Import ASO MAXL syntax question

    I have a maxl script I use to load an ASO database. I realize that I need to have not only the load rule set to append data but the import statement as well. I took the syntax straight from the Essbase documentation but I'm still getting an error. Here's my script:
    alter database App.DB initialize load_buffer with buffer_id 1;
    import database App.DB data from data_file '0947Brand.txt' using server rules_file 'RetailB.rul' to load_buffer with buffer_id 1 on error write to 'RetailB1.err';
    import database App.DB data from load_buffer with buffer_id 1 add values;
    alter database App.DB initialize load_buffer with buffer_id 1;
    import database App.DB data from data_file '0947Generic.txt' using server rules_file 'RetailB.rul' to load_buffer with buffer_id 1 on error write to 'RetailB2.err';
    import database App.DB data from load_buffer with buffer_id 1 add values;
    My error file shows this as an error:
    essmsh error: Parse error near add
    Any ideas?

    Jeanette R. wrote:
    I have a maxl script I use to load an ASO database. I realize that I need to have not only the load rule set to append data but the import statement as well. I took the syntax straight from the Essbase documentation but I'm still getting an error. Here's my script:
    alter database App.DB initialize load_buffer with buffer_id 1;
    import database App.DB data from data_file '0947Brand.txt' using server rules_file 'RetailB.rul' to load_buffer with buffer_id 1 on error write to 'RetailB1.err';
    import database App.DB data from load_buffer with buffer_id 1 add values;
    alter database App.DB initialize load_buffer with buffer_id 1;
    import database App.DB data from data_file '0947Generic.txt' using server rules_file 'RetailB.rul' to load_buffer with buffer_id 1 on error write to 'RetailB2.err';
    import database App.DB data from load_buffer with buffer_id 1 add values;
    My error file shows this as an error:
    essmsh error: Parse error near add
    Any ideas?Not sure of the error, but you are not really using buffers efficiently. You should have a single
    alter database App.DB initialize load_buffer with buffer_id 1;
    then your two import statements
    and finally the
    import database App.DB data from load_buffer with buffer_id 1; statement
    Your actual import statements should have the add values
    When you load multiple files into a buffer at once, it takes and adds the intersections together automatically. you only need the add values if you want to add the values to existing values in the cube.

  • How to delete the members in one dimension use the maxl script

    i have question that i want to delete the members in one dimension useing the maxl script, but i do not know how to do it. can the maxl delete the members in one dimension? if can, please provide an sample script, thank you so mcuh.

    MaxL does not have commands to alter an outline directly, except the reset command which can delete all dimensions but not members selectively. The best you could do would be to run a rules file (import dimensions) using a file that contains the members you want to keepload rule for the dimension. As typical the warning is to test this first before you do it on a production database

  • Informatica and Essbase Best Practice questions

    We now have the Informatica adapter for Essbase installed and working. We have been able to get Informatica to upload data successfully. Now I have a few questions that I have not been able to find answers to in any documentation or forums for Informatica or Essbase. I have submitted these same questions to the Informatica Support but thought I would also post the questions here to see if many folks are using Informatica against Essbase.
    We are using:
    Informatica 8.6.1 (Linux)
    Essbase 11.1.1.3 (Windows 2003)
    1) I can see in Informtica that when we load data to Essbase (Target) it gives me the option to run a calc script AFTER it loads the data. However, if I need to run a Calc script BEFORE the load to Essbase (Target) what is the best practice? The work around I have found was to add the same session twice and for the 1st instance select the option to 'ONLY RUN THE CALC SCRIPT' on the mapping tab. The problem with this is the log shows that it will still run the query against the Source tables. This will impact run times and double to querying against the Source database. What is the Best Practice and proper way to build the workflow to Run a Calc Script BEFORE the load?
    2)Since you do not see the list of Calc Scripts for Essbase in Informatica (you have to manually type the Calc name), If I want to run the 'Default' calc for Essbase what is the syntax to run the 'Default' Calc Script? Tried 'Default' but didn't seem to work.
    3)I have other tasks in Essbase I want to do before actually having Informatica load the data. I would like to run the MAXL commands via a Command task. What is the Best Practice for doing this and the syntax to run MAXL commands in a Command Task in Informatica? I previously had Shell scripts built on the Informatica server that would be kicked off within Informatica, but we are trying to move away from shell scripts and instead have the scripting codes IN the workflows/sessions to make it easier to review the code and follow the logic, rather than having to find the scripts and open each of them.
    Any assistance you have with the two products working together I would GREATLY appreciate it!
    Robert

    AS i know addUser(User user){ ... } is much more useful for several reasons:
    1.Its object oriented
    2.its easy to write , because if Object has many parameters its very painful to write method with comma seperated parameters

  • How to check MAxl is running properly or not

    Hi All,
    i am working on ASO cube which has to implement Automation for dimension building and data loading. I am unable to execute even a single sample systax with out error. Is there any specific method to use Maxl in ASO cube or any precautions to be taken in ASO for Maxl scripts.
    I don't know it is a foolish question or not to ask like "how to check the Maxl is working properly or not" bcoz it is raising me doubt by raising error for sample script also.
    please help me out from this issue .
    Regards

    Can you log into Essbase through MaxL interactively.
    If so, can you do it from a script? Something like:
    login username password on servername ;
    exit ;
    If you can't do the first, yup, your MaxL client is hosed or you don't have a valid username/password. Or you don't know the servername.
    If you can't do the latter, perhaps your client (could be the server itself, if you're running it from there) has a pathing issue when running batch files.
    If both work, it is a syntax issue. Now you're just faced with your mistake(s). :) But at least you don't have to spin wheels trying to figure out if MaxL is working or not.
    Regards,
    Cameron Lackpour
    P.S. You might want to try using the MaxL editor in EAS and see if your login code works there. I believe (not sure, but I think so) that EAS has its own flavor of MaxL as I know you can run code there without having the Essbase client installed on a local machine.

  • Looping in Maxl Script - To load multiple files

    Hi,
    I am using Essbase 11.1.2 on UNIX.
    I have maxl script which will load 20 to 30 extraction file. Number is inconsistent. Extraction files will grow each month. Extraction files are with same name with the suffix _1,_2...(2 Gb thing). My previous script was hard coded to load file by file to load up to 50 files. I am trying to remove these hard coded lines, and try to loop the “load” statement. I have tried several ways using while loop in shell to call maxl /msh , but no luck. Any ideas?
    Thanks

    A very similar question was asked recently (but for Windows): Re: Maxl to import datafolders
    What have you tried? Maybe someone here can show you what's wrong with your script.
    The approach I usually take with this type of problem is to write a script that dynamically builds one single MaxL script with the appropriate number of files, rather than calling MaxL multiple times.
    I am generally too ashamed to share my Unix scripts, but at it's most basic, non-error-trapped, probably-inadvisable-and-full-of-holes-for-all-kinds-of-reasons, you could include something like this to build your load script:
    ls filename*.txt | awk {'print "import database etc... "$1" ...on error etc;"'} > scriptname.mshSince you can nest MaxL scripts, you can then reference scriptname.msh from a static 'master' script which handles login / spool on / spool off / logout as appropriate. See http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_tech_ref/maxl_commands_nesting.html or Cameron's 2009 K'scope presentation: http://odtug.com/apex/f?p=500:575:526121996615242::NO::P575_CONTENT_ID:4605

  • Auto-kick off MaxL script after Oracle GL data load?

    Hi guys, this question will involve 2 different modules: Hyperion and Oracle GL.
    My client has their accounting department updating Oracle GL on a daily basis. My end-user client would like to write a script to automatically kick off the existing MaxL script which is for our daily data load in Hyperion. Currently, the MaxL script is manually executed.
    What's the best approach to build a connection for both modules to communicate with each other? Can we use a timer to trigger the run? If so, how?

    #1 External scheduler.
    I've worked on Appworx and it has build a chain dependent task. There are many other external schedulers like Tivoli,....
    #2 As Daniel pointed out you can use Windows scheduler.
    For every successful GL load add a file to a folder which is accessible for your Essbase task.
    COPY Nul C:\Hyperion\Scripts\Trigger\GL_Load_Finished.txt
    Create another bat file which is scheduled to run on every 5 or 10 mins (this should start just after your GL Load scheduled task)
    This is an example i've for a triggered Essbase job.
    IF EXIST %BASE_DIR%\Trigger\Full_Build_Started.txt (
    Echo "Full Build started"
    ) else (
         IF EXIST %BASE_DIR%\Trigger\Custom_Build_Started.txt (
         Echo "Custom Build started"
         ) else (
              IF EXIST %BASE_DIR%\Trigger\Post_Build_Batch_Started.txt (
              Echo "Post Build started"
              ) else (
              IF EXIST %BASE_DIR%\Trigger\Start_Full_Build.txt (
              Echo "Trigger found starting batch"
              MOVE %BASE_DIR%\Trigger\Start_Batch.txt %BASE_DIR%\Trigger\Full_Build_Started.txt
              call %BASE_DIR%\Scripts\Batch_Files\Monthly_Build_All_Cubes.bat
              ) else (
                   IF EXIST %BASE_DIR%\Trigger\Start_Custom_Build.txt (
                   Echo "Trigger found starting Custom batch"
                   MOVE %BASE_DIR%\Trigger\Start_Custom_Batch.txt %BASE_DIR%\Trigger\Custom_Build_Started.txt
                   call %BASE_DIR%\Scripts\Batch_Files\Monthly_Build_All_Cubes_Custom.bat
                   ) else (
                        IF EXIST %BASE_DIR%\Trigger\Start_Post_Build_Batch.txt (
                        Echo "Trigger found starting Post Build batch"
                        MOVE %BASE_DIR%\Trigger\Start_Post_Build_Batch.txt %BASE_DIR%\Trigger\Post_Build_Batch_Started.txt
                        call %BASE_DIR%\Scripts\Batch_Files\Monthly_Post_Build_All_Cubes.bat
    )So this bat file if it finds Start_Full_Build.txt in the trigger location, it'll rename that to Full_Build_Started.txt and will call the Full Build (likewise for custom and post build)
    Regards
    Celvin
    http://www.orahyplabs.com

  • Solution to Errno:7 in MaxL for Essbase Studio redeployment scripts

    This is an answer to an archived forum post that I found via a Google search.  The forum post no longer accepts replies.  The forum post contained an unanswered question about how to resolve "Errno:7" in MaxL in release 11.1.2.3 when trying to redeploy an outline through Essbase Studio.
    I encountered the same error in a client environment and could not find any resolution or references to this in the Knowledge Base, patches, release notes, etc.
    I wanted to post the resolution that worked for me, in case someone else encounters Errno:7 in MaxL.
    In this particular instance, the MaxL "deploy outline" script worked fine until we upgraded 11.1.2.1 to 11.1.2.3.  After upgrading, we could still connect to the Essbase Agent via MaxL, but the "deploy outline" script fails with "Not able to connect to BPM Server. Errno:7" and "BPM Connect Status: Error".  No evidence of the error could be found in the logs for the Essbase Agent, the Essbase application in question, and Essbase Studio.  Using the Essbase Studio Console to redeploy the outline worked fine.
    The root cause was learned when we ran the EPM Registry Editor to view a registry report.  The report showed that while Essbase Studio was correctly listening on port 5300, the web port was still on the old 11.1.2.1 port (9080) instead of the port 11.1.2.3 was expecting (12080).  This port number is not exposed to us if we go back into the EPM Configuration tool and drill down to Essbase Studio.  The config tool only allows us to change the relational database connection and the "datafiles" folder location.  Running "netstat -na" from the command prompt confirmed that the server was listening to 9080 instead of 12080.
    Using the EPM Registry Editor command-line tool to update the port's property value and then restarting the Essbase Studio service fixed the issue for us.  If you read the Essbase Studio documentation as I did, you may have had the impression that editing a file on the server would do the trick.  But the Readme for Essbase Studio 11.1.2.3 provides the real answer:
    "Starting in Release 11.1.2.3, the following Essbase Studio server properties are stored in the
    Oracle Hyperion Shared Services Registry database.
    The 11.1.2.3 Oracle Essbase Studio User's Guide describes all server properties as being in the
    server.properties file. To view or modify the settings in Shared Services Registry, use the
    epmsys_registry utility, described in the Oracle Enterprise Performance Management System
    Deployment Options Guide."
    I hope this helps and good luck!

    Hi Santy,
    Here's the original forum post: Essbase Studio Cube deployment via MaxL error
    In that thread, someone had questioned if an 11.1.2.2 MaxL client could still connect and bypass the error.  I happened to have a laptop handy with the 11.1.2.2 MaxL client installed on it and was able to test that.  The 11.1.2.2 MaxL client got the error as well.
    In my 11.1.2.3 environment I tried both the 32-bit and 64-bit MaxL runtimes and verified both were on the latest available Essbase patch set for 11.1.2.3.  Again, they still got the Errorno:7 message.  The problem was only fixed after updating the "server.httpPort" property value via the epmsys_registry tool.
    Regards,
    - Dave

  • Upgrading from 11.1.1.2 to 11.1.2.1 question(s)

    Hey guys, I have a question about upgrading Essbase. I'm pretty new to Essbase and most of my experience with it has to do with loading data and MAXL.
    my environment is setup as follows:
    App box 1 - Essbase 11.1.1.2 - AIX
    App box 2 - Essbase 11.1.1.2 - AIX
    Web box 1 - Websphere, APS, EAS, SS, Dodeca
    Web box 2 - Websphere, APS, Dodeca
    F5 Load balancer in front of the web tier
    I believe they have APS and Dodeca clustered. App box 1 and 2 have different Essbase applications running on each box.
    My first thought was to upgrade Essbase and migrate the cubes for both applications at once. Further down the road that could be 5-6 applications and it doesn't look so easy.
    So my question is, is it possible to upgrade only one of the application boxes and web tier to 11.1.2.1?
    Possible setup might look like this:
    my environment is setup as follows:
    App box 1 - Essbase 11.1.1.2 - AIX
    App box 2 - Essbase 11.1.2.1 - AIX
    Web box 1 - Websphere, APS, EAS, SS, Dodeca
    Web box 2 - Websphere, APS, Dodeca, SS 11.1.2.1, EAS 11.1.2.1, APS too?
    F5 Load balancer in front of the web tier
    Would you upgrade all the web tier and just have App box 1 on an older version of Essbase?
    If anyone has any suggestions on sites/material to catch up on it would be appreciated (I'm working my way through epm_install_11121, epm_install_start_here and epm_install_troubleshooting right now).
    Thanks,
    Phil Matre

    John, thanks for taking the time to read over my issue. We got a hold of an Oracle engineer and this is what he had to say "Shared Services must be at the same level across all applications! So net is you can’t mix the two. Also the upgrade to 11.1.2.1 is NOT an in place upgrade, must be a new environment."
    So the WebLogic part was another question bouncing around in my head. I guess I didn't want to believe I would have to use it. In the end it will probably save us some dollars on two WebSphere licences. The boss men will be happy about that. I hope all upgrades are this exciting!
    Thanks,
    Phil

  • Updating filters with '-' (dash) in the name w/ MaxL

    Hi,
    We have a slew of filters that need to be changed/updated due to the latest system change and I would like to use MaxL and write a script that will do this for me.
    For half the filters testing went well, however the second half of the filters have a '-' (dash) in the name and so when I type (ex):
    create or replace filter App.DB.maxL-filter read on '@IDESCENDENTS("outline member")';
    I end up with the following error:
    ERROR - 1242021 - (1) Syntax error near -.
    So, I'm sure it's complaining about the name, but am wondering if it is at all possible for MaxL to update these filters and I'm really missing something on the syntax, or am I doomed doing all 120 of them by hand... :-(
    Any ideas are highly appreciated.
    Thanks much!
    --Naf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi,
    I was actually able to find the answer to my question through some tiral and error. So here it is in case someone ever wonders about it:
    create or replace filter App.DB.'maxL-test' read on '@IDESCENDENTS("Outline Member")';
    Please note in the above that the name in the filter is enclosed in single quotations as: 'maxL-test'
    This essentially tells Essbase to treat the entire maxL-test as the name of the filter and not try and interpret the dash (-) as an operator.
    To address the answer Glenn gives: '@IDESCENDENTS("Outline Member")' is syntax required for each filter to work as Essbase needs outline member to be in double quotes when they have special characters in the names, such as, space.
    Thanks to anyone for looking into this.
    --Naf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Problem with Essbase variable setting in maxl

    Hi,
    I have a short question about changing variables using maxl.
    I used the following statement to change the variable value to 'Jan'.
    alter database Testapp.Plan1 set variable TestVar Jan;
    The problem is that this does not change the value of the variable. No error is reported though.
    The variable is explicitly initialized on this database (so I didn't use the 'all dbs' setting).
    I just don't see where I'm going wrong. Do you guys have any idea?
    Thanks for your answer :)
    Mike

    Hi,
    Looks valid to me....
    All of the following combinations work and update the variable value.
    MAXL> alter database Sample.Basic set variable CurrMonth Jan;
    OK/INFO - 1056023 - Database Sample.Basic altered.
    MAXL> alter database Sample.Basic set variable CurrMonth 'Feb';
    OK/INFO - 1056023 - Database Sample.Basic altered.
    MAXL> alter database Sample.Basic set variable 'CurrMonth' 'Mar';
    OK/INFO - 1056023 - Database Sample.Basic altered.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Maxl  script for delete alias

    Hi All,
    wen im loading the all the dimensions we have to delete all alises and reload all the dimensions
    How can i delete alias for every load using maxl or any thing else
    Thanks

    Dear user98631,
    I was going to refer you to this link: Re: HOW can i delete the members in dim using MAXL but I find that you are one and the same as the OP of that thread so you've already got the gen on what MaxL can and cannot do.
    So, briefly, there is no MaxL command to delete aliases.
    What you could do is create a dimension load rule that load blanks to aliases. This would require a rebuild of each dimension that you wanted to impact.
    I'm a little confused, though.
    You wrote:
    wen im loading the all the dimensions we have to delete all alises and reload all the dimensions
    How can i delete alias for every load using maxl or any thing else Do you want to delete the aliases from existing dimensions, or delete all of the dimensions and rebuild them from scratch?
    If you want to do the latter, the previous thread linked above ought to do it. If you don't want aliases, just ignore the column with the aliases in your build table/file.
    Does this answer your question?
    Regards,
    Cameron Lackpour

  • Maxl statement create or replace database freezes essbaseserver

    We run on daily basis maxl scripts to copy database from one application to another.
    with statements like:
    alter system logout session on database 'Devel_H'.'HRM';
    create or replace database 'INform'.'HRM' as 'Devel_H'.'HRM';
    We just migrated (from esb7.1) to essbase 931 on a win2003 professional server 64 bit.
    Overall performance looks better then before. (like calcs and retrievals)
    But this proces of creating db takes far longer and even freezes all other stuff on this server.
    This happens with large (20GB) and small (3Gb) databases. Only the freeze period divers.
    Also EAS sessions and WA sessions are frozen the whole periode of the create.
    What could cause this behavior?

    Since I have an idea it’s an OS matter and not an Essbase an another question/answer which might lead to an solution:
    What (on os level) happens during a "create or replace...." command:
    For sure its not a simple xcopy or copy command. Since the files are filled step by step (terrible slow) and not just copied.

  • How to run a maxl command

    Sorry for the very basic question, but I don't know where to start with it...
    What do I have to do to run a maxl command?
    I suppose I have to do something from Essbase administartion services, right?
    Thanks

    What version of EPM are you on?
    If its 11.1.1.x, go to command prompt & type essmsh and enter. See if that opens maxl session.
    If its 11.1.2.x, type startmaxl.bat instead of essmsh in above step & see if maxl session opens.
    You can execute MaxL statements in Essbase Admin. Console too.
    Regards,
    Santy.

Maybe you are looking for