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
MaxLClient
directory. -
Extract the ESSCMD client to an
EssbaseClient
directory. -
Copy the
startMAXL.bat
script from theMaxLClient
directory to theEssbaseClient
directory. Rename the script tostartEsscmd.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 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.exe
to theEssbaseClient/bin
directory. -
Copy the
startEsscmd.bat
script tostartEsscmdQ.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 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_mode
to 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/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 environment 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 Linuxexport 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 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.sh
For Windows
.\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\startEsscmdQ.bat
and 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 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