This Document is confidential to TopDown Consulting Inc...

100

Transcript of This Document is confidential to TopDown Consulting Inc...

Page 1: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.
Page 2: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

This Document is confidential to TopDown Consulting Inc. (“TopDown”), contains privilegedinformation, and is communicated the Recipient in strict confidence. The Recipient not disclose theinformation contained herein to any third party without TopDown’s prior written consent. The Recipientagrees to use this Document for internal purposes only and to disclose the information containedherein only to those employees, contractors or agents having a need to know such information inconnection with the services. The Recipient requires no intellectual property rights in the informationcontained herein.

Page 3: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.
Page 4: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

EXTREME CALC MANAGER

Ludovic De Paz & Ron MooreJune 26, 2017

Page 5: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Presenters

Ludovic De Paz• Senior Manager, TopDown Consulting• Over 15 years experience delivering

EPM solutions• Ex-Oracle SQL and MS SQLServer

developer• Specializing in Essbase and Planning• Many webcasts and KScope

presentations• Blog: thehyperiondoctor.com• Twitter: @ludodepaz

Ron Moore• Solutions Architect, TopDown

Consulting• Over 20 years experience delivering

EPM solutions to numerous Fortune 1000 clients across more than 20 industry verticals

• Specializing in Essbase and Planning • Many webcasts and KScope

presentations

Page 6: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

This Session Is About

• How to take advantage of Calc Manager’s advanced features– Re-usability– Variable tricks

• The debugger, error messages and logs• Custom Defined Templates• Custom Defined Functions

Page 7: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

This session Is NOT About

• Basics of Calc Manager• Basics of Business Rules and calc scripts

Page 8: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Working With Variables

Page 9: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Variables

Variable Type Forms BusinessRules

MDX CalcScripts

FDMEE DLR OLU Import Data

MaxL

Run time Prompts N/A YES NO NO NO NO NO NO NOVariablesSubstitutions Variables YES YES YES YES YES YES

Temporary Variables NO YES YES NO NO NO NO NO

User Variables YES YESRTSV YES

Page 10: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

User Variables on the Cloud

Page 11: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

User Variables on the Cloud

• ‘Business Process’ User Variables

Page 12: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

User Variables on the Cloud

• ’Custom’ User Variables

Page 13: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

QUICK INTO TO TEMPLATES

Page 14: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Quick intro to Templates

• What is a Template?– A Template is a Rule generator– Where you can add parameters to customize the Template

• When to use Templates?– When a calculation is repeatable– With different parameters

Page 15: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

DESIGN-TIME PROMPTS

Page 16: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Design-Time Prompts (DTP)

• What is a Design Time Prompt?– You can enter design-time prompts for graphical custom templates

so that when you use the template to design business rules, you are prompted to enter the correct information.

– Super smart variable that allows for customized Templates, adds a lot of flexibility

• Once you master DTPs– You will only use Templates in your Business Rules– You will develop rules much faster– Your Templates will be much more flexible and re-usable

Page 17: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Design Time Prompts (DTP)

• Types of DTP

Page 18: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

STRING DTP

Page 19: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

String

Page 20: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

String

• Very useful to use for Cross-Dim Members– You can also use the

Cross Dim DTP for that

• Preferred method to Cross-Dimension DTP– Faster to enter text than

select members one by one

Page 21: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

StringReference the DTP in your calculation

Page 22: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

String

• Let the developer enter the Cross dim to where the rate sits– One Template for

currency Conversion for all apps

Page 23: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

String

• Generated Script

Page 24: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

CONDITIONS ON DTP

Page 25: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Leveraging DTP Conditions

Page 26: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Leveraging DTP Conditions

• Add a condition on DTP

Page 27: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Leveraging DTP conditions

• 2 scripts:– One with EOM

conversion– One without EOM

conversion

Page 28: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Leveraging DTP conditions

You can also add conditions directly in the script object

Page 29: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Leveraging DTP Conditions

• Leave EOM Rate empty

Page 30: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Leveraging DTP Conditions

Page 31: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

BOOLEAN DTP

Page 32: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Boolean DTP

