Показаны сообщения с ярлыком EAS. Показать все сообщения
Показаны сообщения с ярлыком EAS. Показать все сообщения

06 апреля 2012

MaxL по расписанию

Часто бывает необходимым поставить выполнение MaxL скрпита в расписание. Причем этот скрипт создан в EAS Console и хранится на сервере. Я решил эту задачу созданием batch файла, который ставится в расписание Windows Server:
@echo off
rem - Input parameter is a name of MaxL script (only name w/out extension)
Входящим параметром является имя MaxL скрпита без расширения.
setlocal
cls

Rem Set Variables
SET ESSSETENV=F:\Oracle\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\setEssbaseEnv.bat
SET SERVER=EssbaseServerNameOrIP
SET USER=Ess_admin_name
SET PASSWORD=Ess_password
Rem See more info about Encyption on https://forums.oracle.com/forums/thread.jspa?threadID=1021677
SET PKE=set_your_Public_Key_for_Encryption
SET PKD=set_your_Private_Key_for_Decryption
SET MaxLPath=F:\Oracle\Middleware\EPMSystem11R1\products\Essbase\eas\storage\mxlscripts\%USER%
SET EADMaxl=%MaxLPath%\%1
Вся информация сохранится в логе, имя файла которого задается переменной EXECLOG.
SET EXECLOG=AutoStartMaxL-%1.log
SET RunMaxl=AutoStartMaxL.mxl
SET CurrDir=%CD%

echo Started: %date% @ %time% > %CurrDir%\%EXECLOG%
Поскольку в консоли вход и подключение производить не нужно, а внешним скриптом - необходимо, добавляем строки входа (login) и завершения работы (logout и exit).
Rem - Generate MaxL Script - Start
echo login '%USER%' '%PASSWORD%' on '%SERVER%'; > %CurrDir%\%RunMaxl%
Сам скрипт считываем из исходного файла на сервере.
Rem - Read original MaxL
For /F "eol=; delims=/" %%i In (%EADMaxl%) Do (
    echo %%i ) >>  %CurrDir%\%RunMaxl%

echo logout; >> %CurrDir%\%RunMaxl%
echo exit; >> %CurrDir%\%RunMaxl%
Rem - Generate MaxL Script - Finish

Rem Set Essbase Env
call %ESSSETENV%
Сам скрипт запускаем в шифрованном виде. 
Rem Encrypt MaxL Script
essmsh -E %CurrDir%\%RunMaxl% %PKE% > nul
Rem Del Original MaxL Script
del %CurrDir%\%RunMaxl% > nul
Rem Run Encrypted MaxL Script with LOG
essmsh -D %CurrDir%\%RunMaxl%s %PKD% >> %CurrDir%\%EXECLOG%

echo ... >>  %CurrDir%\%EXECLOG%
echo Script: >>  %CurrDir%\%EXECLOG%
For /F "eol=; delims=/" %%i In (%CurrDir%\%RunMaxl%s) Do (
    echo %%i ) >>  %CurrDir%\%EXECLOG%
echo ... >>  %CurrDir%\%EXECLOG%

Rem Del Encrypted MaxL Script
del %CurrDir%\%RunMaxl%s >> %CurrDir%\%EXECLOG%

echo Finished: %date% @ %time%  >> %CurrDir%\%EXECLOG%
Добавляем в расписание (Task Scheduler) задачу на выполнение нашего bat-файла с параметром - именем MaxL скрпита.
 


08 декабря 2011

Проблемы при запуске EAS Console 11.1.2.0

День начинался удачно.... Пока не перестала работать EAS Console 11.1.2.0 ни с моего рабочего места, ни с сервера (локально).
Советы по устранению:
0. Смотрю логи здесь:
- \Middleware\user_projects\epmsystem1\diagnostics\logs\eas\
- \Middleware\user_projects\domains\EPMSystem\servers\EssbaseAdminServices0\logs\EssbaseAdminServices0.log
1. Отслеживаю логи, пытаясь запустить консоль. Судя по последнему логу, запуск приложения на WebLogic application server прошел успешно...
2. Останавливаю службу EAS. Удаляю папку из \Middleware\user_projects\epmsystem1\tmp\2\servers\ директорию EssbaseAdminServices0. В ней отсутствовал какой-то .war файл. Эта папка генерируется автоматически сервером Weblogic.
3. Вижу предупреждение о том, что в DNS имени сервера соответствуют 2 адреса – IPv4 и IPv6. ИТ-шникам сообщил :)
4. Запускаю сервис и пытаюсь войти в консоль по IPv4 адресу сервера. Все работает!

