
π This article includes 1 downloadable practice file β
MaxL is Essbaseβs scripting language for administration. Instead of clicking through the console every month, you save the steps in a .mxl file and run it β manually or from a scheduler.
In this article
A typical monthly load script
/* monthly_load.mxl */
spool on to 'monthly_load.log';
login $1 identified by $2 on $3;
/* clear the month we are about to reload */
execute calculation 'FIX("Actual", "Mar") CLEARDATA "Sales"; ENDFIX' on Sample.Basic;
/* load data using a rules file, send rejected records to a file */
import database Sample.Basic data
from server text data_file 'sales_mar.txt'
using server rules_file 'LdSales'
on error write to 'sales_mar_errors.txt';
/* run the calculation stored on the server */
execute calculation Sample.Basic.CalcAll;
logout;
spool off;
exit;
What each part does
- spool writes everything to a log file β your audit trail.
- $1, $2, $3 are parameters passed on the command line (user, password, server), so the script contains no passwords.
- execute calculation ‘β¦’ can run an inline calc string β here a targeted CLEARDATA with FIX, so only March Actuals are cleared.
- import database β¦ using β¦ rules_file loads the file through a load rule that maps and cleans columns.
- on error write to keeps rejected records (e.g. unknown members) in a file you can fix and reload.
Running it
essmsh monthly_load.mxl admin_user %ESS_PWD% essbase-server
essmsh is the MaxL shell. Read the password from an environment variable or a secure vault β never hard-code it.
New to Essbase? Start with Essbase explained. On EPM Cloud the equivalent automation tool is EPM Automate.
Try it yourself: step by step
- Download monthly_load.mxl. Replace
Sample.Basic, the data file and the rules file with your applicationβs names. - On a test server run
essmsh monthly_load.mxl youruser %ESS_PWD% yourserver. - Open
monthly_load.log: each statement shows βOK/INFOβ lines. Check the elapsed times. - Open
sales_mar_errors.txt. If it has lines, they are records Essbase rejected β usually a member that does not exist in the outline. - Fix the outline or the rules file and re-run only the import step.
π Practice files for this article
- π§MaxL template (.mxl)The complete script with parameters instead of passwords.β¬ MXL Β· 478 B
Free to use for learning. Files with macros (.bas) are plain text β import them with Alt+F11 β File β Import File, and always test on a copy.
Atul (AJ) builds office-automation and local-first AI tools as Atulya AI, and works with Excel, SAP and Oracle EPM every day. He writes about the shortcuts, macros and automations that actually save time β plus the occasional wacky fact. Videos on YouTube: Lazy Automator AI (@LazyAutomatorAI).
More posts by Atul βStuck on a step? Ask a question and the AI answers using this article.