• Create a “true” or “false” type DTP • Very useful to use with conditions to execute one type of

calculation or another– Calculate a percentage based on another account, Sales for

example• Calculate Sales = Sales * %• OR calculate Sales = Sales * (1 + %)

– One Template, 2 different calculations based on a boolean• Use a DTP to determine what type of calculation you want and have

1 Template for all your % needs

Page 33: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Boolean DTP

Page 34: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Boolean DTP

Page 35: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Boolean DTP

• Conditions on DTPs– Add a Condition Object– Check ‘Use Design Time Prompt’

Page 36: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Boolean DTP

Page 37: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

DTP DEFAULT VALUES

Page 38: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

The Importance of ‘Default Value’

• When you need to modify a Template late in a game

• You don’t want to go over every Rule and update the DTP values– Use Default to seed with

one Value– Change Values only where

needed

Page 39: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

DTP RECAP

Page 40: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

DTP Recap

• String DTP to enter whatever you need– Cross Dim– Range

• Boolean DTP• Conditions on DTP• Default Value

Page 41: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

MORE TIPS

Page 42: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

How to quickly update Templates in Rules

Page 43: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

How to quickly update Templates in Rules

Page 44: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

How to quickly update Templates in Rules

Page 45: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

How to quickly update Templates in Rules

Page 46: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Don’t forget to deploy

• You can update a Template and then deploy all rules to push your changes– No need to re-open each rule and save it

• This is why we use Default Values.

Page 47: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

RTSV

Page 48: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

RunTime Substitution Variables

• Control substitution variables directly in a calc script.• Use wherever substitution variables are allowed.• RTSV has highest precedence.

Page 49: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

RTSV Syntax• Syntax

SET RUNTIMESUBVARS{

runtime_substitution_variable [= value] [<RTSV_HINT>rtsv_description</RTSV_HINT>];};

• ExampleSET RUNTIMESUBVARS{FCStartYear ="FY16";FCStartPer = "wk01";};

Page 50: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

RTSV Sample Code

Page 51: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

New Maxl Grammar – with Runtimesubvars

Execute Calculation Sample.Basic.main with runtimesubvars‘FCStartYear = FY16 ; FCStartPer = wk01”;’;

Page 52: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Batch Code to Prompt for RTSV

set /p FirstFCPer="Enter RTSV For First FC Period in the form "m-p": "echo %FirstFCPer%%ESSBASEPATH%\bin\essmsh.exe RunFC.mxl %FirstFCPer% >TestRTSV.logpauseexit

Page 53: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Dynamic Children

Page 54: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Dynamic Children• Allows users to add /delete

members on the fly using “placeholders”

• Introduced in version 11.1.2.3• Use cases:

– Workforce Planning – users wanted to add employees with different rates, start dates and end dates, but didn’t know how many they would need to add.

– Retail Application – users can add new stores

Page 55: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Steps to Implement Dynamic Children

• Configure parent member to add/delete dynamic children• Create a business rule with a RTP pointed to the parent• Create a menu• Add menu to form

Page 56: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Configure parent to add/delete Dynamic Children

Essbase outline in EAS after

refresh

Page 57: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Create a RTP and a Business Rule

Point RTP to

the parent Use the

RTP in the rule

Enable the rule to create dynamic

members

Page 58: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Validate and Deploy

• Validates with existing member,• New dynamic member “not found”• Deploy

Page 59: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Create Menu and Add to Form

Pick up employee from form

Execute this rule

Page 60: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Execute the Menu

Page 61: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Smart View

• Planning connection

• Essbase connection

Page 62: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

What If You Exceed the Allotment

A Refresh adds a new

set of placeholders

Page 63: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Dynamic Children Limitations

• Deletion affects all intersecting members• After delete rule data persists till refresh

Page 64: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Dynamic Children Limitations (continued)

• This feature is not supported with rules launched from SmartView

• Must use the Web version to use it

Page 65: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Custom Defined Functions

Page 66: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

CDF Overview

• What is a CDF?– Custom defined functions allow you to perform tasks such as

