Category Archives: SAP

Network configuration for sapinst

In order to complete an SAP installation, in particular to have services that start (…state UNKNOWN. Giving up.) niping command allows to check if name resolution is correct.
You should never have the hostname corresponding to localhost. The hostname has to be resolved to it’s own address.

This is explained in the following SAP note:

Note 1054467 – Local host name refers to loopback address
Basically, the host name of an instance should not be resolved for a loopback address. For this, you should also refer to the SAP network guides or Note 21151, point 2. The IP address of the host on which the instance runs must be unique in the network and should therefore not communicate any local loopback addresses to the outside. You can use the ‘niping’ program to check for which IP address your host name is resolved. You can use this tool to check the configuration and, if required, to adjust the configuration to the relevant positions.

./niping -v

Hostname/Nodeaddr verification:

Hostname of local computer: VEPINARD                         (NiMyHostName)

Lookup of hostname: VEPINARD                                 (NiHostToAddr)
    --> IP-Addr.:
Lookup of IP-Addr.:                           (NiAddrToHost)
    --> Hostname:

Lookup of hostname: localhost                                (NiHostToAddr)
    --> IP-Addr.:
Lookup of IP-Addr.:                                (NiAddrToHost)
    --> Hostname: localhost.localdomain

However if you do not care and do not want to be bothered by this, add the following line in instance profile:


Prepare CentOS VM for SAP Netweaver 7.3

This article describe the preparation of a SAP server running in a virtual machine.
It does not explain how to setup SAP software.

SAP Netweaver 2004 and 7.0 (2004s) do run fine on Debian OS. SAP does not support this linux OS, you are supposed to use RedHat or Suse. However after doing some changes to install scripts and using some tricks you can achieve a complete setup successfully.
The next SAP Netweaver version is 7.3. This one does not accept Debian (may be I did not investigate enough to have it working, if you do mail me at, thanks !) and requires a 64bits OS. So I tryed to set it up on a free RedHat like platform: CentOS.

Finaly I will have this test system run in a virtual machine. It is far more convenient as having one physical server per system. For that I am using VirtualBox.
I have tryed the free version of VMWare and had trouble: each update of the kernel host system implys the need to recompile the VMWare software.

As host machine I am using a Debian 64bits and as VirtualBox guest it is a CentOS 6.0 64bits.

VM creation
– OS type Linux
– version Linux 2.6 (64bit)
– base memory size 5500MB
– create a new harddisk VMDK
– fixed size
– size 200Go

VM settings
– System tab: Enable IO APIC, hardware clock in UTC time, 2 CPUs, 90% execution Cap, Enable VT-x, Enable Nested Paging
– Display tab: 128MB video, no extended features, enable temote display server, port 600x
– Audio tab: disable audio
– Network tab adapter 1 ethx enabled bridged, adapter 2 vboxnet0 host only
– USB tab: disabled unless you want to connect an external drive to your guest system
– Shared folder: very useful to avoid putting all SAP software sources on the guest machine, define what you will use

CentOS installation
– get ISO file CentOS-6.0-x86_64-bin-DVD1.iso
– use this ISO as boot drive for the VM and start the VM
– create the following partitions: 20Go for root, 30Go for /SAP, 160Go for /oracle
– at the end choose « desktop minimal » version to setup
– run system-config-network to setup network
– install extra packages kernel-devel and gcc

CentOS config for SAP
Sapnote 1391070 gives some tips:

yum install uuidd libXp -y
yum groupinstall base compat-libraries debugging directory-client
hardware-monitoring large-systems network-file-system-client
perl-runtime storage-client-multipath x11 development

Modify /etc/selinux/config


Add in /etc/sysctl.conf

# SAP settings
kernel.sem=1250 256000 100 1024

Add in /etc/security/limits.conf

@sapsys hard nofile 32800
@sapsys soft nofile 32800
@dba hard nofile 32800
@dba soft nofile 32800

@sapsys hard nofile 32800
@sapsys soft nofile 32800
@dba hard nofile 32800
@dba soft nofile 32800

CentOS config for Oracle

yum install libaio libaio-devel compat-libstdc++-33
elfutils-libelf-devel libgcc libstdc++ unixODBC unixODBC-devel ksh (ou mksh)

VBoxGuestAdditions special case
Get the VBox guest additions in the same version as the host VirtualBox softaxre


