MaxL 6.5 backslashes

I believe that in version 6.5, anytime you want to use a "\" (like in a full path) it MUST be preceded by an escape \, otherwise it is ignored. This is a change from 6.2.Correct me if I am wrong.If I am right, why couldn't Hyperion note this in a prominent place instead of hiding it in the regular MaxL documentation? All MaxL scripts need to be updated for this!Harold

All backslashes '\' must be doubled '\\' else Maxl will not recognise them.egspool on to 'K:\\ESSBASE\\SCRIPTS\\CCD\\BLDTBL.LOG';

Similar Messages

  • The directory name is invalid

    Can anyone explain how to avoid this error when using CreateProcess to launch a java app from within a Windows Service.
    The exact same call works fine when executed from the context of a Windows application or Windows Command Windows (DOS box). Yet, it fails when invoked from a Windows service.
    I've tried all the standard tricks of running the services as a specific user, granting FULL rights to all user ID on my machine, etc.
    Is there something weird about the relationship between a service and the java engine. It looks like the java engine doesn't even get launched...

    Have a read of Techincal reference document on 'Quoting and Special Characters in MaxL'.
    I just picked these lines for you,
    One backslash is treated as one backslash by the shell, but is ignored or treated as an escape
    character by MaxL. Two backslashes are treated as one backslash by the shell and MaxL.
    Hope it helps.

  • Error is not getting logged in error file while running dataload maxl

    Hello All,
    I am running a Maxl to load data in a database which is running fine but noted a weird issue that the errors are not getting logged in error file. Suppose i changed the name of data file then it should give error something like
    ERROR - {Error no.} - Unable to open file {filename} which should be logged in error file but my error file is still empty.
    I am using the Maxl -
    import database {dbname} data from data_file {filename} on error append to "D:/Error/errorfile.err";
    Any inputs please...
    Thanks

    Try to use single quotes and the backslash. It may depend on the operating system and /or the version of essbase used. This is an example from one of my maxls:
    on error append to 'D:\Hyperion\logfiles\myload.err';
    cheers, chris

  • Double Quotes in MaxL Strings

    I am trying to pass in a calc script string from a Perl script to a MaxL script. The calc script needs double quotes around some of the member names (yes, I know I can create aliases with underscores to work around this, but I can't believe this isn't possible). I can escape the double quote characters in Perl, no problem. But the double quotes just get stripped by MaxL. Here is an example:<BR><BR>MAXL> echo 'I am "quoting" this';<BR><BR>I am "quoting" this<BR><BR>MAXL> set X = 'I am "quoting" this';<BR><BR>MAXL> echo $X;<BR><BR>I am quoting this<BR><BR>MAXL><BR><BR>There is nothing in the docs about escaping double quote characters. I've tried using backslash, no luck there. I've tried using double double quotes and they all get stripped. I've tried doing this inside single quoted strings and double quoted strings - no joy whatsoever. The funny thing is the example above, where simply echoing the literal string works, but assigning it to a variable strips out the double quotes.<BR><BR>Does anyone know how to get double quotes into a MaxL string variable? There has to be a way...<BR><BR>Thanks,<BR><BR>James

    Yes, I've dealt with enclosing variables in double quotes in order for MaxL to parse them properly, but what I'm trying to do is use a variable that contains a double quote. Such as:<BR><BR> set QuoteVar = 'I am "quoting" this';<BR><BR>I'm trying to set substitution variables via MaxL, and some of my existing sub vars have double quotes in them so that they can be used to store member names that appear in calc scripts. As I said, I know I can accomplish this with an alias table that creates a version of the member name that doesn't need quotes, but that's a whole deal to maintain just for this one thing and it seems overly burdensome for such a simple task.<BR><BR>Also, as I said, MaxL does fine with double quotes in literal strings, it's only when assigned to variables that it always strips them out. I want to create a relatively generic script for setting sub vars, so I need to pass variables around. Just calling MaxL from Perl and passing in parameters that get converted to $1, $2, etc. causes these double quotes to get stripped.<BR><BR>So, is there any way around this?<BR><BR>Thanks,<BR><BR>James

  • Maxl parameterizing entire path using servername

    I want to use environment (or local if environments not possible) to parameterize three paths for source files for Maxl imports and destination files for exports. Easy enough when the path is the essbase server ($Arborpath etc.) The problem arises when I want to use a path with a servername in a variable. For example:
    import database sample.basic data from data_file "$Testpath\\Calcdat.txt" on error abort;
    where Testpath = \\EssServerName\Dirname\SubDirname
    at the moment TestPath = \\Forbin\MTGTools\Maxl BUT I've tried many permutations of slashes, double slashes, (even tried triple slashes on the servername which works in some circumstances), quotes etc. along with "' (double quotes surrounding single quotes)
    I've gotten variations of this to work fine right up to the point of using the servername with the variable.
    The expanded statement looks perfect in the console black screen but of course that's not reliable.
    Thanks much for your help.
    Ron

    Okay, how about this:
    spool on to "\\$COMPUTERNAME\\temp\\For_Ron.log" ;
    login "admin" "password" on "$COMPUTERNAME" ;
    exit ;Which produces the log file (in c:\temp):
    MAXL> login "admin" "password" on "DEMO1113" ;
    OK/INFO - 1051034 - Logging in user [admin].
    OK/INFO - 1051035 - Last login on Tuesday, March 30, 2010 5:25:13 PM.
    OK/INFO - 1241001 - Logged in to Essbase.
    I'm not seeing a need for quadruple backslashes to get UNC naming, which I think is the need (if this indeed be on Windows). *nix I couldn't say.
    I don't think import would be any different than spool, although I could always be surprised.
    Regards,
    Cameron Lackpour
    Edited by: CL on Mar 30, 2010 5:28 PM
    Of course I could be missing the whole point, again, so who knows.

  • Maxl Import Data Error

    I am getting the following error when i try to do import of Data into Database using MAXL.Can you please let me know what i am doing wrong.I am trying to incorporate this into a script.
    MAXL> import database 'HQFPA'.'HQFPA' data from local text data_file 'E:\\Hyperion\\AnalyticServices\\app\\HQFPA_Level0.txt';
    ERROR - 1242020 - (1) Syntax error near end of statement.
    importing Databases for HQFPA.HQSLP
    MAXL> import database 'HQFPA'.'HQSLP' data from local text data_file 'E:\\Hyperion\\AnalyticServices\\app\\HQSLP_Level0.txt';
    ERROR - 1242020 - (1) Syntax error near end of statement.
    Any help would be greatly appreciated.
    Thanks,
    Chandra

    Chandra,
    There's nothing that I can see wrong with your syntax. For giggles, I wrote an import statement against sample basic on my laptop (no load rule, just like yours) and stuck it into a three line MaxL script (login, import, exit):
    import database 'sample'.'basic' data from local data_file 'c:\\hyperion\\essbase\\app\\sample\\basic\\calcdat.txt' on error abort ;
    It works.
    BTW, this also works:
    import database sample.basic data from local data_file 'c:\hyperion\essbase\app\sample\basic\calcdat.txt' on error abort ;
    Isn't MaxL neat? :)
    Are you sure that your pathing is correct?
    Regards,
    Cameron Lackpour
    Edited by: CL on Dec 5, 2008 12:47 PM
    BTW, that first import statement has a double backslash between basic and calcdat but it doesn't show up after it's posted yet it is there when I edited it. It must be something to do with the way it gets wrapped in my browser.
    Edited by: CL on Dec 5, 2008 12:51 PM
    This also works (added text property to data_file):
    import database sample.basic data from local text data_file 'c:\hyperion\essbase\app\sample\basic\calcdat.txt' on error abort ;

  • Maxl import on error write to error

    I created a Maxl import data script to load data using SQL. The execution works when the on error is set to abort, however, when I set the on error to write or append I receive a syntax error message.
    I set the path in script editor as on error write to 'c:\\hyperion\dataload.err' but it appears in the MaxL statement window as on error write to $outfile_sree1.
    Does anyone know what might cause this error?
    Edited by: user10615431 on Dec 30, 2008 7:26 AM

    below is the Maxl script I use to import data into one of our databases. I do not use a double backslash in the file path.
    Good Luck,
    Scot
    /*** Login to essbase server ***/
    /*** login $1 $2 on $3; ***/
    login 'userid' 'password' on 'Server';
    /*** Set output file to spool all error messages only ***/
    spool stdout on to 'D:\Hyperion\Automation\Logs\GAAPPlan_Yearly_Load_Essbase.LOG';
    spool stderr on to 'D:\Hyperion\Automation\Errors\GAAPPlan_Yearly_Load_Essbase.ERR';
    /*** Clear data in GAAPPlan for the current year ***/
    execute calculation 'GAAPPlan'.'GAAPPlan'.'ClrACrYr';
    /*** Import data from the FACT_GAAPPlan_YEARLY table using a load rule ***/
    import database 'GAAPPlan'.'GAAPPlan' data connect as 'SQLUSERID' identified by 'SQLUSERID_Password' using server rules_file 'LdACrYr.rul' on error write to 'D:\Hyperion\Automation\Logs\GAAPPlan_Yearly_DataLoad_Essbase.log';
    /*** Calculate data in GAAPPlan for the rolling month ***/
    execute calculation 'GAAPPlan'.'GAAPPlan'.'ClcACrYr';
    spool off;
    logout;
    exit;

  • Maxl - .bat ERROR

    This maxl script works perfectly when run within EAS maxl editor (minus the login and spool), when we run it via a .bat file the calculation will run but nothing else.
    Any help please????? thanks!!!!!!!
    Here's the maxl script:
    login '*****' '******' on devhypeb01;
    /*spool on to '\sacfs1\data\Apps\Hyperion\DEV\Logs\Clear_Build_Load.log';*/
    /*Clear out Actual and Projection before loading new members and data*/
    execute calculation 'DEV_Ace'.'AceRptg'.'clrAnP';
    /*Load new members*/
    import database Dev_Ace.AceRptg dimensions
    connect as 'user1' identified by 'password' using server rules_file 'Both'
    on error append to 'C:\memberload.err';
    /*Load Data*/
    import database 'Dev_Ace'.'AceRptg' data
    connect as 'user1' identified by 'password' using server rules_file 'Both'
    on error append to 'C:\dataload.err';
    /*Load new member aliases*/
    import database 'Dev_Ace'.'AceRptg' dimensions
    connect as 'user1' identified by 'password' using server rules_file 'AliaBLD1'
    on error append to 'C:\Aliasload.err';
    spool off;
    logout;
    ERROR FILE:::::::::
    MAXL> execute calculation 'DEV_Ace'.'AceRptg'.'clrAnP';
    OK/INFO - 1012558 - Clearing all data blocks from [(ALL)] partition with fixed members [Scenario(Actual)].
    OK/INFO - 1012675 - Commit Blocks Interval for the calculation is [3000].
    OK/INFO - 1017018 - Removed [0] data blocks.
    OK/INFO - 1012558 - Clearing all data blocks from [(ALL)] partition with fixed members [Scenario(Projection)].
    OK/INFO - 1012675 - Commit Blocks Interval for the calculation is [3000].
    OK/INFO - 1017018 - Removed [0] data blocks.
    OK/INFO - 1012579 - Total Calc Elapsed Time for [clrAnP.csc] : [43.437] seconds.
    OK/INFO - 1013274 - Calculation executed.
    MAXL> import database 'Dev_Ace'.'AceRptg' dimensions
    2> connect as 'user1' identified by 'password'     using server rules_file 'Both'
    3> on error append to 'C:\Hyperion\products\Essbase\eas\client\memberload.err';
    ERROR - 1242021 - (2) Syntax error near ['"'].
    MAXL> import database 'Dev_Ace'.'AceRptg' data
    2> connect as 'user1' identified by 'password'     using server rules_file 'Both'
    3> on error append to 'C:\Hyperion\products\Essbase\eas\client\dataload.err';
    ERROR - 1242021 - (2) Syntax error near ['"'].
    MAXL> import database 'Dev_Ace'.'AceRptg' dimensions
    2> connect as 'user1' identified by 'password'     using server rules_file 'AliaBLD1'
    3> on error append to 'C:\Hyperion\products\Essbase\eas\client\Aliasload.err';
    ERROR - 1242021 - (2) Syntax error near ['"'].
    MAXL> logout;

    MaxL quotes are a stinker and trip people up constantly. It wouldn't surprise me in the least if EAS' MaxL editor worked differently than "the real world".
    I wrote a whole blog post on MaxL and quotes (who would have thought there was a subject there, but if you wade through the cutesy muck, there is value there):
    http://camerons-blog-for-essbase-hackers.blogspot.com/2009/10/escaping-maxl-quotes.html
    The two rules I follow are:
    1) Use double quotes
    2) Double escape backslashes
    FWIW, you can also use single forward slashes.
    The inconsistencies are confusing.
    Regards,
    Cameron Lackpour

  • Maxl script unable to read/write to a folder

    When logged in to EAS, we are trying to run a maxl script to read/write to a report script in a particualr folder on the server. Even though the eas login username has write permissions to that folder, the maxl keeps saying: unable to open file.
    Is there any internal Hyperion service account that should specifically have write permissions to the folder?
    here is the maxl:
    SPOOL ON TO 'D:\Oracle\WE.log;
    LOGIN 'username' 'password' on 'server1';
    ALTER SYSTEM LOAD APPLICATION 'Plan1';
    ALTER APPLICATION 'Plan1' LOAD DATABASE 'Main';
    export database Plan1.Main using report_file 'D:\Oracle\WE.rep' to data_file 'D:\Oracle\WE.rpt';
    SPOOL ON TO 'D:\Oracle\REV.log';
    When we run it, we get the following error:
    It gets past the alter systen and alter application commands, and then:
    'Unable to open file ['D:\Oracle\WE.rpt']

    Have you tried running it from a maxl session and not EAS, if you are testing using maxl you may need double backslashes instead of single ones.
    Have you tried with the report script in the database app folder and using the server option - export database Plan1.Main using server report_file 'WE' to data_file 'D:\Oracle\WE.rpt';
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • 1005000 &1005029 Essbase Error - MaxL Export database

    Hi, I'm trying to export data in a MaxL command called by a Perl program (automated batch process) using the following command: export database StgAll.StgAll level0 data in columns to data_file 'H:/Export_folder_server09/StgALL_export_server.txtThe Perl program is called from the server 04 and it export a database on the server 09. The ?H:/Export_folder_server09/? directory is mapped ?network driver? on the server 04. I get the following Error message: Executing [export database StgAll.StgAll level0 data in columns to data_file 'H:/Export_folder_server09/StgALL_export_server.txt']... 1005029 - Parallel export enabled: Number of export threads [1] 1005000 - Ascii Backup: Failed to open [H:/Export_folder_server09/StgALL_export_server.txt]. 9 - Essbase error encountered: [GetProcessState] [1005000] 51 - MaxL execution failedWhat am I doing wrong?Someone can help me ?Thanks in advance, Manon

    I'm not certain if thi sis your problem, but I believe it has something to do with the way you are using / marks in your directory path.Take a look at this excerpt from the MaxL tech doc. I hope this helps you.Use of backslashesIgnored unless preceded by another backslash (the escape character). Must use single quotation marks around the token containing the two backslashes.Example: create or replace group 'R\\D';Result: Group R\D is created.Example (Windows): export database sample.basic using report_file 'Essbase\\App\\Sample\\Basic\\asym.rep' to data_file 'c:\\home\\month2.rpt'; Result: The Windows file paths are interpreted correctly as Essbase\App\Sample\Basic\asym.rep and c:\home\month2.rpt.

  • MaxL with DATAEXPORT and passed parameters

    Have a MaxL script that is passed four parameters.
    Within the MaxL script I am executing a DATAEXPORT calculation, not a calc script.
    I want to use some of the parameters as part of the output filename. I have tried various combintaion of single quotes, double quotes, backslashes, etc. on the output filename but can't seem to come up with the right combination. Always seems to produce ERROR - 1242021 - (11) Syntax error near....
    Any ideas, suggestions or am I wasting my time on this one?
    Thanks,
    Tom
    System 9BI+ running on Windows
    /* ===========================================================================      */
    /* : Required Parameters      */
    /* : $1 - ID      */
    /* : $2 - password      */
    /* : $3 - app name      */
    /* : $4 - db name                                        */
    /* ===========================================================================      */
    login $1 $2 on 'localhost';
    execute calculation
    'SET DATAEXPORTOPTIONS
    DataExportLevel "LEVEL0";
    DataExportRelationalFile ON;
    DataExportOverwriteFile ON;
    DataExportDynamicCalc OFF;
    DataExportColFormat ON;
    FIX("CY2010");
    DATAEXPORT "File" "," E:\Hyperion\AnalyticServices\app\$3\$4\CY2010Data.txt "#MI";
    ENDFIX;'
    on $3.$4;
    spool off;
    logout;
    exit;

    Hi,
    I don't think the DATAEXPORT command likes parameters but there is a way around it, it does accept a substitution variable for the whole path and filename.
    If you create a sub var (in my example I have already created one called "ExpFile") then in your maxl script you can set the variable with the full path and filename and then call the subvar in the DATAEXPORT command
    You could do it with something like
    login $1 $2 on 'localhost';
    alter system set variable ExpFile "&#92;"E:&#92;&#92;Hyperion&#92;&#92;AnalyticServices&#92;&#92;app&#92;&#92;$3&#92;&#92;$4&#92;&#92;CY2010Data.txt&#92;"";
    execute calculation
    'SET DATAEXPORTOPTIONS
    DataExportLevel "LEVEL0";
    DataExportRelationalFile ON;
    DataExportOverwriteFile ON;
    DataExportDynamicCalc OFF;
    DataExportColFormat ON;
    FIX("CY2010")
    DATAEXPORT "File" "," &ExpFile "#MI";
    ENDFIX;' on $3.$4;
    logout;
    exit;
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Urgent - Dimension Build Error - Maxl Editor

    I have the following Statement<BR><BR>import database 'ASOmkv5'.'ASOmkv5' dimensions from data_file timedim using rules_file ASOmkv5 on error write to 'ASOmkv5_logfile';<BR><BR>I get the following Errors<BR><BR>Object [ASOmkv5] is locked by user [jtest]<BR>Object [57774682] is locked by user [jtest]<BR>Cannot access object: ASOmkv5.rul<BR>Object [57774682] is unlocked by user [jtest]<BR>Unexpected Essbase error 1030200<BR>Object [ASOmkv5] is unlocked by user [jtest]<BR> <BR><BR>

    I suspect that it is not finding your rules file.<BR><BR>Try modifying the line to add "server" as in <b><i>using server rules_file 'ASOmkv5' </i></b>, also, single quoting the filename is probably a good practice.<BR><BR>I'm always careful about using the "server" keyword when using any file from a source in the database directory. I work on a Windows server and have found that MAXL is sometimes a little erratic in parsing filenames. Escaping backslashes can be a particular problem.<BR><BR>In your example, I'd try the server file location first.

  • Maxl embedded double quotes

    Hi, I cannot find out how to embed double quote in a shell variable.I'm using Essabe v 6.5.1, Maxl build 122(in fact it is IBM DB2 Olap 8.1/Fix1)on AIX (with DB2 UDB v 7.1).Example: set var='"P1"';gives P1 as the content of the var variable; the content should be "P1"(with double quotes); I've tried with all combinations ofsingle and double quotes, slash and backslashes bud didn't succed.I you have answer to this, you don't need to read the rest of the post*because, my main goal is to create filter using position parameter variables which contains numericcharacters. For example: maxl -a 028Now, the content of $1 is 028and I'm trying to create filter:create filter app.db.flt_name read on "'$1'";but I get an error; if $1 containsalpha character (e.g. P1) everything isOK); If I use constant:create filter app.db.flt_name read on '"028"';it is also ok (note, now single quotes are going the first and double quotes follow)I suppose, if there is a way to embed double quote in a variable then I could resolve this filter creation problem.Thanks & Regards

    What shell are you using. When I try this with ksh (omitting set), it works.>var='"P1"'>echo $var"P1"Jerry Ursetti

  • Regarding Maxl Script

    Hi Frnds,
    I have built an ASO cube and to automate it i have wrote the maxl script
    login 'essadmin' 'essadmin' on 'Mer1-essbaset02';
    alter system load application dirsal12;
    alter application dirsal12 load database dirsal12;
    alter application dirsal12 disable connects;
    import database dirsal12.dirsal12 dimensions
    connect as 'olap_load' identified by 'ol_load' using server rules_file 'timbuild',
    connect as 'olap_load' identified by 'ol_load' using server rules_file 'tolldim',
    connect as 'olap_load' identified by ol_load' using server rules_file 'misstoll',
    connect as 'olap_load' identified by 'ol_load' using server rules_file 'meddim',
    connect as 'olap_load' identified by 'ol_load' using server rules_file 'DMAbuild',
    connect as 'olap_load' identified by 'ol_load' using server rules_file 'clty_ser',
    connect as 'olap_load' identified by 'ol_load' using server rules_file 'weeksatt',
    connect as 'olap_load' identified by 'ol_load' using server rules_file 'medatt'
    on error append to 'd:\dirsal12\dimbuildlogs\dimbuilds.err';
    import database dirsal12.dirsal12 data
    connect as 'olap_load' identified by 'ol_load' using server rules_file 'dtload33'
    on error write to 'd:\dirsal12\dataload\dataload.err';
    alter application dirsal12 Enable connects;
    logout;
    when i run this maxl script iam ending up with fallowing message
    essmsh error : End of file breaks the statement
    Please let me know if you find any errors in the script.
    Thanks,
    Ram.

    Over all it does not look bad. If you are calling this from a batch file I would change all of your \ to \\ The backslash character is an escape character and modified the character following it. a double backslash will set the backslash. I would also suggest spooling the contents out to a log file and looking at it. I try things the simple way when they don't work for me. Comment out everything except the logon and logout and see if it works. If it does, then uncomment the next statement and try again. you can also try bringing up maxl interactively and cutting and pasting the statements in one at a time to see what it complains about.

  • Maxl iferror usage

    I think I am going crazy. This maxl statement works fine on unix.
    iferror 'errhandler';
    When recreated to run on windows I get
    ERROR - 1242021 - (1) Syntax error near 'iferror'. (square brackets removed due to message formatting thing)
    The remaining maxl statements run.
    I have checked the format of the file and I have tried the following combinations.
    iferror errhandler; (no quotes)
    iferror 'errhandler'; (single quotes)
    iferror "'errhandler'"; (single quote, double quote)
    iferror \"errhandler\"; (backslash double quote)
    iferror "errhandler"; (double quote)
    All producing the same error. Can anyone help with this issue?
    edited to add - v 9.3.1
    Edited by: DrFosterMan on Jan 7, 2010 5:07 AM

    Hmm, should work.
    Look at my code here.
    The script is for Windows.
    Could you have some crazy Unix-to-DOS CR/LF issue with the script? Have you tried writing a new one in Notepad?
    You should be able to run it from your Windows client if you have the Essbase client installed locally.
    Regards,
    Cameron Lackpour

Maybe you are looking for