launching encrypted MaxL scripts and files, copying and exporting data, removing and adding single or double quotes to a text string, comparing two strings, converting a date to the YYYYMMDD format, among other tasks.

• Documentation in CM Designer's Guidehttp://docs.oracle.com/cd/E57185_01/CALDH/working_with_custom_defined_functions.htm#CALDH-cmgr_mvf_613 Oracle • Essbase Sample Code site

http://www.oracle.com/technetwork/indexes/samplecode/essbase-sample-522117.html Conditions, script and formula components

Page 67: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Overview: CDF InventoryOn-prem v11.1.2.4

Page 68: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Custom Defined Functions: Date functions

• @CalcMgrDateDiff:– For retail to calculate number of open days based on Open Date

or Close Date

• Day = 10• Month = 10/31 = 0.32• Week = 10/7 = 1.43• Year = 10/365 = 0.03

Page 69: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Custom Defined Functions: Excel functions

• @CalcMgrExcelWEEKDAY– Extremely useful in the retail world to compare the same weekdays

year over year.– Could be done only in SQL before

• Return Type:– Default: Sunday 1– 1: Sunday 1– 2: Monday 1– 3: Monday 0

• Works well with SmartLists

Page 70: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Custom Defined Functions: String functions

• @CalcMgrConcat– Same as

@CONCATENATE(String1, String2)

Page 71: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Custom Defined Functions: String functions@CalcMgrStartsWith, @CalcMgrEndsWith

Page 72: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Custom Defined Functions: String functions

• @CalcMgrPadText– Poor man’s FDMEE

– Returns Kscope17

Page 73: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Custom Defined Functions: String functions

• @CalcMgrPadText– Poor man’s FDMEE– Returns 17Kscope

Page 74: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

MaxL CDFs v11.1.2.4

• Essbase• Calc Manager

Page 75: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Preparation

Step Code Create MaxL Script See example : test.mxls Generate keys essmsh.exe -gk >Keys.txt Generate encrypted token essmsh.exe -ep admin 6659,1253464643 >Token.txt Run essmsh essmsh.exe -D Test.mxls 210999539,1253464643

Page 76: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Code Sample 1

Page 77: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

MaxL with RUNJAVA

Syntax:RUNJAVA com.hyperion.calcmgr.common.cdf.MaxLFunctions<LOG FILE> OPTIONAL ex., "logfile=c:/Temp/maxlrule.log" The path should

be accessible from the ESSBASE process.<ASYNCH FLAG> OPTIONAL ex., "true" This means calc engine does not wait for

the completion of the MaxL script. The default is " false"

<ALL OTHER PARAMETERS YOU PASS TO ESSMSH

Example RUNJAVA com.hyperion.calcmgr.common.cdf.MaxLFunctions "logfile=c:/Temp/maxlrule.log" "-D" "c:\\Temp\\maxl.msh" "28567271,1186612387" "893848844082678214004255849650" "4647275840619320283077900267208176084380" "{varAppName}";

From the documentation:

Page 78: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

RUNJAVA Simple

MaxL Script Script/Rulespool on to 'c:/Utils/Maxl/MaxlCDF1.log';

Login 'DemoAdmin' 'Password' on 'TDC-EPM';

Create Application MaxLCDF1;Create database MaxLCDF1.Db1;

Exit;

RUNJAVA com.hyperion.calcmgr.common.cdf.MaxLFunctions"logfile=C:\\Utils\\Maxl\\CDF01.log""false""C:\\Utils\\MaxL\\CreateDB1.mxl";

Page 79: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

RUNJAVA Pass Parameters

MaxL Script Script/Rulespool on to 'c:/Utils/Maxl/MaxlCDF2.log';

Login $1 $2 on $3;

Create Application MaxLCDF2;Create database MaxlCDF2.Db1;

Exit;

RUNJAVA com.hyperion.calcmgr.common.cdf.MaxLFunctions"logfile=C:\\Utils\\Maxl\\CDF02.log""false""C:\\Utils\\MaxL\\CreateDB2.mxl""DemoAdmin“ /* Pass to $1 */"Password“ /* Pass to $2 */"TDC-EPM“ /* Pass to $3 */;