There might be some trouble with a symlink

ln -s /usr/src/kernels/2.6xxx /usr/src/kernel/currentkernel

Then modify the symlink that is in /lib/module it has to be /usr/src/kernel/currentkernel
Then launch VBox guest addition setup


In case of compilation error check the symlinks.
After guest setup reboot the VM..

Extra software
In order to get a desktop secure access install NX sofware

rpm -i nxclient-3.5.0-7.x86_64.rpm
rpm -i nxnode-3.5.0-6.x86_64.rpm
rpm -i nxserver-3.5.0-8.x86_64.rpm

SAP BI installation on Debian

1) server installation

First, install a Linux Debian server, version 5: lenny.
Select a server installation and/or do not install any application when it is asked.

Ideally do the following partitionning:
– swap, principal partition, twice the amount of RAM
– / , principal partition, 20Go for system, 10Go might be sufficient
– and get xxxx Go extra place to put SAP software, 30Go for /sap, 50Go for oracle, 20Go for the sources
Depending of your hosting, you may have to use some extra principal partitions like /boot and/or you may have to create an extra partition in the place left sothat RAID works….

At the end do not install anything, we manually install the following vital packages:
– ssh of course
– locate, which useful to find files on the system
– ntpdate to get correct date and time
– a desktop like KDE, Gnome or lighter like WindowsMaker

apt-get install ssh locate ntpdate kde

In the place left we will use LVM2 to create all the partitions we need.

When it is done, install the following packages:

apt-get install ssh kde lvm2

Please notice that you can select another desktop instead of KDE.

Aide mémoire à l’installation d’un système SAP Netweaver 2004s avec java add-in en 32bits, pour un « BI usage ».
Ce document implique de connaitre linux.

En résumé:
– installer un serveur linux
– ajuster la configuration linux pour SAP
– installer le stack ABAP
– installer le stack Java
– faire les opérations de post-installation sur le serveur SAP
– monter le niveau de SPS abap puis java

1) Installer un système debian de base de la manière suivante :

Installer la version Debian stable du moment (ici c’est une debian 4.0r1 qui date d’aout 2007)
Partitionner le disque :
swap = RAM x2
/ = 10Go, l’installation de base fait moins de 500Mo
/sap = 10Go et créer le lien symbolique /usr/sap qui pointe sur /sap
/oracle = 50Go, l’installation NW04s basique fait 40Go
/sources = 20Go, contient les sources nécessaire à l’installation

Ne strictement rien installer avec tasksel ou dselect car ça rajoute une tonne de trucs inutiles.

Idéalement utiliser les volumes logiques pour gérer les partitions /sap et /oracle. Cela permet de redimensionner (surtout pour agrandir) à la demande les partitions, ce qui est très utile lorsqu’on ne connait pas encore la taille finale de l’installation. Le package est LVM2, à faire en fin d’installation de préférence.

2) Rajout de paquets génériques sur le système

Première opération à faire après l’installation:

apt-get install ssh wget libasound2 x-window-system-core

Ensuite vous avez le choix de l’interface graphique, perso je fais dans le light avec Windows Maker car le serveur ne sera dédié qu’à SAP, donc pas besoin d’installer un KDE ou un Gnome:

apt-get install wmaker vnc4server

Configurer l’accès par vnc:

xhost +

2) Rajout de paquets nécessaires à SAP

apt-get install libstdc++5 libxp6 csh

3) Configuration du système nécessaire à SAP

Mettre à jour le fichier /etc/hosts : server.domain server

Modifier les paramètres mémoire du kernel dans /etc/sysctl.conf (note 941735):

kernel.sem=1250 256000 100 1024

Prendre en compte ces nouveaux paramètres

sysctl -p

Modifier les paramètres de nombre de fichiers et processus simultanement ouverts /etc/security/limits.conf :

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

4) Rajout de paquets nécessaires à Oracle

Le paquet binutils peut être déjà installé. Dans ce cas il peut ne pas être précisé dans la commande suivante:

apt-get install binutils libc6-dev libaio1 gcc make libmotif3 lesstif2 rpm original-awk

Si le paquet libmotif3 n’est pas disponible alors il faut installer mlterm-common.

5) Rajout de paquets optionnels

J’aime bien les systèmes à l’heure et mes petits utilitaires en ligne de commande:

apt-get install ntpdate locate