07 мая 2011

Batch Sequence via MaxL

Занимаюсь старинной версией Hyperion Planning 3.5/Essbase 7.1
Приложение HBRules (для создания и управления бизнес-правилами; современный аналог - CalcManager) имеет ряд неприятных ограничений. В этот раз меня разозлил момент, связанный с тем, что невозможно создавать длинные последовательности (sequences). А именно такая задача и стояла, озаглавленная как «Полный пересчет модели».
Итак, один большой сиквенс сделать невозможно. Разбить на несколько – неудобно, потому что пересчеты возможно запускать только по ночам. Да, еще хочется иметь лог для оценки времени (для поиска узких мест и дальнейшей их оптимизации) и статуса завершения расчетов.

Итак, пришел к такому варианту:

1. Переводим (Export) нужные правила в Essbase, чтобы иметь возможность запускать их через MaxL. Минус очевиден: мы теряем связь правила, которое будет портировано в Essbase, и оригинального правила в HBRules, которое может измениться. Лучшее, что я придумал – создать таблицу соответствий имен правил HBRules – Essbase. При изменении правила в HBRules необходимо экспортировать его в Essbase-правило с тем же именем.

2. Готовим список правил Essbase, которые нужно запускать. Располагаем их в необходимом порядке запуска:
FC-1-01
FC-1-02
FC-2-01
Список сохраним в ascii-файлик RulesList.txt.

3. Пишем batch-скрипт, который будет генерить(!) MaxL-скрипт для полного расчета:
@echo off
echo =======================================================
echo Batch AutoCalc Essbase App Script by Antun Kulkov, 2011
echo See more at http://silw.blogspot.com
setlocal
rem ------ Settings -------
set year=%date:~6%
set month=%date:~3,2%
set day=%date:~0,2%
set hour=%time:~0,2%
if '%hour:~0,1%'==' ' set hour=0%time:~1,1%
set minute=%time:~3,2%
set tdate=%year%-%month%-%day%-%hour%%minute%
set STARTPATH=D:\Hyperion\AutoCalc
set ESSMSH=%ARBORPATH%\bin\essmsh.exe
set SERVER=essbase_server_name_or_ip
set USER=ess_admin
set PASSWORD=ess_admin_password
set APPNAME=app_name
set FILE_MAXL=%STARTPATH%\%APPNAME%_script.maxl
set FILE_LOG=%STARTPATH%\logs\AutoCalc_%APPNAME%_%tdate%.log
rem ------ End settings -------
echo Start: %tdate%

echo spool on to '%FILE_LOG%'; > %FILE_MAXL%
echo login '%USER%' '%PASSWORD%' on '%SERVER%'; >> %FILE_MAXL%
echo alter application '%APPNAME%' enable startup; >> %FILE_MAXL%
for /f %%i in (%STARTPATH%\RulesList.txt) do (
echo execute calculation '%APPNAME%'.'Plan1'.'%%i'; >> %FILE_MAXL%
)
echo logout; >> %FILE_MAXL%

echo MaxL script has been generated and run:
echo %FILE_MAXL%
echo See details of calc execution in:
echo %FILE_LOG%
%ESSMSH% %STARTPATH%\%APPNAME%_script.maxl
echo =======================================================
где STARTPATH – директория запуска данного скрипта,
SERVER, USER, PASSWORD – задают сервер Essbase и его пользователя с администраторскими правами,
APPNAME – имя приложения (скажу, что работал с одним кубом Plan1, поэтому прописал его жестко в скрипте). Не забываем брать в кавычки значения переменных, которые содержат пробелы!

