Installing SAP Enterprise Designer in HXE

To be able to install EA Designer in HXE, you first need to copy the eadesigner.tgz file to your HXE server. SAP is not making the file available as a free available standalone download. You get the file with the HXE downloader.

First “problem” to solve is how to get the file on your HXE. In my case: a VM running on Proxmox.

If you have the eadesigner.tgz file on your laptop, and HXE server is in the same network as you are (e.g. WLAN), you can copy the file using scp. As an alternative, you can host the eadesigner.tgz file on an HTTP server and download it from there. For tomcat, copy the file eadesigner.tgz to the root directory and start tomcat.

Tomcat

Copy file to: webapps/ROOT
Start tomcat: ./bin/startup

HXE

Go to Downloads directory:

cd /usr/sap/HXE/home/Downloads

Download file from HXE:

curl http://192.168.0.1 /easdesigner.tgz –outfile eadesigner.tgz

Preparations

After having the file locally available in HXE you can start the installation procedure. Start with extracting the file content.

tar -xzvf eadesigner.tgz

Installation

Run installer

cd HANA_EXPRESS_20
./install_eadesigner.sh

Enter setup information

  • HANA Instance number
  • SYSTEM user password
  • XSA_ADMIN user password

Confirm to continue installation: Y.

Installation starts

When you see the command line again, EA Designer is (or should be) installed.

Post installation

Confirm status of EA Designer

xs apps

Look for the column state. The following 3 services must be started

  • eadesigner
  • eadesigner-backend
  • eadesigner-service

State STOPPED

The following service is only used during installation and can be in state stopped.

  • eadesigner-db

Access EA Designer

Note down the port of EA Designer.

https://hxehost:51028

Let the world know

Install SAP Web Dispatcher on Docker using SWMP

SAP Web Dispatcher is an important component in a SAP landscape. While have been treated as optional for many years and found mainly in SAP Portal scenarios, with the increase adoption of Fiori, having a reverse proxy in the landscape is becoming pre-requisite. While it’s possible to choose from a wide range of alternatives of servers for a reverse proxy, SAP`s Web Dispatcher is normally always the best fit in a SAP landscape. A question that sometimes arises is how to install Web Dispatcher.

First you settle on what version of Web Dispatcher (WD) to install. SAP Note 908097 states that you should go for the latest version. “Version 7.49 is the recommended SAP Web Dispatcher version for all backend systems.”

The actual installation gives you two options:

  • easy and
  • recommended.

The easy alternative is to simply un-sapcar the WD SAR file downloaded from Service Marketplace into a directory. To run WD, it`s then just to bootstrap it or run it with a given profile file. This installation method gives you a up and running WD in just one minute. The problem is that the files are all in one directory and not in the “official” directory structure of a normal SAP installation. But you get something like a portable WD installation: zip the directory and you can copy it to another server and can run WD from there.

The recommended alternative ensures that the WD is installed like a normal SAP product: all files follow the normal directory structure, etc. Installation is done using SWPM. Important when you are going to do some advanced configuration like PSE encryption, CryptoLib installation, etc. I`ll try to show how to install SAP Web Dispatcher the recommended way.

Download software

Download the needed software. It`s SWPM, Web Dispatcher, SAPCAR and HOSTAGENT.

SWPM

SAP Web Dispatcher 7.49 PL 112

SAPCAR 7.21

SAP Host Agent 7.21

Result

After you have downloaded all software, you have four files, summing up to almost 900 MB.

In a Unix environment, your WD system won`t have a graphical user interface and access to the system is given by SSH. This kind of environment can perfectly be emulated using Docker. Note: the SAR files need to be copied over to the target host.

Docker

There are several Linux images available for Docker. Let`s use Debian for this.

docker pull debian

For the actual image, see my Docker setup for Web Dispatcher: Dockerfile and docker-compose.yml: https://github.com/tobiashofmann/docker_webdispatcher_swpm

