Convert Non-Unicode Aggregate Storage Application to Unicode Mode
These are the steps to perform before exporting an aggregate storage Essbase 11g On-Premise application.
Client-side configuration - To set up ESSCMD/ESSCMDQ on a Windows Client
Note:
Other references for ESSCMDQ workaround information are: How to Use ESSCMDQ to Compact Outlines (Doc ID 1534496.1) and Essbase 21c Compress Dimension Option Not Visible in JET UI (Doc ID 2853804.1).- From the Essbase web interface, download the Essbase Client for Windows and the MaxL Client.
- Extract the MaxL client to a MaxLClient directory.
- Extract the ESSCMD client to an EssbaseClient directory.
- Copy the startMaxl.bat script from the MaxLClient directory to the EssbaseClient directory. Rename the script to startEsscmd.bat.
- Edit the startEsscmd.bat file, and add a new setting to call esscmd, instead of esscmd.sh:
"%ESSBASEPATH%\bin\esscmd" %*
- Save the file. Run it as administrator and test logging into Essbase 21c Marketplace or On-Premise (Independent deployment).
Connection string:
login https://<servername or IP>/essbase/agent <user> <password>
- After you confirm that it works, download ESSCMDQ for Windows from https://www.oracle.com/middleware/technologies/esscmdq-sampleapps-downloads.html.
- Extract ESSCMDQ.exe to the EssbaseClient/bin directory.
- Copy the startEsscmd.bat script to startEsscmdQ.bat.
- Edit the startEsscmdq.bat file to call esscmdq instead of esscmd:
"%ESSBASEPATH%\bin\esscmdq" %*
- Save the file. Run it as administrator and test logging into Essbase 21c Marketplace or On-Premise (Independent deployment).
Connection string:
login https://<servername or IP>/essbase/agent <user> <password>
Note:
- Do not use an IDCS/MSAD userid to connect. Use a 'native' user to login.
- If using a proxy server, you may need to add the following settings to the startEssmcd/q.bat scripts:
- set HTTP_PROXY=<proxyserver>:<port>
- set HTTPS_PROXY=<proxyserver>:<port>
Server-side configuration - To set up directly on the Essbase server
- Convert the copied aggregate storage application to Unicode mode using MaxL shell, as described below.
- Change the ESSLANG value within the source outline from native encoding to UTF-8, as described below.
- Log in to the source Essbase 11g instance using MaxL shell.
- Execute MaxL statement
alter application <copied_app> set type unicode_mode
to convert the application to Unicode. For example:
For more details on the MaxL, see Alter Application.MaxL> alter application SampleBck set type unicode_mode;
Note:
All of the following operations must be performed on the copied application and not the source application.- Download ESSCMDQ,
- Download platform-specific "11.1.2.4.010+" version of ESSCMDQ from Download ESSCMDQ to your source EPM 11g instance.
- Unzip the files directly to the same directory where ESSCMD is present in the installation,
For Linux
$ESSBASEPATH/bin
For example:./Middleware/EPMSystem11R1/products/Essbase/EssbaseServer/bin/ESSCMDQ
For Windows
%ESSBASEPATH%\bin
For example:.\Middleware\EPMSystem11R1\products\Essbase\EssbaseServer\bin\ESSCMDQ.exe
To know the values of environment variables in your source EPM 11g installation, check the file
For Linux:./Middleware/user_projects/<epm instance>/EssbaseServer/essbaseserver1/bin/setEssbaseEnv.sh
For Windows:./Middleware/user_projects/<epm instance>/EssbaseServer/essbaseserver1/bin/setEssbaseEnv.bat
By default,
<epm instance>
would beepmsystem1
. - Make a copy of the existing script
For Linux
./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmd.sh
as
./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.sh
For Windows
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmd.bat
as
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat
Within this newly created script, change the call from
ESSCMD
toESSCMDQ
. - Just before this last line (just before the call to ESSCMDQ), add the following lines:
For Linux
export ESSCMDQ_UTF8MODE=1 export ESSLANG=.UTF-8@Binary
For Windows
set ESSCMDQ_UTF8MODE=1 set ESSLANG=.UTF-8@Binary
- Make sure that you have stopped the copied application before converting the outline.
- Now create a "client" folder under ARBORPATH.
- Copy the application folder from ARBORPATH app directory to client directory. For ASOBck app, for example:
For Linux
$ARBORPATH/app/ASOBck as $ARBORPATH/client/ASOBck
For Windows
%ARBORPATH%\app\ASOBck as %ARBORPATH%\client\ASOBck
- Execute the following commands in ESSCMDQ after launching the following.
Note:
ESSCMDQ is interactive, so parameters for each command can be found in interactive mode. To see what a parameter means, enter the command, such as OpenOtl, and then press Enter to see the menu explaining the parameter. Or enter the ESSCMDQ command and press Enter, without any parameters, and the parameter menu is displayed.Linux example
./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.sh openotlex2 1 1 appName dbName outlineName Y Y Locale N 0
writeotlex 0 1 1 appName dbName outlineName 2
Windows example
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat openotlex2 1 1 appName dbName outlineName Y Y Locale N 0
writeotlex 0 1 1 appName dbName outlineName 2
Note that
Locale
should be the native ESSLANG value used in the source Essbase 11g environment.For example (Linux syntax)
mkdir $ARBORPATH/client cp -r $ARBORPATH/app/ASOBck $ARBORPATH/client ./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.sh openotlex2 1 1 ASOBck Basic Basic Y Y "Japanese_Japan.MS932@Binary" N 0 writeotlex 0 1 1 ASOBck Basic Basic 2 exit
- Make sure that no errors are displayed while executing the above commands. Then, for each cube, copy just the outline file from the client directory back to the application directory.
For example (Linux syntax):
#Now copy back the converted outline only for each cube. For ASOBck app - cp $ARBORPATH/client/ASOBck/Basic/Basic.otl $ARBORPATH/app/ASOBck/Basic/Basic.otl #Note: The artifact files (.txt or .csc), which were created in native locale, may need to be converted to UTF-8 manually using third party tools which help in converting text encoding.
- Launch ESSCMDQ again using:
For Linux
./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.sh
For Windows
and restructure each cube..\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat
#Please replace hostname, username, password, appname and cubename with appropriate values login 'hostname' 'username' 'password' select appname cubename openotl 2 1 appname cubename outlinename y y 0 writeotl 0 2 1 appname cubename outlinename restructotl 1 closeotl 0 unlockobj 1 appname cubename outlinename logout exit
For example:
login localhost:1423 user password select ASOBck Basic openotl 2 1 ASOBck Basic Basic y y 0 writeotl 0 2 1 ASOBck Basic Basic restructotl 1 closeotl 0 unlockobj 1 ASOBck Basic Basic logout exit