Page 80: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

RUNJAVA Pass Encrypted Login

MaxL Script Script/Rulespool on to 'c:/Utils/Maxl/MaxlCDF4.log';

login $key 332797570090054049118227658370900924450091234422204861330470 $key 23477791811365508690633066304108914167404057541791 on 'TDC-EPM';

Create Application MaxlCDF4;Create database MaxlCDF4.DB4;

Exit;

/************************** Encrypted *********************/RUNJAVA com.hyperion.calcmgr.common.cdf.MaxLFunctions"logfile=C:\\Utils\\Maxl\\CDF04.log""false""-D""C:\\Utils\\MaxL\\CreateDB4.mxls""1851876843,2177682319""715259151072013489500217864961""8310776712445406520134244526119315135140";

Encrypted User Name

Encrypted Password

Private key

Page 81: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

More Extreme Calc with Paul Hoch

• Planning Expressions in Calc Manager

• The Planning expression is “getStartYear (Month) of a Scenario. Then use it in a FIX statement.

• Calc Manager will pull the scenario off the page of a form and then auto populates the correct opening period of the scenario and Year.

FIX ([[getStartYear({ScenRTP})]], [[getStartMonth({ScenRTP})]] : "Dec")AGG ("Role");

ENDFIX

Page 82: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

More Extreme Calc with Paul Hoch

• Planning Expressions in Calc ManagerFIX([[getStartYear({ScenRTP})]])"BegBalance"(IF("Employee Type" == [[sl_EmployeeType.Consultant]] AND "Employee Status" == [[sl_EmployeeStatus.Active]])

IF("Start Date" > 19000101 )"Max Roll-off Date" = @CalcMgrAddMonths("Start Date", 18 );"Tenure" = @CalcMgrMonthsBetween("Start Date",

@CalcMgrGetCurrentDate());ENDIF

ENDIF)ENDFIX

Page 83: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

LogsThe best way to understand what is going on

Page 84: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Reading Logs From Calc Manager

• Execute a rule from CalcManager and go to Log Messages

Page 85: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Downloading Logs from Calc ManagerGo to Actions / Export

Page 86: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Downloading Logs From Calc ManagerOpen the CSV file in Excel or your favorite text editor

Page 87: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

More Logs

Page 88: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

More Logs

Page 89: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

More Logs

Page 90: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Analyze Your rule

Page 91: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Analyzing Your Rule

• What is the benefit?– Capture statistical information

• how long a component took to execute• how many times it was run• values of a member intersection before and after the component was

run– Bummer: the Analyze feature is not available for Member Range,

Member Block, Fixed Loop, or Condition components. But after all, it makes sense: how much time takes a FIX statement?

• When to use Analyze a rule?– If a rules takes a long time to run– Helps identify how long each component takes

Page 92: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Analyzing Your Rule

Page 93: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Analyzing Your Script

• What is the benefit?– Helps identify what takes you the longest in a business rule

execution: the line that has the longest execution time is highlighted in red

– The Properties area displays information about the business rule, such as its name, application, plan type, and the length of time (in milliseconds) that it took to analyze the script.

• When to use Analyze a rule?– Whenever you get the results you want, run an Analyze to see if

you can make it faster.

Page 94: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Analyzing your Script

Page 95: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Using the Debugger

• What is the Debugger?– The Debugger runs the business rule and examines its script line

by line to see how the script executes

• When to use the Debugger?– If a rule validates but does not perform what you are expecting it

to do.

Page 96: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Using the Debugger

• Using breakpoints– You can Add a breakpoint to see the values of all members in a

condition

Page 97: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

Using the Debugger

• Using breakpoints– After you are done, you

can move to the next break point

– You can also add Conditions to a breakpoint

Page 98: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.

© Copyright 2017 TopDown Consulting. All Rights Reserved.

Ludovic De Paz Ron [email protected] [email protected]

Page 99: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.
Page 100: This Document is confidential to TopDown Consulting Inc ...thehyperiondoctor.com/wp-content/uploads/2017/06/ldepazrmoore...This Document is confidential to TopDown Consulting Inc.