After running the Docker image, you have the files on the Linux system up and running, the Web Dispatcher and sapinst files available. Web Dispatcher is not yet installed. This is done by using sapinst. To run the installation, you`ll have to connect to sapinst using a different computer (most cases: your laptop). Let`s call the Docker container the target, and your computer the client.

Logon

I use Kitematic and to log on to my docker container, I just click on the EXEC button.

Logon to Docker container:

The log on from shell, the command is something like this:

bash -c "clear && docker exec -it dockerwebdispatcher_web_1 sh"

Target

To work properly, sapinst must be started as root. You then connect to it and log on. The logon is done by default with the user id running sapinst. Problem is that with the Docker images you do not know the root password. Same for environments where root access is only provided to a few or via sudo. You need to enable sapinst to run as root, but allow a different user (like <sid>adm) to log on. You achieve this by providing a parameter to sapinst informing the OS user allowed to log on remotely. The process is then:

  • Run sapinst as root (or sudo)
  • Connect to it informing a OS user (wddadm)

Sapinst Parameters

The needed parameter can be retrieved by letting sapinst show all available parameters. More information available in SAP Note 1745524 and at SAPinst central note.

./sapinst –p

Run sapinst in Docker

Provide the <sid>adm user as a property to sapinst.

./sapinst --properties SAPINST_REMOTE_ACCESS_USER=wddadm -nogui

Confirm that you know what you are doing.

Client

Start sapinstgui and connect to the target server on port 21212.

./sapinstgui

Inform the host name or IP address. In my case, it is 192.168.0.16. The port is the default sapinst port 21212.

Accept the fingerprint. You can check the fingerprint with the one printed by sapinst on the target server to be extra sure you are connecting to the right server.

Authenticate. You`ll need to provide the user id and password of the user running sapinst on the target host. In my case, the user is wddadm with password whatever. This is defined in the Dockerfile when the user is created.

sapinst output in Docker:

Logon on using wddadm / whatever

After a successful logon, sapinst will start. Current setup is not supported by SAP. For a production case this is a no-go, for my personal use case this is totally acceptable.

Sapinst shows the list of installable software options available. Web Dispatcher can be found at the end of the list.

Selecting SAP Web Dispatcher will start the installation.

Inform the path on the target server where the SAR files for SAP Web Dispatcher and SAP Host Agent can be found.

The files were copied into the container during the execution of the Dockerfile. All files are located at /home/wddadm.

If all packages are found, validated and added as considered valid for the installation.

Debian in Docker for sure won`t pass all the pre-requirements check build into SWMP. You`ll get a warning message, but SWMP won`t stop the installation. Select No. Seems that inside Docker, checking for the available free space is not working correctly.

Web Dispatcher configuration

Bootstrapping

Don’t worry, the system must not be accessible, yet exist. It’s just informing the bootstrap parameters. In my case, I am using a system that is not available, and it worked. Just be aware that in case the backend system changes, or isn’t even a ABAP system, like SMP3, you need to configure the Web Dispatcher profile manually.

Confirmation

Installation

The last step is to start Web Dispatcher. You can follow this on the console log of sapinst on the target server

If all worked, you get a confirmation message and the installation finishes.

SAPinst on the client host ends and so does it on the target host.

Validate installation

This gives you the time to validate the installation and check if all files are correctly installed.

Users

A new user sapadm was created

Folders

Web Dispatcher is installed under /sapmnt and instance is found in folder /usr/sap

This is perfectly aligned with the default locations of a SAP instance, and way better than simply putting all files into the same folder when unzipping the SAR. Especially when you consider that you may have to open a CSS ticket to SAP in your production environment or have new consultants arriving that expect the files to be located at the default location.

SAP Host Agent

The host agent was started and is running.

Start and stop Web Dispatcher

Starting and stopping Web Dispatcher via stopsap and startsap is working

stopsap

startsap

Admin web interface

The admin port of Web Dispatcher is listening by default on port 44300.

