Copying substitution varibale using Maxl script
Hi,
Ive been trying to copy application using Maxl script in essbase to take backups. Everything gets copied except substitution variables. Could some one help me in sorting out this issue.
Is there any specific Maxl Command to copy substitution variable alone from one application to another, if so could u please share it with me.
thanks
Hi,
Unfortunately, as John said, there is no command to copy the subvars. One of my colleagues ran into this same issue on one of my projects. He ended up spooling a script with display variable all command to show all your variables and write them to a text file. from there he wrote a batch file to parse the text file for each of the variables, and then updated the subvars in the backup application with these values.
The thing you want to look out for here is that you want to make sure you properly handle checking for whether the subvar already exists in the backup application. If it does, you just want to run an update of the value. If it doesn't exist, you want to add it first. This is because there is no create or replace variable, so to avoid any errors, you need to be careful with that. I think you may want to look into some of the other alternatives John provided if you are still looking into this issue.
Thanks,
Daniel
http://www.DVEPM.com
Similar Messages
-
Script to export Security file using maxl script
can anyone provide me the Script to export Security file using maxl script.It should create a log file and a batch file should also be there to schedule the Maxl script.Please help me with this
Hi,
You can use something like
[b]login admin password on localhost;
[b]spool on to 'c:\temp\log.txt';
[b]export security_file to data_file C:\temp\sec_file.txt;
[b]spool off;
[b]logout;
Then you can have a batch file that just calls the maxl script
essmsh name_of_maxl_script.mxl
The batch script can then be scheduled.
Cheers
John
http://john-goodwin.blogspot.com/ -
Automation process in Workspace (using MaxL script)
Hi All,
I have a MaxL script to export Level 0 data and to update new data in a database
It is working fine.
I have tried to schedule it, and its also working fine.
But according to my requirement, i have to publish this MaxL script in workspace as a job or as a file so that I can run this MaxL script in workspace only.
I have tried some way but didn't get success.
So help me to solve my problem
Thanks in advanceWe are using workspace and jobs to automate our processes. Here is how we do it:
In the server that runs workspace, we place the batch or exe that needs to be run. Then we set up a job factory using that same batch file.
Then on workspace we import this batch file as a generic job with the associated job factory and DONE!
Next time you execute the job from workspace, that batch file will run from your workspace machine.
send me an email to [email protected] and I'll give you the documentation that we used to set it up in more details. -
I need to give security for a folder using Maxlscript/Bach filesl.Is it possile.......?
Is it possile.......?^^^Yes.
Regards,
Cameron Lackpour -
Can we use Substitution variables in MAXL?
Hi,
Can we use substitution variables in MAXL script?
I have to run this MAXL command for clearing a slice of ASO cube on V11.1.1.3.
alter database Apname.DBname clear data in region 'CrossJoin({[2009]},{[Dec]})';
I am planning to use Current_year & Current_month variables instead of hardcoding 2009 & Dec as I have to use this everymonth to clear the current months data.
If it is allowed, what is the syntax?
Is there any alternative apart from substitution variables?
Appreciate your thoughts.
Thanks,
-Ethan.You would just use ampersand and the variable name instead of the hard coding e.g. &yearVar &periodVar.
Not tried it on aso clears but in theory it should work as ...'CrossJoin({&yearVar},{&periodVar})';
just change yearVar and periodVar for your substitution variable names.
Cheers
John
http://john-goodwin.blogspot.com/ -
Unable to execute the substitution variable in calc scripts in essbase 11.1
Unable to execute the substitution variable in calc scripts in essbase 11.1.3
FIX(&CURRVERSION,COLA)
Unit=units*Listprice;
dataexport "file" "," "E:\NEW.TXT";
ENDFIX
Error: 1200471 Error parsing formula for FIX STATEMENT (line 1): expression expected before [)]
This is error it throws when executing the calculation script
I wonder whether its a problem with substitution variable i want to know wat went wrong inside the fix statement
I have created substitution variable use maxl
Installed the essbase in custom manner and standlone mode nt register with the shared services ,
Is this problem with the custom installation of essbase
Regards
shennaIf you remove the substitution variable and replace it with the actual value (whatever that is), does the code work? That will tell you if the issue is around the substitution variable or not.
John -- First you race Glenn, then you race me -- and you always win. :)
Regards,
Cameron Lackpour -
Hi How to "set the note" and "variable" in a cube using Maxl script?thank u very much in advanceesstulasi
Thank you. It is running perfect. How to pass a value to the variable in generic here. Say here iam passing "May" for the variable "xyz"alter database AppName.DbName set variable xyz May;Thanks in advance..Ess
-
Maxl scripts to perform backup of the following
Help me with these (Maxl script to do these backups)
How to take Backup of filters (use maxl script to get filter information of all native cubes).
Since we use xref calc a lot so we need to backup information of location alias.
We have partitioning so we need to get partition information backed up.Hi,
Filter information is stored in the essbase.sec file so it is good start to make sure that is being backed up.
As for extracting filter information by maxl you can do it with something like :-
login admin password on localhost;
spool on to 'c:\temp\filters.txt';
display filter row all;
spool off;
logout;
or if you want to narrow the filter down to a database use
display filter row app.db;
You will also need to change the column width to fit all the filter in e.g.
set column_width 50;
You can also dump the whole security file to a text file if you wanted which includes all the filter information (from 9.3.1)
export security_file to data_file C:\temp\sec_file.txt;
I take it your partitions don't change very often so you can easily just export the partition to xml from EAS, depending on what you are on.
Cheers
John
http://john-goodwin.blogspot.com/ -
MaxL script invocation solution?
I need to use maxl script to refresh data. But before doing this I have to call an oracle sql package to do something first like prepare data. After finishing that maxl script I also need to do something else. And furthermore I need to catch exceptions and do some logging. I think the whole process should be in a transaction.
Is there a solution for this?
pure os script? pure oracle script? or a java programe?There is error handling available in all the solutions suggested.
In case you are using an Oracle package, you can specify the execution to be exited on failure. For the maxl errors you can check the return value of sqlcmd execution in the procedure itself OR you can check for files which the essbase dataload might have created.
In ODI also you can create process flows which can stop execution on failure. In Batch scripts I know there is way to handle errors but I have not implemented it. May be someone else can throw some light on it.
Personally, I would prefer doing everything in Oracle just so that I have only 2 technologies to take care of.
Hope this helps! -
Weird problem using "Login" in MaxL script
Hi there
I have created a MaxL script for loading som data into an Essbase. The script you can see below.
login 'user' 'password' on 'nkm18k14';
import database 'realtest'.'Loadtest'
data from text data_file '\\nkm18k00\Planning\Loaddata\lonbud.txt'
using server rules_file 'LonBLoad'
on error write to '\\nkm18k00\Planning\Errorlogs\realtest.txt';
When I try to execute it, as it is i get the following error "(3) Syntax error near ['$'], which im guessin is line 3, right?
When I remove line 1 (the login statement), the script runs just fine. What is goin on, any ideas?
I as a user have write acces to the network locations specified, could it be that the essbase uses som kind of system user that doesn't have acces to the network location?
Any valuable input will be appreciated.
Regards, JacobIt's true that they are not "needed" from a security approach, but from a maintenance approach you still end up having to touch a large number of scripts if you store the connection details in them.
As a system user, you don't even have to change the password -- but if you have someone leave the company you may just want to.
Either way, I would never want to hard code connectivity details inside dozens of scripts when I can keep it in a single place.
Here is the MXL_Shell file for Windows -- you can obtain the SendEmail.exe from multiple places, but the syntax should be validated.
The location of the scripts, log files, and batch items can of course be modified to your liking as well...
The Errors that are ignored are stored in a file called "IGNORED.TXT" in the Batch directory (see below for what I ignore).
@echo off
REM ================================================================
REM MXL_Shell.cmd - Wrapper to call EssMsh (MXL) scripts
REM ----------------------------------------------------------------
REM Author: Doug Bliss
REM Initial QC: 5/21/2005
REM ----------------------------------------------------------------
REM Script to Execute should be base name (without extension)
REM Script should exist in the ..\Scripts directory
REM Both StdOut and StdErr are redirected to ..\Logs\<Script>.log
REM Call activity is logged to ..\Logs\Daily_ddmmyy.log
REM Log file is appended to ..\Logs\<Script>.hst at finish
REM Log file is processed for "Error" tokens to determine if
REM the result was successful or not
REM Notifications are taken from comment blocks in the script:
REM /* Notifications:
REM ONSUCCESS [email protected]
REM ONERR [email protected]
REM */
REM Localization details: Update the variables set immediately below (typically SRCPATH and EMAIL*)
REM ================================================================
SET SRCPATH=C:\Automation
SET EMAILDOM=<yourcompany.com>
SET EMAILRELAY=<relay>.%EMAILDOM%
SET DEVBOX=<devboxname>
SET IGNORE=%SRCPATH%\Batch\Ignored.txt
SET MXLFILE=%SRCPATH%\Scripts\%1.mxl
SET LOGPATH=%SRCPATH%\Logs
SET LOGFILE=%LOGPATH%\%1.log
SET ERRFILE=%LOGPATH%\%1.err
SET HSTFILE=%LOGPATH%\%1.hst
SET DAYFILE=%LOGPATH%\Daily_%date:~4,2%%date:~7,2%%date:~10,4%.log
REM ################################## Step 1: Sanity Checks
IF "%1"=="" EXIT /B 1
IF NOT EXIST %MXLFILE% EXIT /B 2
REM ################################## Step 2: Initialize Log entries
IF NOT EXIST %LOGPATH%\. MKDIR %LOGPATH% >nul
IF EXIST %ERRFILE% MOVE /Y %ERRFILE% %SRCPATH%\Logs\%1.bak.err >nul
IF EXIST %LOGFILE% MOVE /Y %LOGFILE% %SRCPATH%\Logs\%1.bak.log >nul
REM ################################## Step 3: Call the Script
ECHO %time% -- Calling EssMsh Script: %1.mxl %2 %3 %4 %5 %6 %7 %8 %9 >>%DAYFILE%
ECHO ============================== ESSBASE SESSION LOG >%LOGFILE%
ECHO Log Opened: %date% %time% >>%LOGFILE%
CALL User.cmd
essmsh.exe -s %COMPUTERNAME% -u %UID% -p %PWD% %MXLFILE% "%2" "%3" "%4" "%5" "%6" "%7" "%8" "%9" >>%LOGFILE% 2>&1
REM ################################## Step 4: Post Processing
REM #### Daily Log Entry (return call)
ECHO %time% -- Returned from Maxl Script: %1.mxl >>%DAYFILE%
ECHO Log Closed: %date% %time% >>%LOGFILE%
ECHO ============================== END OF SESSION >>%LOGFILE%
REM #### Process Error entries and filter via Ignored.txt file
TYPE %LOGFILE% | FIND "ERROR" >%ERRFILE%
FOR /f "tokens=1" %%a in (%IGNORE%) DO TYPE %ERRFILE% | FIND /V "%%a" >%ERRFILE%
FOR %%a in (%ERRFILE%) DO SET /a ErrCount=%%~za >nul
IF '%COMPUTERNAME%'=='%DEVBOX%' (
SET TYPE=NON-Production
SET SVR=development
) ELSE (
SET TYPE=Production
SET SVR=production
IF %ErrCount% EQU 0 (
ERASE /Q %ERRFILE%
SET SUBJECT=Essbase %TYPE% Script Completed
SET MESSAGE=Maxl script '%1' has successfully completed on the %SVR% server.
SET ATTACH=
SET RESULT=SUCCESS
) ELSE (
REM ################################## ERROR Processing
SET SUBJECT=Essbase %TYPE% Script Error
SET MESSAGE=Errors were detected in Maxl script '%1', the job's log and error files are attached.
SET ATTACH=%LOGFILE% %ERRFILE%
SET RESULT=ERR
TYPE %MXLFILE% | FIND "ON%RESULT%" >Notify.tmp
FOR /f "tokens=2" %%a in (Notify.tmp) DO SendEmail -f %COMPUTERNAME%@%EMAILDOM% -t %%a -u "%SUBJECT%" -m "%MESSAGE%" -s %EMAILRELAY% -a %ATTACH%
ERASE /Q Notify.tmp
ECHO. >>%DAYFILE%
ECHO. >>%HSTFILE%
TYPE %LOGFILE% >>%HSTFILE%
:FIN
ECHO.
EXIT /B %ERRCOUNT%Here is my IGNORED.TXT file (only the code itself is used, the rest is for reference).
0000000 This file contains Essbase Error codes which should be ignored by ESS_Shell.cmd or MXL_Shell.cmd
1051083 This substitution variable does not exist.
1003029 Encountered formatting error in spreadsheet file [%s]
1090010 Error in File [%s] Which is a [%s] Spreadsheet
1051068 Database is not in archive read-only mode -
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
-
Copying files by using SCP in a Script
HI ,
I want to copy files from one of my server to other by using scp.
I am using a script which will generate a tar file and I want it to paste it automatically to my other server using SCP.
But how can I can make this automation in a Script.
I dont want it to ask for the password while copying to the server.
Can anybody guide me...
Thanks & Regards
Suseendran. AI did as you described -- actually I found another web site (http://www.linuxproblem.org/art_9.html), which tells exactly the same thing but has more details. What I did on our site is exactly as that page outlines, and the files were created and saved in the .ssh directory on both the local and remote machines.
But I am still prompted for password when I use ssh, sftp, or scp:
$ ssh [email protected]
[email protected]'s password:
What could be wrong or is anything overlooked or missing?
Thanks a lot for helping!
Jason -
Can you suggest me how to run multiple calc scripts using singel maxl script
Hello,
I am writing a maxl script which should be able to :
1. update Set Variables for the Essbase DB
2. Execute multiple calc scripts
2a. Trying to put specific sleep time within multiple calc scripts.
Thanks and Regards.Why are you looking for a Maxl to run multiple maxls? Can't you use a batch or sh script to do it.
Unix has a sleep command in batch file try using choice
Regards
Celvin -
MAXL Script for copying outline
Can we write any MAXL Script for copying outline from one aplication/datbase to another application/database.
Example copying olt from app1.dbb1 to app2.dbb2No and yes.
There is no MaxL statement for copying an outline from one DB to another (Unless you are converting from BSO to ASO). But you can shell system commands like xcopy within a MaxL script (of course you could just do this in your batch or shell script) . Just make sure you stop the Dbs before doing the copy -
Using $ sign on MaxL scripts
Hi all,
How does using $ sign on MaxL scripts work? I have seen scripts that $ sign was used instead of username, password, server name, etc. What are the advantages of using it and how can it be set up?
Thanks in advance.
A$ are used to denote variables and to be pedantic about it, encrypted usernames and passwords which I guess are used sort of like variables.
I use them all the time unless the MaxL script is super quick, dirty, and disposable. And they never end up being disposed of.
Check out this part of the Tech Ref for all you ever wanted to know about variables in MaxL:
http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_tech_ref/maxl_syntax_vars.html
If you want to get a different take on them, check out ODTUG's Resource Center and my presentation from 2009 to get a feel for how they can be used in scripting. My blog also has a post from 2009 on how to use variables under the "Fixing Planning's Filters" topic.
Regards,
Cameron Lackpour
Maybe you are looking for
-
Specifying date time format in Finder
How can I specify the date-time format in Finder for the "date-modified" and "date-created" columns in list view? About three years ago, I got a command line instruction to set these formats and I kept it at mm/dd/yy Then a couple days ago, I changed
-
Sending Email command line option to save
Hey Can anyone tell me if I use "-emsave=yes" where it saves the email to? Cheers
-
Windows sharing long file names
Just after a bit of advice with regards long file names with OSX/Win. I have a user that uses a mixture of SL and ML connection a shares on a Win 2008 R2 server. They had some issues a while back with long file names ( I think folder depth more than
-
Error on Export after validate
OK, to the point ..... i got a problem from the client that error has been occured when transfer budget from hyperion to oracle .... the first step validate budget has been passed, but when export this error appeared the message box appeared : "v_ret
-
hey I know that java does'nt support ICMP protocols......and also JNI should be used if ne kind of pinging program has to be created..... can someone help me precisely how to do that........?? regards and thnks ad