Maxl - Shell Escape

Hi,
I have read the manual - which is very brief.
I have read Cameron's blog - Cameron's Blog For Essbase Hackers: Stupid Programming Tricks #12 -- How to trap for import errors in MaxL
But I cannot get my very simple; -
Shell del c:\temp\myfile.txt ;
To work.
The behaviour is that it seems that it is trying to run c:\temp\myfile.txt but not 'seeing' the del(ete) command.
My Version 11.1.2.2
I am running this from MaxL editor is EAS.
I have also tried
Shell "del c:\temp\myfile.txt" ;
But then I just get a message that Shell "del c:\temp\myfile.txt" ; is being ignored.
Anyone help please?
thanks,
Robert.
Shell del c:\temp\myfile.txt ;

Many thanks,
before I sprinkle you with 'correct' points, can you kindly explain the purpose of the /f in the line, is this some sort of continuation character, if there were multiple whitespace breaks in the line would I need to fill each space with a /f to 'tell' shell that there is more??
thanks,
Robert.

Similar Messages

  • MaxL Shell does not accept member "W?hrung NZ"

    I want to create a partition via MaxL using create partition. I need to map a member "W?hrung NZ". If I put in the MaxL statement interactively using the command shell, everything works out fine. But when I write down the statements in a file and start the shell by the command "essmsh filename", I get an error message, that the member "W?hrung NZ" does not map to an existing member. It seems to me, that the shell has problems interpreting the special character "?". Do you have any hints how to solve this problem?Thank you very much.Gerald

    One of our projects do input Chinese character as member name, it seems to work fine, will it cause future unexcepted problem?Their env is Essbase 6.5.4 + JDK 1.4 + Tomcat (under Windows 2000/Linux).

  • MaxL shell: show only db name from display database command

    Hello at all.
    I launch from MaxL command line shell the command: display database
    It response with some field but i need only the application and database field.
    Is possible ?
    How ?
    Thanks.
    Alessandro
    Edited by: Alessandro Celli on Mar 31, 2011 2:50 AM

    Hi ,
    to get details for the application : Refer to :
    http://download.oracle.com/docs/cd/E12032_01/doc/epm.921/html_techref/maxl/ddl/statements/dispapp.htm
    to get details for the db : Refer to :
    http://download.oracle.com/docs/cd/E12032_01/doc/epm.921/html_techref/maxl/ddl/statements/dispdb.htm
    It's damn easy
    Thanks,
    ColdFire

  • Maxl shell command not executing

    I'm running Essbase from a Solaris environment. I have a MAXL script that exports an Essbase database, shuts down Essbase, and issues shell commands to copy the Analytic Services directories to backup directories. The script was running without problems until a Solaris patch, generic patch 127111-09, was installed. Since then the shell commands are no longer executing. Does anyone know why these shell commands are no longer executing.
    Thanks,
    Tom

    Already checked, no change in the permissions. There was a bug, see link, when doing a recursive remove that was corrected. Not sure if this is related.
    Link: [http://bugs.opensolaris.org/bugdatabase/view_bug.do;jsessionid=fa9dddbcb3ede12a9d5b4a397cef?bug_id=4677347]
    Thanks,
    Tom

  • Run vbs script from maxl shell

    Hi -
    I created one vbs script (test.vbs) which copy file from one location to another one. I'm calling this vbs script from one maxl script (copy.msh).
    Here is the code in copy.msh:
    login "$user" "$pw" on "$server";
    shell "$(path)test.vbs xx.rul";
    When I run copy.msh script from windows command line, I get the window popup message:
    "Windows can not open this file test.vbs" ...
    Do I have to configure something on my machine to run vbs script? Any help on this would be highly appreciated.
    Thank You!

    Ensure the $path variable is being assigned the correct value. Based on the error you quoted, its not being assigned a value at all.
    It would help if you posted your actual code. Pls put the code inside {code} {code} tags for easier viewing.
    Robb Salzmann

  • Hiding password in MaxL output log

    On Win2K platform, I have a MaxL script that accepts 2 parameters and performs some actions.I invoke the script using a batch file in the following format:ESSMSH C:\scripts\Script1.msh AdminID passwordThe Maxl script sends all activity to a log file which is then automatically e-mailed to end users.The problem I have is that the log file contains the AdminID and password that was used in the MaxL script. I need all activity in the log because I automatically scan the log for errors.Is there a way using some of the available MaxL Shell Invocation flags that will perfrom the same action but hide the password from showing up in the log?Regards,Tom M.Essbase 6.5.4

    We just upgraded to Essbase 7.1.3. Due to security concern, our security auditor is concern we even see the password in the Malx output log. Even we try to doa grep -v or sed -e on the password line to replace the old log, there is still a good window long enough to people to see it.<BR><BR>I tried spool and set message level, but none of them hides the login statement display. I also tried to use shell escape feature to run old ESSCMD login with MaxL, but couldn't get it to work. I was wondering if anyone who may have a new solution to this problem that can fix it on the fly other than fix it after the entire process is complete.<BR><BR>Essbase really should consider provide an option to hide the password in the output logic, or pad it with XXXXXXXXX.

  • Is it possible to call a CMD or VBS within MAXL? Need script help

    Hello,
    I have a CMD script that uses MAXL to execute Essbase backups, the details of which are located in a txt file. That works fine, and I have the logs being sent to a folder.
    What I am trying to accomplish is AFTER it is finished running the backup, it calls a CMD script to parse the log file for errors, then either send a successful or failure notification through SMTP.
    I have all the scripts to perform the operations and they all function properly, but when I run it, the email is sent before the Essbase backup has completed.
    Is there a better way to do this like possibly calling the other CMD/VBS directly from within the MAXL shell? This is my current CMD file:
    Echo Calls Maxl shell with reference to EssbaseBackup.txt for variables
    call \\<server>\HyperionPlanning\App\Backups\MaxlBackup.cmd
    Echo Search Essbase Backup Logs for Errors
    findstr /c:"ERROR" \\<server>\HyperionPlanning\App\Backups\Logs\HyperionSetEssbaseForBackuplog.txt
    if %ERRORLEVEL% NEQ 0 goto NO_ERROR
    goto ERROR
    Echo Sends backup success mail
    :NO_ERROR
    \\<server>\HyperionPlanning\App\Backups\mail_send_success.vbs
    EXIT 0
    Echo Sends backup failure notification
    :ERROR
    \\<server>\HyperionPlanning\App\Backups\backup_failed.vbs
    EXIT 1MaxlBackup.cmd
    "C:\Oracle\Middleware\EPMSystem11R1\products\Essbase\EssbaseClient-32\bin\startmaxl.cmd" "\\<server>\HyperionPlanning\App\Backups\EssbaseBackup.txt"EssbaseBackup.txt
    spool on to '\\<server>\HyperionPlanning\App\Backups\logs\HyperionSetEssbaseForBackuplog.txt';
    set timestamp on;set timestamp off;
    login admin identified by <password> on <server>;
    alter system logout session on application App force;
    alter application App disable connects;
    alter database App.main force archive to file 'F:\Backups\App\Appmain.arc';
    alter database App.cap force archive to file 'F:\Backups\App\Appcap.arc';
    alter application App enable connects;
    set timestamp on;set timestamp off;
    logout;
    spool off;Edited by: Metatron on Mar 30, 2012 8:10 AM

    Try taking the code that is in the MaxLBackup.cmd and stick it into the root script just to remove that area of complexity. If that works, you might also try removing CALL from the line. Although I thought the point of CALL was to run another script and then return control to originating script.
    Here's some old (System 9.3.1) code that does what you're doing -- the pathing is wrong for 11x:
    REM Write filters to disc
    %hyperion_home%\products\Essbase\EssbaseClient\bin\essmsh.exe -D write_filters_to_disc.mshs %7,%8
    REM If error, go to end, else write
    IF ERRORLEVEL == 1 (SET errormsg=Error! - Read of filters from Essbase failed &     GOTO ERROR)The -D and .mshs are to handle an encrypted MaxL script.
    Regards,
    Cameron Lackpour

  • How to Hide username and password in command line using maxl

    Hi,
    How to encript my user name and password in command line prompt when I am login to Essbase server using batch file:
    *1_Here is my batch file:*
    Name of the bat file AV_Assig_Var1.bat
    rem This batch file defines the following variables:
    set $1 = 'admin';
    set $2 = 'password';
    essmsh AV_Asig1.mxl admin password
    ===========================
    *2_Here is my maxl file:*
    Name of the bat file AV_Asig1.mxl
    /* Create a process log */
    spool on to 'D:\lova\spool_log.txt';
    /* login (using variables from a batch file */
    login $1 $2 on 10.42.100.229;
    /* create application and database */
    create application AV_Asig1;
    create database AV_Asig1.AV_DB;
    /* End process log */
    spool off;
    exit;
    *3_Command line prompt*
    D:\Ess>AV_Assig_Var1.bat
    D:\Ess>rem This batch file defines the following variables:
    D:\Ess>rem 1: username
    D:\Ess>rem 2: password
    D:\Ess>essmsh AV_Asig1.mxl admin password
    Essbase MaxL Shell - Release 9.3.1 (ESB9.3.1.0.0A181)
    Copyright (c) 2000, 2007, Oracle and/or its affiliates.
    All rights reserved.
    MAXL> login admin password on *10.46.100.222*; /* I want to hide this information */
    OK/INFO - 1051034 - Logging in user [admin].
    OK/INFO - 1051035 - Last login on Monday, June 14, 2010 12:44:03 PM.
    OK/INFO - 1241001 - Logged in to Essbase.
    MAXL> create application AV_Asig1;
    OK/INFO - 1051061 - Application AV_Asig1 loaded - connection established.
    OK/INFO - 1054027 - Application [AV_Asig1] started with process id [6792].
    OK/INFO - 1056010 - Application AV_Asig1 created.
    MAXL> create database AV_Asig1.AV_DB;
    OK/INFO - 1054014 - Database AV_DB loaded.
    OK/INFO - 1056020 - Database AV_Asig1.AV_DB created.
    MaxL Shell completed
    D:\Ess>
    I am looking forward to inputs from anybody.
    Thanks & Regards,
    Deepthi.

    Beyond that thread, I gave a presentation at Kaleidoscope last year around MaxL that goes into quite a bit of depth re encryption and a whole bunch of other MaxL goodies.
    To download it, go to www.odtug.com, click on Tech Resources, Essbase/Hyperion, and use the search box for MaxL.
    There are two presentations, one by Tracy McMullen and the other by me. Tracy's is a good introduction to the various command groups; my presentation focused on a few areas in depth, one of which was encryption. The title is "Master Essbase with MaxL Automation".
    You will need to join ODTUG to download the presentation, but there is a junior membership that is free.
    Regards,
    Cameron Lackpour
    P.S. ODTUG Kaleidoscope 2010 is coming up in two weeks, starting on 27 June 2010 -- for those of you still on the fence, it is an awesome conference and I urge you all to come. The content this year will be fantastic.

  • Essbase JAPI maxl session gives NPE with import statement

    Anybody know why I get a NPE from the Java API when trying to use the IEssMaxlSession to do an import? Here's my code snippet. I've verified the session work using the simpler maxl command commented out below. I also know the import syntax is OK at the maxl prompt. Essbase Error(0) isn't the most helpful diagnostic I've come across.
    Thanks
    IEssMaxlSession maxlSess = null;
    try {
         maxlSess = olapSvr.openMaxlSession("Maxl Test");
                   try {
                        String maxl;
    //                    maxl = "display database \"184_r\".rep";
                        maxl = "import database \"184_a\".agg dimensions connect as \"admin\" identified by \"password\" using server rules_file '/TmpltRFs/RFs/Plan.rul' on error write to \"errlog.log\"";
                        logger.debug(maxl);
         maxlSess.execute(maxl);
         printMessages(maxlSess.getMessages());
                   } catch (EssException e) {
                        printMessages(maxlSess.getMessages());
                        logger.debug(e.getMessage());
                        e.printStackTrace();
    } catch (EssException e){
         logger.debug(e.getMessage());
    14:47:40 DEBUG (essbase.RunMaxl 109): Cannot execute maxl statement. Essbase Error(0): java.lang.NullPointerException
    com.essbase.api.base.EssException: Cannot execute maxl statement. Essbase Error(0): java.lang.NullPointerException
         at com.essbase.server.framework.EssOrbPluginDirect.ex_olap(Unknown Source)
         at com.essbase.server.framework.EssOrbPluginDirect.executeMaxlStatement(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMaxlMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source)

    This is due to the unpublished Bug 12661416: MAXL STATEMENT IMPORT DB DIMENSIONS FROM RELATIONAL DATABASE FAILS WITH JAPI. This error is not fixed in next release.
    However, there is one workaround.
    "As a workaround we installed Essbase client 9.3.1 on the epm11 test box, copied native libraries from 9.3.1 admin server and connected to maxl shell from the v 9.3.1 maxljni interface. This seems to work fine."
    Edited by: Karthik_P on Apr 9, 2012 1:12 PM

  • MaxL Spool Options

    MaxL Help for the Spool command says: ------------------------------------Log the output of a MaxL Shell session to a file. Send standard output, informational messages, error messages, and/or warning messages generated by the execution of MaxL statements to a file. If FILE-NAME does not exist in the current directory, it is created. If FILE-NAME already exists in the current directory, it is appended to or overwritten. Message logging begins with spool on and ends with spool off. ------------------------------------How can I tell it to append or overwrite? This indicates it will do either, but no instructions or examples are given on how to choose between appending or overwriting.Thanks for any help. (ver 6.5.4.2 on Windows)

    can you spool timestamp info to the spool file through Maxl

  • MAXL - Display Filter Row truncating filters

    Using the Display Filter Row command in MAXL, the filter details are being truncated to a 20 character width column. How can I affect the output to widen this column???<BR><BR>Example output:<BR>application database filter area privilege <BR>----------------------------------------------------------------------------+-------------------<BR> MyApp               MyDb                MyFilter           @IDESCENDANTS("Acco no_access    <BR><BR><BR>Hopefully this lines up in your display.<BR><BR>The @IDescendants statement goes on many mor characters than is being spooled out. <BR><BR>What am I missing? <BR><BR>Thanks!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

    There is a MAXL shell command <i>set column_width NN</i> The default is 20.<BR><BR>If you need 100 characters, the on the script line before your filter call,<BR>set column_width 100;<BR><BR>when complete, you can set the width bac to 20 with<BR>set column_width default;<BR><BR>THis command governs the output from the MAXL scripts.<BR>

  • MaxL Create Application Issue

    Hi,
    I am going through the MaxL shell.
    I am learning simple commands like create application.
    I have few questions regarding create an application from MaxL.
    The syntax is:
    create or replace application Application_Name type unicode/nonUniCode_Mode as CopyApplication_Name comment'xxxxx';
    when we create a application from MaxL the application is created is which type ? either it is ASO or BSO type?
    or how should i know whether it is ASO type or BSO type?
    If I have to create a application of particular one type i.e. ASO/BSO how could i achieve this?
    please Reply.
    Thanks

    Hi,
    You have different syntax for creating ASO and BSO applications using MAXL, the above stmt you mentioned is to create a BSO app.
    To create a ASO app, you use
    create [or replace] application APPNAME using aggregate_storage comment 'YOUR COMMENTS.';
    For more info refer below : http://docs.oracle.com/cd/E10530_01/doc/epm.931/html_esb_techref/maxl/ddl/aso/creapp_as.htm
    Cheers....!!!
    Edited by: 805248 on Oct 17, 2012 12:05 AM
    Edited by: 805248 on Oct 17, 2012 12:12 AM

  • Encrypted Maxl "Parse error near in" error

    Hello,
    I'm facing a "Parse error near in" error when trying to use encrypted Maxl scripts deploying Essbase Studio cubes.
    The problem seems to be in the deploy command. If I do not use encrypted Maxl ( -D option ), the same deploy command works fine.
    Look in the deploy command that I'm not using encryption for loging into Essbase Studio. Even using encryption the same error is issued.
    Here is the log: ( I changed sensitive information for obvious reasons )
    Essbase MaxL Shell - Release 11.1.2 (ESB11.1.2.1.0B347)
    Copyright (c) 2000, 2011, Oracle and/or its affiliates.
    All rights reserved.
    MAXL> login $key 99999999999999999999999999 $key 99999999999999999999999999 on s01ubd01;
    OK/INFO - 1051034 - Logging in user [ESBSAUH1@AD_Directory].
    OK/INFO - 1241001 - Logged in to Essbase.
    Essbase MaxL Shell - Release 11.1.2 (ESB11.1.2.1.0B347)
    Copyright (c) 2000, 2011, Oracle and/or its affiliates.
    All rights reserved.
    MAXL> deploy outline from model 'cboPremioModelo2' in cube schema '\BI_SAUDE\Cubos\Premio\cboPremio'
    with option delete_members login "xxx" identified by "yyyyy" on host "s01ubd01"
    to application "Premio" database "Premio" using connection "Essbase" keep all errors on error ignore dataload write to default;
    essmsh error: Parse error near in
    essmsh timestamp: Wed Jul 04 12:52:03 2012
    MAXL> logout;
    User esbsauh1 is logged out
    essmsh timestamp: Wed Jul 04 12:52:03 2012
    MaxL Shell completed

    There have been a number of MaxL bugs with encryption that produce 'Parse error near...' messages. If you login to Oracle Support and search the Knowledge Base on 'Parse error near' you will find them. I can't see anything specifically relating to 11.1.2.1 or a known defect in the release notes... ...I'd get a support ticket raised, if you haven't already.
    You don't mention platform, but I've also run into a bug running 'deploy' in 11.1.2.1 on a 64-bit Windows environment and there was a Unix bug too, but they both caused crashes so probably aren't your problem.

  • Maxl Script will not write to error file for data laod.

    Sorry Glenn here is the new thread. I re ran without the semi colon after data 3 and the same error came up without anything being written to the error file.
    I purposely removed a member from the orginal outline that is included in the data loaded but yet the error file is not written to. I tried doing the load manually but executing it in the background, error file is to be created on my local HD but it does not write it there. Checked the output and it is written to a directory located on the server. Although i think this is normal.
    Could it be that it will not write to a local drive? I am going to try specifying a spot on the server to see if it runs there.
    thanks
    Original post below.
    Hello,
    I am also having this issue.
    I will include my script below but will state some details before
    We are on Essbase 11.1.1.3
    I am running Admin Console from my client PC that connects to the server in the script and I read that in this set up the error file will not get written to. This documentation was for v 9.1.3
    Here is my script (i changed some of the names)
    login 'user' 'password' on server';
    create application 'Money1' as 'Money2';
    spool stderr on to 'errorfile';
    import database 'Money1'.'Main' data
    from local text data_file 'Money1_Data.txt'
    using server rules_file 'Data3'
    on error append to 'dataload.err';
    execute calculation 'CALC ALL;' on 'Money1'.'Main';
    logout;
    spool off;
    exit;
    here is the error output i get:
    code line: on error append to 'dataload.err';
    Statement executed with warnings.
    (3) Syntax error near ['$']
    I don't see a dollar sign anywhere in my code and the error file does not get produced.
    Also do error files get written too if the actins are executed in the background?
    Thanks!
    Alex

    This works for me in a MaxL script run through essmsh.exe:
    import database appname.dbname data from local text data_file "d:\\datafilename.txt" using server rules_file "rulename"
         on error write to "d:\\errorfilename.err" ;Sometimes EAS (I think you are running it through that) does weird things to MaxL. I eschew MaxL in EAS as much as possible (like 100% of the time).
    NB -- the datafilename and errorfilename and their drive letters are local to wherever you're running this process through the MaxL shell. I don't know how that works when you're running EAS -- are drives local to your session, local to the EAS server? Dunno. Leave EAS behind, buy TextPad (no I am not the author of that fine product) and download the MaxL syntax library, and be happy. :)
    Regards,
    Cameron Lackpour
    Edited by: CL on Oct 7, 2010 7:12 AM
    Put the MaxL into a code block to get it to display correctly.

  • Deployment with encrypted Maxl files

    Hi All,
    I'd like to know how encrypted maxl files work if I need to deploy them to different servers. This is, I create the maxl files to automate everytihng and I encrypt them in a test server. After deployment to a different production server, are the public/private keys going to work with no problem? Or I should re-encryp everything with new keys generated in the production server?
    Thanks!

    You need to create new
    For Assistance you can use below Comments
    You need to use the MaxL encryption tool to do this. The passwords stored in the MaxL Scripts can be encrypted from Version of Essbase 9.3 or higher.
    To Encrypt the Scripts:
    a) The following MaxL Shell invocation generates a public-private key pair that you can use to encrypt a MaxL script.
    essmsh -gk
    b) The following MaxL Shell invocation encrypts the input MaxL script, obscuring user name and password, and changing the file extension to .mxls.
    essmsh -E scriptname.mxl PUBLIC-KEY
    c) The following MaxL Shell invocation decrypts and executes the MaxL script.
    essmsh -D scriptname.mxls PRIVATE-KEY
    STEP 1: In the command prompt type:
    C:\>essmsh -gk
    STEP 2: In the command prompt, execute as below:
    C:\>essmsh -E D:\Hyperion\MScript.mxl 29287,1495101497
    Generates a Encrypted MaxL script file "MScript.mxls" based on the original MaxL script "MScript.mxl" in the location "D:\Hyperion".
    STEP 3: Execute Encrypted MaxL script MScript.mxls
    C:\>essmsh -D D:\Hyperion\MScript.mxls 1165863655,1495101497
    Essbase MaxL Shell - Release 9.3.1 (ESB9.3.1.0.0B181)
    Copyright (c) 2000, 2007, Oracle and/or its affiliates.
    All rights reserved.
    MAXL> login $key 8432115901043363023058112802217170696731 $key 46195519111827550
    39099976036415811280221 on localhost;
    Hope this helps

Maybe you are looking for