To access the service, the URL is

https://localhost:44300/sap/wdisp/admin/public/default.html

Log on to Web Dispatcher using the user webadm and password informed during installation.

Let the world know

Install Personas 3.0 SP3

Pre-requisites

Check that Personas 3 add-on and SP01 and SP02 are already installed. SP03 is a support package, therefore SPAM is used to install it.

Update

  • Transaction: SPAM
  • Client: 000
  • User: user with right permissions

Check that SPAM status is green and no queue is defined.

Upload SAR file: Support Package -> Load packages -> From Front End

Decompress.

Check the uploaded package. Select new support package under directory and then display.

The status needs to be yellow (not yet imported) and the perquisite set 01 all must be green and ok.

Select the package and click on Queue to define a new queue.

This SP03 is not protected with a password.

Select No. This brings you back to SPAM main screen. The status is now yellow and next action is given as import queue.

Import queue. Go to: Support Package -> Import queue.

You can now go get a coffee or follow the status messages in the status bar.

At the end of the import, a dialog is shown. It should be a nice “success!!” dialog, I got this:

What happened is that I applied a Personas 3 note that changed some standard objects. The dialog is SAP’s polite reminder to check if I want to keep these changes or discard them and let Personas 3 SP03 overwrite them. I want to not keep them and let Personas 3 use its own repository objects, so I selected continue. At the end you’ll see a short walkthrough what you should do (analyse the stuff, etc), although this isn’t possible in my demo system, as I do not have a SAP Note connection – something needed to run the validation.

Status is now: Confirm queue

You can and want, please send the data back to SAP.

SPAM finished updating Personas 3 to SP02 and the status is green -> all OK.

Check the installed Personas 3 version.

Personas 3 SP03 is installed.

SPAU

When installing Personas, for sure you’ll apply some SAP Notes. When upgrading to a newer service pack, you’ll have to decide if you want to keep the adjustments done by the imported SAP Note or if you want to go back to the original version. As long as the service pack going to be installed contains the changes of the SAP Note, you can revert the changes. To do this:

  • Transaction SPAU

You see a list of SAP Notes. To get a better understanding, try to run the comparison tool. Be aware that SNOTE must be configured to download notes from SAP for this to work.

Select the option to reset the object. In case SNOTE can download the note from SAP, this should work.

Locked objects

Another part to consider when installing a new service pack is that the objects that are part of a transport request are locked. If so, SPAM will show the following dialog:

Click on the request number to see the locking requests.

First, release the tasks. (A check icon must be behind them)

Then, release the transport request.

Done.

Let the world know

Install SAP OCB Retail – 5 – Starting the application

Three types of applications were installed by SAP Omnichannel Retail Banking:

  • business central
  • business banking
  • retail banking

Each one of those is accessed by a URL and browser.

Business Central

Access: https://localhost:8081/bc/servlet/bc/global.jsp

Select your language (most probably, it will be English). In the next screen, enter user name: admin

Enter password Pass1234.

Welcome to business central.

Business Banking

Access: https://localhost:8081/cb/pages/jsp-ns/login-corp.jsp

Inform the user name jtech

Inform the password Pass1234

Retail Banking application

Access: https://localhost:8081/cb/pages/jsp-ns/login-cons.jsp

User: tbowman

Password: Pass1234

Home screen on online banking.

Let the world know

Install SAP OCB Retail – 4 – Validation

After enabling OCB features, you should check if folders and files are correctly available in SMP3. In theory, the enablement worked, when OCB files are available in the features, plugins and webapp folder of SMP3.

Features

ls /SAP/MobilePlatform3/Server/features/ | grep "com.sap.banking.omnichannel*"

You should get a list of 5 folders.

  • com.sap.banking.omnichannel.bpw.web_8.3.1.1-v201512150916
  • com.sap.banking.omnichannel.businesscentral.web_8.3.1.1-v201512150916
  • com.sap.banking.omnichannel.onlinebanking.web_8.3.1.1-v201512150916
  • com.sap.banking.omnichannel.platform_8.3.1.1-v201512150916
  • com.sap.banking.omnichannel.provisioning_8.3.1.1-v201512150916

