// psssshhh did we ever talk about a possible birthday for Maxl, like which month, zodiac and shit?
// We never discussed it no! Virgo or Sagittarius possibly Capricorn?
seen from China

seen from China
seen from United States
seen from Philippines
seen from United States

seen from United States
seen from United Kingdom
seen from United States
seen from United States
seen from Sri Lanka

seen from Brazil

seen from United Kingdom
seen from United States

seen from United States
seen from Chile

seen from United States
seen from United States
seen from United States
seen from China

seen from Australia
// psssshhh did we ever talk about a possible birthday for Maxl, like which month, zodiac and shit?
// We never discussed it no! Virgo or Sagittarius possibly Capricorn?

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Snow Daze with the cousins. #Jonathan #maxl #winterwonderland (at Roding, Germany) https://www.instagram.com/p/Btd2reShegC35bv9ATfVdwpwMAXZrDTGCNBT2Y0/?utm_source=ig_tumblr_share&igshid=izq1ovm2iicj
Just a couple of best buds, hanging out on the couch together. š Maxl has accepted his fate as fuzz brother, I think. #Jonathan #maxl #bestbuds #dailydoggo #doglove (at Roding, Germany) https://www.instagram.com/p/BtYLT_ph1xXaPh4OI-rOifzIOtCirBELtdh6zQ0/?utm_source=ig_tumblr_share&igshid=nqsvqsikl3r1
More Sample Codeā¦
OK Mike is on a roll posting CDF samples.Ā Check out the latest list:Ā
https://codesamples.samplecode.oracle.com/servlets/tracking/action/ExecuteQuery?query=essbase1
Keep checking for updates, as we get time we will continue to post more.
Sample Code
At the last ODTUG conferenceĀ and over the course of writing on this blog we have had a bunch of requests to get some of our code posted.Ā For the most part we handled this on a case by case basis with email, ftp and other meansā¦
Well the code sharing problem is officially solved thanks to samplecode.oracle.com.Ā Here is the description from the site.
Welcome to samplecode.oracle.com, where employees and Oracle Technology Network members collaboratively build and share sample applications, code snippets, skins and templates, and more.
We are just starting to post some of the CDF that are requested most often; we only have a few up there but we will be posting more over the next few weeks.Ā
We also plan to share other stuff like Java API code, MaxL scripts, Calculation Scripts, and maybe some spreadsheet toolkit stuff.Ā We will also get this linked from the Essbase OTN page but until then here is the direct link.
https://codesamples.samplecode.oracle.com/servlets/tracking/action/ExecuteQuery?query=essbase1

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Organizing MaxL Scripts
If you have been using Essbase for any amount of time then you surely have found yourself writing a number of MaxL scripts.Ā Often times these scripts can become as complex as writing code using an API but the scripts have no real development environment and quickly get out of control.Ā I am going to discuss one technique I use to organize MaxL scripts.
If you have never used MaxL or you use Notepad to write MaxL scripts then you may want to read my post on working with Essbase Files before continuing with this post.
The key for script organization is to break the scripts down in to 'mini' scripts in separate files and then have a calling script to run all the functional mini scripts.Ā For example I always have a connect script, a disconnect script and a properties script.Ā The properties script is just a list of all my set commands (variables).
set ApplicationName = 'Sample'; set DatabaseName = 'Basic'; set SpoolFile = '../logs/MAXL_Build_Process.log'; set ServerName = 'SomeServerName'; set UserName = 'SomeEssbaseUser'; set Password = 'Password';
You will want to include anything in here that might vary, including username and password.Ā Be careful about saving user information in clear text!!
The connect script is simply the login command that accepts the variables from the
properties script.
LOGIN $UserName $Password ON $ServerName;
The disconnect script is even easier as it is just the logout and exit commands.
LOGOUT; EXIT;
Now that you have 3 script files you can pull them together and call them from one file and run the entire script.
msh Properties.msh; msh Connect.msh; msh Disconnect.msh;
This file simply calls the other files in the specified order.Ā This allows you to be flexible and easily edit what parts of the script are run.Ā Also over time you can accumulate a library of mini scripts that can be used to create multiple scripts to automate almost any process.
I know this example does nothing functional (login then logout) but it should help you to understand how to break a script down for organizational purposes.
Database Settings with MaxL
For a project I wrote a script that changes key database settings with MaxL.Ā Nothing too special here just thought it would be a nice one to share.Ā Here is a link to download the files.Ā Once extracted use the file properties.msh to edit the settings and enter key fields like username and password.
Working with Essbase Files
Working on a project I found myself writing a bunch of MaxL scripts.Ā So for this I started using Administrative Service and as the scripts got bigger I realized I needed to start using my favorite text editor, TextPad.Ā Ā If you donāt have it already it is really a fine text editor and I have been using it for years, but working with MaxL I was missing the syntax highlighting and function lists that I had in Administrative Services.Ā I remembered that TextPad has features that allow you to define things like highlighting and function lists, you just need to build the definition files for this stuff.Ā Here are the steps I took to get my MaxL files working the way I wanted.
Set up TextPad to run MaxL scripts and capture the output.
Open TextPad.
Select Configure | Preferences.
Select the āToolsā item.
On the screen click the āAddā button and choose āProgramā.
Browse to the location of the MaxL executable and select it.Ā (useally - %HYPERION_HOME%\products\Essbase\EssbaseClient\bin\essmsh.exe).
Once in the tools list you can select it and make edits if needed.
Now you can run MaxL scripts in TextPad.Ā Select Tools | External Tools and select the item you want to run.
Repeat for things like Esscmd and anything else you might want to run from TextPad.
Set up Syntax Highlighting
Open TextPad.
Select Configure | New Document Class.
Type the name you want for the new document type (MaxL or Essbase MaxL).
Select the class members or file extensions that will identify the file (*.msh, *.mxl).
Enable syntax highlighting and select the file to be used.Ā The files need to be located in the TextPad āsamplesā directory. (C:\Program Files\TextPad 5\Samples)Ā Files are posted below.
Click āNextā and then āFinishā.
You now have a new document class that understands syntax highlighting; repeat this for other file types like MDX, Essbase Calculation Scripts, Etc.
Set up clip Libraries.
Make sure the clip library files are located in the TextPad āsamplesā directory. (C:\Program Files\TextPad 5\Samples) Files are posted below.
Open TextPad.
Select View | Clip Library.
Select the clip library you want.
Now TextPad it set up to handle all the Essbase Script development you would ever want.Ā You can also set up things like āFile Name Filtersā and āAssociated Filesā to make things even easier.
Thanks to Dave Roberts for providing the initial TextPad files used for syntax highlighting and clip libraries.Ā Please note the some of the files need updating for new features in Essbase but all are pretty closeā¦