6) Le cas java

Pour l’installation et pour portail on a besoin de java 1.4.2 sur le système. Télécharger le dernier J2SE du moment : j2sdk-1_4_2_16-linux-i586.bin puis transformer ce fichier en package debian. Pour éviter les messages de warning à la création du package java, il faut avoir installé les packages libasound2 et libxp6, ce qui est déjà fait. Pour cela exécuter:

fakeroot make-jpkg j2sdk-1_4_2_16-linux-i586.bin
dpkg -i sun-j2sdk1.4_1.4.2+16_i386.deb

7) Configuration du système pour Oracle

Pour faire comme si on était sur une distribution RedHat, il faut créer quelques symlinks pour que l’install oracle puisse se faire:

ln -s /etc /etc/rc.d
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/sort /bin/sort
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename

Et cerise sur le gateau, ne pas oublier de créer un fichier /etc/redhat-release dans lequel on met:

Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

Vous aurez compris pourquoi ! 😉 😉 😉

8 ) Installation des sources pour Netweaver 2004s

Copier sur la partition /sources les fichiers SAP, il faut :
le master d’installation
le kernel (obligatoirement unicode)
la base oracle
le client oracle
les quatre exports de base
éventuellement le patch oracle et java

Dans le répertoire master d’installation, sous répertoire IM_LINUX_I386/, il y a un fichier qu’il faut rendre exécutable afin de pouvoir lancer le sapinst :

chmod +x sapinst

9) Lancer l’installation de SAP NW04 stack ABAP

Prérequis: ajuster la date 😉
Modifier le script /IM_LINUX_I386/COMMON/INSTALL/ de la manière suivante :

# ligne 196 commenter la première ligne et rajouter la suivante
# chkconfig —add $<em>SAPINIT</em> 2>&1 ...
update-rc.d -n $<em>SAPINIT</em> start 55 2 3 4 5 . stop 55 0 1 6

Se placer dans le répertoire IM_LINUX_I386/ et exécuter :


Voilà, c’est parti, enfin !
On entre dans le vif du sujet: installation d’un système SAP Netweaver pour l’instant uniquement le stack ABAP.

En étape 2 « Define parameters », le prerequisite checker ne devrait remonter une alerte uniquement pour la saplocale, passer outre en cliquant sur Cancel.

Résoudre les erreurs si il y en a et terminer l’installation. En général le statut de l’installation est correctement sauvegardé, c’est à dire que l’installation reprend là où il y avait une erreur, sans devoir recommencer from scratch.
Toutefois, le sapinst fait parfois des plaisanteries et reprend tout depuis le début, ça arrive …
Quand on est en cours d’installation, il est préférable d’avoir un accès simultané à OSS afin de pouvoir diagnostiquer et réparer les éventuelles erreurs.

Bon, on va dire que tout s’est bien passé: vous obtenez un système ….. ABAP ! Il va falloir faire l’installation du stack Java.

Bref, quand c’est fini, au niveau OS, ajuster la date précédemment ajuste en étape 9 😉 😉


10) Créer un mandant client :

D’abord il faut créer un user quelconque dans le mandant 000 ayant des droits étendus. C’est avec ce user qu’il faudra créer le système logique nécessaire à la création du mandant client supplémentaire.

Si il y a un problème d’adresse avec le user crée, alors exécuter le report RSADRCK2.
A partir du mandant 000, créer une entrée en SCC4.
Rajouter dans le profil d’instance la ligne qui permet de se connecter dans le mandant nouvellement crée avec le user SAP* et le mot de passe PASS et on va en profiter pour rajouter les deux lignes suivantes :

login/no_automatic_user_sapstar = 0

Modifier le profil default, avec xxx comme numéro de mandant client qui va être crée :

login/system_client = xxx

Pour prendre en compte ces modifications il faut redémarrer l’instance.
On en profite pour remettre une date système correcte et rebooter le serveur afin de tout cleaner.
Lancer la copie de mandant, transaction SCCL, copie avec profil SAP_ALL depuis le 000 vers le mandant cible
Exécuter le module fonction RS_MANDT_UNIQUE_SET et indiquer le mandant nouvellement crée
Faire une entrée dans la table RSADMINA en indiquant le numéro de mandant dans le champs BWMANDT

11) Opérations post installation abap