Plugins

ls /SAP/MobilePlatform3/Server/plugins | grep "com.sap.banking"

You should get a huge list of folders

  • […]
  • com.sap.banking.banking-applications_8.3.1.1.jar
  • com.sap.banking.banking-approvalconfig_8.3.1.1.jar
  • com.sap.banking.banking-approvalpluginconfig_8.3.1.1.jar
  • com.sap.banking.banking-bankconfig_8.3.1.1.jar
  • com.sap.banking.banking-bankingconfig_8.3.1.1.jar
  • com.sap.banking.banking-bankingreport-api_8.3.1.1.jar
  • com.sap.banking.banking-bankreport_8.3.1.1.jar
  • com.sap.banking.banking-billpay_8.3.1.1.jar
  • com.sap.banking.banking-billpay-api_8.3.1.1.jar
  • com.sap.banking.banking-billpayconfig_8.3.1.1.jar
  • com.sap.banking.banking-bptw_8.3.1.1.jar
  • […]

Webapps

ls /SAP/MobilePlatform3/Server/webapps/

Three banking-* folders must exist.

Let the world know

Install SAP OCB Retail – 3 – Enable SAP Omnichannel Retail Banking

While installing OCB, SMP3 had to be stopped. During the installation, the database was prepared and files that represent the OCB application were copied to SMP3. Those bundles are now available in SMP3 (OSGI bundles), but are not activated. To be able to use OCB, the features must be activated by SMP3 administration in the Admin web interface. First, start SMP3.

Add OCB p2 repository

Log on to the SMP3 admin interface and navigate to settings -> repositories

Add the repository created above by the installer

file://SAP/MobilePlatform3/Server/p2/com.sap.banking.omnichannel.repository

Enable OCB features

After adding the p2 repository containing the OCB features, you can enable them. Navigate to Settings -> Features & Components.

The screen shows the available features for SMP3. With adding the OCB p2 repository, the OCB features are listed. You have to follow a specific order when activating the features.

  1. com.sap.banking.omnichannel.provisioning.feature.group
  2. com.sap.banking.omnichannel.platform.feature.group
  3. com.sap.banking.omnichannel.bpw.web.feature.group
  4. com.sap.banking.omnichannel.businesscentral.web.feature.group
  5. com.sap.banking.omnichannel.onlinebanking.web.feature.group

1 Enable com.sap.banking.omnichannel.provisioning.feature.group

2 Enable com.sap.banking.omnichannel.platform.feature.group

SMP3 server will restart. You can see this on the console.

New bundles and new features are being started.

SMP3 server must start successfully. If not, you have a problem.

Result

3 Enable com.sap.banking.omnichannel.bpw.web.feature.group

4 Enable com.sap.banking.omnichannel.businesscentral.web.feature.group

5 Enable com.sap.banking.omnichannel.onlinebanking.web.feature.group

Start scheduler bundle

cd /SAP/MobilePlatform3/Server/tools/cmdclient/
./ljsc.sh ss banking-core-scheduleruntime

Let the world know

Install SAP OCB Retail – 2 – Start installation

Download

Download the installation file from SAP Market place and copy it on the SMP3 server.

tar zxvf ONLRETBANK83001P_1-81000501.TGZ
cd ebf25660/
unzip RetailBanking_8.3_SP01_PL01_LINUX64.zip

This will give you the installation files in the folder.

Start installation

The installer is the folder SAPOnlineRetailBanking8.3.1.1.

cd SAPOnlineRetailBanking8.3.1.1/
sh ./install.sh

Press enter to start the wizard. You’ll have to inform several paramters, like SMP3, Database, etc.

SMP3 configuration

Oracle Database configuration

