Ejecución de un archivo de script de MaxL mediante @CalcMgrExecuteEncryptMaxLFile

La sintaxis de @CalcMgrExecuteEncryptMaxLFile es:

FIX ("Sales","100-10","New York","Actual")
           "Jan"(
           @CalcMgrExecuteEncryptMaxLFile("2115028571,2505324337","C:/Temp/exportdata.mxls", @List("906388712099924604712352658511","0893542980829559883146306518502837293210"), "true");
         ENDFIX

El primer argumento es la clave privada, el segundo argumento es el archivo de script MaxL, el tercer argumento son los argumentos del script y el último argumento indica si se debe ejecutar esto de forma asíncrona o no (" true" indica asíncrona y "false" indica síncrona).

Este enfoque tiene algunos problemas. El primer problema es el número de veces que se debe ejecutar el mismo script: se ejecuta para todas las combinaciones de miembros de la sentencia FIX. El segundo problema es que el script no se puede ejecutar si Oracle Essbase decide que no existen bloques para las combinaciones de miembros de la sentencia FIX.

Normalmente, buscará ejecutar el script MaxL solo una vez, y puede utilizar el comando RUNJAVA:

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>

Ejemplo:

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