Convert Non-Unicode Aggregate Storage Application to Unicode Mode
Before exporting an aggregate storage application from Essbase 11g On-Premise in preparation for migration to Essbase 21c, convert it to unicode mode.
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 21c web interface, download the Essbase Client for Windows and the MaxL Client.
-
Extract the MaxL Client to a
MaxLClientdirectory. -
Extract the ESSCMD client to an
EssbaseClientdirectory. -
Copy the
startMAXL.batscript from theMaxLClientdirectory to theEssbaseClientdirectory. Rename the script tostartEsscmd.bat. -
Edit the
startEsscmd.batfile, 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 Independent deployment.
Login syntax:
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.exeto theEssbaseClient/bindirectory. -
Copy the
startEsscmd.batscript tostartEsscmdQ.bat. -
Edit the
startEsscmdQ.batfile to call esscmdq instead of esscmd:"%ESSBASEPATH%\bin\esscmdq" %* -
Save the file. Run it as administrator and test logging into Essbase 21c Marketplace or Independent deployment.
Login syntax:
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 On-Premise instance using MaxL Shell.
-
Execute MaxL statement
For example:alter application <copied_app> set type unicode_modeto convert the application to Unicode.
For more details on the MaxL, see Alter Application (Aggregate Storage).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/binFor example:./Middleware/EPMSystem11R1/products/Essbase/EssbaseServer/bin/ESSCMDQFor Windows
%ESSBASEPATH%\binFor example:.\Middleware\EPMSystem11R1\products\Essbase\EssbaseServer\bin\ESSCMDQ.exeTo know the values of environment variables in your source EPM 11g installation, check the environment file.
For Linux:./Middleware/user_projects/<epm_instance>/EssbaseServer/essbaseserver1/bin/setEssbaseEnv.shFor Windows:./Middleware/user_projects/<epm_instance>/EssbaseServer/essbaseserver1/bin/setEssbaseEnv.batBy default,
<epm_instance>would beepmsystem1. -
Make a copy of the existing script
For Linux
./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmd.shas
./Middleware/user_projects/epmsystem1/EssbaseServer/essbaseserver1/bin/startEsscmdQ.shFor Windows
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmd.batas
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.batWithin this newly created script, change the call from
ESSCMDtoESSCMDQ. -
Just before this last line (just before the call to ESSCMDQ), add the following lines:
For Linuxexport ESSCMDQ_UTF8MODE=1 export ESSLANG=.UTF-8@BinaryFor 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
clientfolder under ARBORPATH. -
Copy the application folder from
ARBORPATH/appdirectory to client directory. For ASOBck app, for example:For Linux
$ARBORPATH/app/ASOBck as $ARBORPATH/client/ASOBckFor 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 0writeotlex 0 1 1 appName dbName outlineName 2Windows example
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat openotlex2 1 1 appName dbName outlineName Y Y Locale N 0writeotlex 0 1 1 appName dbName outlineName 2Note that
Localeshould be the native ESSLANG value used in the source Essbase 11g On-Premise 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.shFor Windows
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.batand restructure each cube.
#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 exitFor 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