Принцип работы:
В папке с этим batch-скриптом генрим MaxL-скрипт (APPNAME_script.maxl), получая имена правил из файла RulesList.txt. И выполняем этот MaxL-скрипт, на всякий случай запуская приложение в Essbase. Лог выполнения MaxL-скрипта пишется в APPNAME_AutoCalc_{дата-время}.log. Все прозрачно!

Замечание: Для правил, использующих переменные с вводом данных (например, предела ставки начисления ЕСН), необходимо установить необходимые значения как дефолтные!

4. Добавляем наш batch-скрипт в расписание, если нужно.

Enjoy!

UPD: Альтернативный (несколько более сложный, но более функциональный) вариант описан у Романа Удальцова здесь

17 июня 2009

Hyperion Essbase Administration Services 9.3.1.4

Defects Fixed in Release 9.3.1.4.00

Export Filters To Shared Services Fails

Clicking the “Export Filters to Shared Services” button in Administration Services Console fails to export filters and results in an error message. This feature was deprecated, and the button has been removed. (7705584)

Data and Rules Files Deleted when Running MaxL Import

Executing a data load in MaxL Editor using the “import…from local” command may result in deletion of the data and rules files. (7507246, 7566303)

Invalid eas location is Set when Deployed on a Port with Fewer than Five Digits

If Administration Services has been deployed to an application server on a port number containing fewer than five digits, an invalid eas location will be set in Essbase and Shared Services instance files, causing access errors while using Administration Services in Shared Services mode. In other words, a deployment on port 9091 may generate errors, but a deployment on port 19091 will not. (7516152)

Essbase Application Settings Deployed from Performance Management Architect Works Only Once

After deploying an application to Essbase From Hyperion Enterprise Performance Management Architect, subsequent attempts to redeploy the application may result in application settings not being successfully deployed. (8202329, 8225983)

Data Load Scale Setting May Not Work Properly

When loading data using a rules file, setting the scale may not work correctly. (7625997)

Incorrect Check Box Description In Add Essbase Server Dialog

The “use external authentication” check box was incorrectly labeled in the Add Essbase Server dialog box. The name has been changed to “Use Single Sign-On.” (8354239)

Unnecessary Warning in Partition Wizard

In Partition Wizard, a warning message regarding potential overwriting of a target application and database may be displayed even if no target application or database has been selected. (7272501)

Passwords Displayed as Clear Text

When viewing Essbase server connections in the User Properties dialog box, the password may be displayed as clear text if the password column is moved. (7637083, 8321435)

Can't Delete Sparse Dimension on AIX

If Essbase Administration Server is installed on a server running AIX 5.3, deletion of a dimension from Administration Services Console may fail. The outline will show the dimension as deleted, but when the outline is closed and reopened, the dimension will reappear. (7557518)

Cancel Button in Deleted Dimension Dialog Box Works Incorrectly

Clicking the Cancel button in the Delete Dimension dialog box may result in an incorrect result, such as incorrectly removing the dimension from the outline view even though the dimension is not deleted. (7562501)

Retrieving/Saving Substitution Variables Fails

Retrieving and saving substitution variables using the Open SQL dialog box may fail. (8409278)

Unicode Encoding Issue with Report Scripts

When a report script is run against a non-Unicode application, the resulting report may be UTF-8 encoded. Attempting to import this script into Essbase will generate an “Essbase Error: Loading Unicode-encoded data to non-Unicode mode application is not supported.” (8450369)

Saving Aggregate Storage Outlines to Essbase 9.3.1.2 Will Fail

When running Administration Services Release 9.3.1.3, saving an aggregate storage outline to Essbase Release 9.3.1.2 will fail. (8413246)

Empty Nodes Displayed Incorrectly

Displaying an Attribute Calculation dimension in Filter Editor in an aggregate storage outline may show extra empty nodes. (6551283)

Data Load Errors Not Written to File

When Administration Services Console is running on a different computer from Essbase Administration Server, errors occurring during a data load may not be written to the error log. The workaround is to specify a different error log file for each separate load. (7552094)

Silent Installation May Not Read Setup

When performing a silent installation of Administration Services Console, the installation may not read information from the setup file. (8246949)

Null Email Address May Corrupt User XML File

When a user is external, and there is no email address associated with the user, the user XML file may become corrupted. (8447445)