Inform the path on your system where Oracle is installed. The path contains the DB tools. For Oracle XE, the path is: /u01/app/oracle/product/11.2.0/xe/

Load sample data into database

Installation starts

Database is being created

After a while, the installer should finish

Validation

The folder com.sap.banking.omnichannel.repository must have been created as a p2 repository. Check for it via

ls /SAP/MobilePlatform3/Server/p2/com.sap.banking.omnichannel.repository/

Let the world know

Install SAP OCB Retail – 1 – SMP3 configuration

To be able to install SAP Omnichannel retail banking on SMP3 SP8, some adjustments must be done on the SMP3 server configuration.

Avoid memory leak

Add a new parameter in the props.ini file of SMP3 server.

vim /SAP/MobilePlatform3/Server/props.ini

Parameter to add: -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true

DTD validation

Looking at the installation guide from SAP, this configuration is somewhat against SAP’s own security recommendations, but is needed as OCB uses struts, and for those the validation must be done via DTD and not by XSD. Edit the file fixed-sys.properties located at /SAP/MobilePlatform3/Server/configuration/com.sap.mobile.server.launcher.

vim /SAP/MobilePlatform3/Server/configuration/com.sap.mobile.platform.server.launcher/fixed-sys.properties

Comment out the last two properties.

Weak Diffie-Hellman ciphers

New browser don’t like anymore the SMP3 SP8 standard TLS ciphers, therefore these must be changed to be more aligned with latest security expectations.

vim /SAP/MobilePlatform3/Server/config_master/org.eclipse.gemini.web.tomcat/default-server.xml

For each TLS connector, substitute the ciphers by TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA.

JAVA_HOME

Set JAVA_HOME variable to the one used by SMP3.

export JAVA_HOME=/SAP/MobilePlatform3/sapjvm_7/
Let the world know

Install SMP3 with Oracle DB

The following procedure for installing SMP3 with an Oracle DB is for Linux. For tests, you can use Oracle Express. Check your environment/company if you can use that version.

Prerequisites

Ensure that Oracle XE is up and running. It is important that the tnslistener is working! Run the listener and check the status:

/u01/app/oracle/product/11.2.0/xe/bin/lsnrctl status

Configure installation parameters

The steps are documented at SAP Help. You’ll have to edit the SilentInstall_Linux.txt file and adjust the installation parameters.

vim SilentInstall_Linux.txt

For Oracle, you’ll need to change these parameters (at the end, you’ll find a complete example file):

Activate that SMP3 uses an external DB

-V developerInstall="false"
-V productionInstall="true"
-V sqlaEmbeddedDB="false"
-V existDB="true"

Inform the Oracle XE connection parameters

-V existDBType="oracle-sid"
-V dbHostName="localhost"
-V dbPortNumber="1521"
-V dbLogin="gomobile"
-V dbPassword="secret"
-V dbDBName="XE"

Inform the JDBC driver location

-V jdbcDriver="/u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc6.jar"

Prepare Oracle DB

Form the above connection parameters you can see that SMP3 is going to use the user gomobile with the password secret to connect itself to Oracle XE. This means that the user with the password and a schema must be created in the DB. SMP3 comes with a SQL script for Oracle that does exactly that. The script is located at /db_tools/db/oracle/smp3/sql. The file is 001_SMP3_drop_and_create_user.DDL The file contains the SQL statements to create the user with the right permissions:

