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

  1. From the Essbase web interface, download the Essbase Client for Windows and the MaxL Client.
  2. Extract the MaxL client to a MaxLClient directory.
  3. Extract the ESSCMD client to an EssbaseClient directory.
  4. Copy the startMaxl.bat script from the MaxLClient directory to the EssbaseClient directory. Rename the script to startEsscmd.bat.
  5. Edit the startEsscmd.bat file, and add a new setting to call esscmd, instead of esscmd.sh:
    "%ESSBASEPATH%\bin\esscmd" %*
  6. 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>

  7. After you confirm that it works, download ESSCMDQ for Windows from https://www.oracle.com/middleware/technologies/esscmdq-sampleapps-downloads.html.
  8. Extract ESSCMDQ.exe to the EssbaseClient/bin directory.
  9. Copy the startEsscmd.bat script to startEsscmdQ.bat.
  10. Edit the startEsscmdq.bat file to call esscmdq instead of esscmd:
    "%ESSBASEPATH%\bin\esscmdq" %*
  11. 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

  1. Convert the copied aggregate storage application to Unicode mode using MaxL shell, as described below.
  2. Change the ESSLANG value within the source outline from native encoding to UTF-8, as described below.
Convert the copied aggregate storage application to Unicode mode using MaxL shell:
  1. Log in to the source Essbase 11g instance using MaxL shell.
  2. Execute MaxL statement alter application <copied_app> set type unicode_mode to convert the application to Unicode. For example:
    MaxL> alter application SampleBck set type unicode_mode;
    For more details on the MaxL, see Alter Application.

Note:

All of the following operations must be performed on the copied application and not the source application.
Change the ESSLANG value within the source outline from native encoding to UTF-8.
  1. Download ESSCMDQ,
    1. Download platform-specific "11.1.2.4.010+" version of ESSCMDQ from Download ESSCMDQ to your source EPM 11g instance.
    2. 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 be epmsystem1.

    3. 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 to ESSCMDQ.

    4. 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
  2. Make sure that you have stopped the copied application before converting the outline.
  3. Now create a "client" folder under ARBORPATH.
  4. 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
  5. 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
  6. 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.
    
  7. 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