Exécuter la STMS dans le 000 afin de générer un fichier profil de transport, ça évitera lles erreurs lors de la première utilisation de SPAM/SAINT
Pour pouvoir créer les fichiers physiques des ordres de transport il faut configurer le système de transport :

Transaction STMS
menu Overview
Systems puis menu SAP systems
Virtual system et créer le système XYZ

Relancer la transaction STMS
menu Overview
Transport routes
menu Settings
Transport route editor
Hierarchical Editor List

Relancer la transaction STMS
menu Overview
Transport routes
se mettre sur transport layer en modif
créer un nouveau transport layer ZTST

Relancer la transaction STMS
menu Overview
Transport routes
se mettre sur transport route en modif
créer un Consolitation en indiquant TST ZTST XYZ


Définir le logon group, transaction SMLG.
Vérifier en STRUSTSSO2 que l’entrée dans system PSE est au vert.
Activer les services SICF comme dans la note 517484.

Pour installer les stats techniques, monter le système en SPS13 et la SPAM 27 avec le dernier SPS du moment (et la SPAM adéquate), installer le bi_cont 7.03du moment et le patcher jusqu’au niveau 4 le plus actuel.

Exécuter le report d’installation RSTCC_ACTIVATE_ADMIN_COCKPIT afin d’activer les stats techniques.

Bon, ben on va pouvoir attaque l’installation du stack java !

12) Prévention des emmerdes avant install java

Tout d’abord vérifier que les roles abap suivants ont un profil correctement généré : transaction SUPC sur tous les roles.
Créer les users :

En fonction de la version d’installation 2004s, voire 2007, il est possible que le script d’installation crée correctement tout ces users et leur attribue les bonnes autorisations. En ce qui me concerne ce n’était pas le cas.

13) Installer java

L’installation se fait en java add-in for abap.
S’affecter le rôle SAP_J2EE_ADMIN dans l’abap puis se connecter au portail et vérifier la présence des trois onglets de base, et que par exemple l’UME fonctionne bien.
A ce stade on a un système BI 7.0 complet (abap et java) en SP09 avec le niveau de SP fournit dans l’installation.

Rien de spécial à signaler, comme d’hab, résoudre les erreurs si il y en a et relancer l’install.

Dans le meilleur des cas l’installation s’est terminée, le stack java a réussi à démarrer (parfois au bout de quelques heures le sapinst abandonne et indique qu’il n’arrive pas à démarrer java. Un shutdown de SAP puis de Oracle permet de récupérer de la mémoire et au redémarrage suivant, miracle, tout démarre.

Une précision tout de même: sur des machines très petites, le démarrage du stack java peut prendre plus de 30mn. Il est même possible d’avoir accès à nwa mais pas à irj/portal, tout dépend des ressources de la machine.

14) Update transport

Updater la SPAM (26) et le JSPM (SP13). Idéalement, prendre les versions à jour du moment (vérifier la compatibilité avec le niveau de SPS du système).

15) Mettre à jour le système SAP

Objectif : SP13 SPS du moment.
A partir du SPC13 (sp collection 13 pour abap et java) mettre à dispostion de JSPM tous les patches.
Passer les SP sur la partie abap.
Pour un « BI usage », si nécessaire rajouter le BI_CONT, puis FIN-SEM.

16) Vérifier la conf SLD

Note OSS 983156.
Dans Visual admin, serveur > service > sld data supplyer, onglet Runtime, onglet » HTTP Settings », vérifier l’url (pas de host mais le domain), et vérifier le user (pas J2EE_ADMIN mais SLDDSUSER) et dans l’onglet « CIM client Generation Settings » vérifier que les deux cases sont cochées, que le host et user sont corrects (comme précedemment).
Faire un test du SLD, ça doit être OK. Coté abap il est possible d’utiliser la transaction SLDCHECK, et pour mettre le bon user/pass utiliser la transaction SLDAPICUST

17) Configuration BEX web

Sur le portail dans nwa, onglet Deploy & Changer, exécuter les templates NWA et ensuite le BI-Java.
Eventuellement ajuster l’url dans la table RSPOR_T_PORTAL.

18 ) Problèmes sur stack java

Dans le cas où le portail ne démarre pas ou pout tout autre erreur java, visualiser les logs dans usrsapSIDinstj2eeclusterserver0logsystem
. Afficher le dernier fichier modifié.