CREATE ROLE SY365_OBJOWNER;
GRANT CREATE SEQUENCE TO SY365_OBJOWNER;
GRANT CREATE SESSION TO SY365_OBJOWNER;
GRANT CREATE SYNONYM to SY365_OBJOWNER;
GRANT CREATE TABLE TO SY365_OBJOWNER;
GRANT CREATE VIEW TO SY365_OBJOWNER;
GRANT CREATE PROCEDURE TO SY365_OBJOWNER;
GRANT CREATE SEQUENCE TO SY365_OBJOWNER;
GRANT CREATE TRIGGER TO SY365_OBJOWNER;
GRANT CREATE INDEXTYPE TO SY365_OBJOWNER;
DROP USER GOMOBILE CASCADE;
CREATE USER GOMOBILE
IDENTIFIED BY secret
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
-- 2 Roles for GOMOBILE
GRANT SY365_OBJOWNER TO GOMOBILE;
GRANT CREATE SESSION TO GOMOBILE;
GRANT CONNECT TO GOMOBILE;
ALTER USER GOMOBILE DEFAULT ROLE ALL;
-- 1 Tablespace Quota for GOMOBILE
ALTER USER GOMOBILE QUOTA UNLIMITED ON USERS;

You’ll have to add the command EXIT; at the end of the file

To run the SQL script, run:

sqlplus system/Sap123 @001_SMP3_drop_and_create_user.DDL > smp3.log
  • Note: Sap123 is the password for the user system.

Output is written to smp3.log

SQL*Plus: Release 11.2.0.2.0 Production on Wed Aug 24 21:37:08 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Role created.
Grant succeeded.
[…]
DROP USER GOMOBILE CASCADE
ERROR at line 1:
ORA-01918: user 'GOMOBILE' does not exist
User created.
Grant succeeded.
[…]
User altered.
User altered.

The error regarding DROP user is normal, as the user gomobile hasn’t been created before, so there is no user to drop.

Run installer

With the above steps done, SMP3 installer is ready to be run.

./SilentInstall_Linux.sh

The output will contain information regarding the Oracle DB:

dbg, existDBType:oracle-sid
WARNING: Selecting this option confirms SMP database is already created
dbg, jdbcDriver: /u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc6.jar
dbg, jdbcDriver fullFileName: /u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc6.jar
dbg, jdbcDriverFile: /sap/SAP/MobilePlatform3/Util/ojdbc6.jar
dbg, ojdbc6.jar will be renamed to ojdbc.jar in the installation
dbg, queryExit:oracle-sid localhost gomobile [pwd entered] 1521 XE
dbg, Ping succcesful: 0
dbg, smpDataExists:false
dbg, New node install

If everything works fine, you’ll get a confirmation message at the end of the installation.

Installation Successful

Validation

SAP Help contains some information on how to validate the installation. You can search for error message in the installation log, but when an error occurs, normally the installer stops. My preferred way to check SMP3 is to start the server and see if I can log on, create apps, etc. Base test is therefore to start SMP3 and to log on.

Let the world know

Install Oracle Express 11G R2 on CentOS 7

Preparations

Install some additional packages via yum to ensure that the installation and execution of the database will work. The list may differ, depending on the actual version of CentOS you are using, but the internet gave me back the following packages and you should be on the safe side.

yum update
yum install unzip libaio bc flex

Download

Before using the express edition, make yourself familiar with the license and usage restriction this edition is shipped with. If it still fits your needs, be aware that CentOS is not on the list of officially supported Linux distributions. You are on your own. Download Oracle Express 11G R2 from Oracle. It`s a 308MB file.

The downloaded file is a zipped RPM package; first step is to unzip the file.

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

This gives you a new directory called Disk1. This folder contains the installation RPM.

Installation

Go to the folder and install the RPM via rpm tool.

cd Disk1
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm

After the installation, you`ll be prompted to configure the database.

Configuration

Run the tool /etc/init.d/oracle-xe to configure the database.

/etc/init.d/oracle-xe configure

Configure the port

Specify the port of the listener

Inform the system user password. Be sure to note this down somewhere or to really remember it!!!

Specify if you want the database to be started at boot time.

The configuration should now start automatically and only take a few minutes to complete.

The database is install at /u01/app/oracle/product/11.2.0/xe/

The oracle_env script is in the folder bin.

Oracle Express 11G R2 is also started and using ps –ef you can see the processes running.

That`s it, Oracle Express 11G R2 is now installed on CentOS.

Let the world know