How SAP Business Objects Licensing works

There are different type of licensing available for SAP Business Objects as per the version installed. SAP released multiple notes to understand the same. This is quite different from SAP ABAP & JAVA system.

This comes with “Named User License”, “Concurrent Sessions Based Licensing”, CPU based etc…

Most details covers in below notes –

1285639 – What license types are available for Business Objects Enterprise?

1794184 – What are the different license types (NUL, CAL, CS, CSBL, CPU) for SAP BusinessObjects products

2251998 – How to generate license keys for SAP BusinessObjects Business Intelligence Platform (all versions)

1251889 – License key request for SAP Analytics Solutions (previously SAP BusinessObjects)

————————————————————————————————

Example –

NUL Licensing – Means how many named user login into the system simultaneously. These are guaranteed users which will get the access of BO system.

CSBL Licensing – Means suppose 1 user login into the BO system & then he login into crystal reports or create any other session without disconnecting the previous one, then he is creating multiple concurrent sessions & if these sessions are exhausted by some users then another user can’t login into the system & it will throw an error.

CPU based licensing – Means unlimited named users & concurrent sessions,based on your BO hardware, ideally how many CPU cores & metrics installed in Virtual/Physical server.

————————————————————————————————

Monitor the Current Usage of SAP Business Objects –

Before changing/updating license in BO, please verify the Global System Metrics on your Business Objects Server.

Login into BO Application ——–> Settings ————> View Global System Metrics

The above will show the Purchased license details with Peak License Used.

How to run DB2 commands for SAP

useful DB2 commands which needs to run to administer the DB2 Database for SAP workloads.

#To start DB2
db2start

#To connect to particular database
db2 connect to dbname

#To check DB configuration/parameters
db2 get db cfg for dbname

#To update DB configuration/parameters
db2 update db cfg for dbname using LOGARCHMETH1 DISK:/db2/TST/archivelog

This is an example, you can update any parameter as per your requirement. LOGARCHMETH1 is parameter which need to update to keep the archive logs, This parameter is visible by check DB configuration command & after updating any parameter, DB restart requires & sometimes offline DB backup requires before starting up the DB.

#Backup DB2 Database
db2 backup database dbname to /location

#Restore DB2 Database
db2 restore db dbname from /location on /db2/TST/sapdata1

The above command will restore the DB on /db2/TST/sapdata1 folder. Make sure to check the DB parameters once restore completed as it always point to old configuration. After restore many times DB can’t start & throw roll forwarding error, in this case you need to complete the roll forwarding with below command –

#To end the roll forward status
db2 rollforward db TST to end of logs & complete

#To deactivate DB before shutting down
db2 deactivate db dbname

#To shut down DB normally
db2stop

#To shut down db forcefully as application connections were still exists
db2stop force

#To check all schema in DB2 DB
db2 select schemaname from syscat.schemata

#To list all the tables for all DB’s
db2 list tables for all

#To list all the tables in respective DB
db2 list tables for schema dbname

#To manually generate the archive logs
db2 archive log for database dbname

#Unlock DDIC or any other user in DB2
db2 “update SAPSID.USR02 set UFLAG=0 where BNAME=’DDIC’ and MANDT=’000′

#Check HA/DR status in DB2
db2pd -d dbname -hadr | grep -i hadr

DB2 HA/DR Cluster Stop / Start

SAP application should be shut down before stopping the DB2 cluster.

Azure SUSE Linux host running on SBD cluster – Cluster should be set on maintenance mode
(This is a mandatory step otherwise Virtual Name will switch to other host if DB get down in Primary mode. By setting up maintenance mode, it stick on the same node until maintenance mode OFF)

————————————————–
Shut down sequence – Primary DB & then Secondary DB
Startup sequence – Secondary DB & then Primary DB
————————————————–

Login to Primary DB host & verify the crm_status

#Stop the HADR
db2 stop hadr on db dbname
db2 deactivate db dbname
db2stop

Login to Secondary DB host and run below commands

#Stop the HADR
db2 stop hadr on db dbname
db2 deactivate db dbname
db2stop
———————————————–

#Start the HADR on Standby/Secondary host first
db2start
db2start hadr on db dbname as standby

#Start the HADR on Primary host
db2start
db2start hadr on db dbname as primary
————————————————

#Verify the HADR status on both hosts
db2pd -d dbname -hadr | grep -i hadr

I will update the list with more commands very soon….

TEMSE Inconsistencies in SAP – SP12

In Transaction SP12—->consistency Check , system outputs the … Do a consistency check for TEMSE and delete these inconsistent objects. Looks very easy to do the same but actual problem arise when we perform any System refresh/copy activity then do a consistency check. it will show a big list of inconsistencies as below

Cleaning up this by selecting all & run in DIA mode with give you TIME_OUT Dump if your DIA runtime parameter doesn’t properly set eventually in my case it was set 600 sec & it’s always giving me TIME_OUT dump. To avoid this dump, I ran RSBTCDEL report first with retention period of 7 day in BG mode. it cleaned up lot of files & then did again TEMSE consistency check & delete all in one go. This time it clear all the inconsistencies without any issue & without increasing TIME OUT parameter.

What I Learn is, you can also achieve the same by increasing the TIME_OUT parameter but it’s better to run the cleanup before.

SAP: How to find tables in Transaction Code

Hello All,

Recently we requires some tables behind the running SAP program – i.e. BD64 or OAC0.

There is a method where you can click F1 & check the technical tables but sometimes you find the structure tables instead of transparent tables so it’s very difficult to find the data.

There is 1 more method from where you can get the all tables of any program –

Try below –

SE37(Function Module) – RS_PROGRAM_TABLES

OBJECT TYPE = ‘PROG’

OBJECT NAME = ‘REPORT NAME’ “program name of that tcode” —-> Execute

program name you can find from the System – Status – Program Name

Let me know if this help to you.

SSL Certificate Implementation or Renewal in Web Dispatcher

Hello All,

As per SAP best practice, if we are configuring our SAP systems to access from Internet or from External Network via SAP Web Dispatcher, we should implement SSL/HTTPS certificate to secure our web dispatcher & internal network.

All traffic from outside will only process via SSL layer & provide security to our SAP systems as well.

For Implementing or Renewing the existing SSL/HTTPS certificate, You need to purchase the same from any Third Party (i.e. – Go Daddy).

They will provide you SSL certificate in different formats – i.e. – pfx or crt

CRT file can directly import in SAP ABAP or JAVA system (STRUSTSSO2), make sure to enable https protocol on that respective system.

For Web Dispatcher, we requires PSE file & PSE file can be generate via provided PFX file by following below steps –

Pre-requisites – web dispatcher should be in running state with HTTPS protocol enabled.

1. Get PFX certificate from Vendor (i.e. – Go Daddy) with password.

2. Copy the PFX certificate to any directory in Web Dispatcher

Run the following commands to generate the PFX file from the same directory –

#sapgenpse import_p12 -p /usr/sap/SID/W00/sec/DIR NAME/SSL.pse /usr/sap/SID/W00/sec/DIR NAME/SSL_Godaddy.pfx …Press Enter..

enter the encrypted password shared by Vendor

Please enter PSE PIN/Passphrase: BLANK

#sapgenpse seclogin -p /usr/sap/SID/W00/sec/DIR NAME/SSL.pse -x password by vendor -O sidadm ..Press Enter..

Now SSL.pse has been generated in the same directory from here you trigger the commands.

Maintain the below profile parameters & Restart the Web Dispatcher –

SSL_ENCRYPT = 1
ssl/ssl_lib = kernel dir/libsapcrypto.so
ssl/server_pse = /usr/sap/SID/W00/sec/DIR NAME/SSL.pse

Also maintain the CIPHERSUITE parameters & other SSL parameters as per your requirement.

SAP MAXDB : Export/Import through Loader utility

MAXDB Provides a powerful tool to perform Export/Import through Loader utility which is very useful in case of Heterogeneous System Copy.

There are some limitations to use Loadercli via command line as it require same versions on source & target to perform Export/Import.

If you are using different OS on source & target then Loadercli is not a good option as it’s very difficult to keep same versions on both side.

Loadercli will perform the same action smoothly as it works with MAXDB Studio where you can connect the both source & target DB’s & use same loadercli to perform export/import in the DB. You can export the entire SCHEMA or Tables from source & import the same in Target SCHEMA.

Loader requires SQL login to respective SCHEMA for export/import. You can do a SQL login by Right Click on DB & then SAPUSER SCHEMA name is visible. Expand the SAPUSER schema & right click on Schema or Tables —- select export. it will ask you some options & export the entire contents on your local PC.

The same loadercli can use for importing in Target Schema, do a SQL login in Target Schema, select SAPUSER schema & click on schema — Right Click & Import. Give the correct location & it will show the exported contents & you can select the options as requires & perform the import.

SAP official documentation –
https://maxdb.sap.com/doc/7_7/71/33b900661747cdad48a08b01aa06b2/content.htm

I will share the screenshots of export/import in next post for more clarification.

How to fix MaxDB SDBSETUP issue

1. Download the MaxDB Database installation (MaxDB 7.9 – SP9 Build 05 Linux on x86_64 64bit) from Support Portal.

2. Unzip the Downloaded Zip MaxDB File.

3. Navigate to /sapdb/max/51052559_/DATA_UNITS/MAXDB_LINUX_X86_64

Run ./SDBSETUP

You will get the below error –

cannot load wxWidgets properly: Can’t load ‘/var/tmp/SDBLDLdvBNG/Wx.so’ for module Wx: libpangox-1.0.so.0: cannot open shared object file: No such file or directory at DynaLoader.pm line 230.
at SDB::Common::Require line 61

As per SAP Note – 2300026, There are some graphical libraries which are not supported in SLES11, SLES12 & RHEL7 versions. The SDBSETUP tool cannot be run on these operating systems.

SAP recommends you to use SDBINST / SDBUPD tool instead of SDBSETUP.

However there is a workaround where you can fix these libraries & run the graphical SDBSETUP.

I am referring here SLES 12 SP4 as my operating system.

If you run below command from installation directory, it will throw the error for libwx_gtk2-2.6.so.0, all other libraries are available. –

ldd -v WX.SO
linux-vdso.so.1 (0x00007fffabbb8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f07571e0000)
libwx_gtk2-2.6.so.0 => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f0756dff000)
libm.so.6 => /lib64/libm.so.6 (0x00007f0756b02000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f07568ea000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0756545000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0757748000)

Warning – Please do the changes as per your own RISK, SAP never recommend the same.

SDBSETUP will throw error on below 3 libraries (one by one)

1. libpangox-1.0.so.0
2. libpng.so.3
3. libtiff.so.3

Navigate to directory /usr/lib64 & copy the below libraries

cp libpangoxft-1.0.so.0 libpangox-1.0.so.0
cp libpng12.so.0 libpng.so.3
cp libtiff.so.5 libtiff.so.3

Navigate back to installation directory & run the command – ./SDBSETUP

cannot load wxWidgets properly: cannot open display

Now run the same command on VNCSERVER

Max DB Image

Max DB Image

You are good to install via SDBSETUP.

AZ-120: Planning and Administering Microsoft Azure for SAP Workloads

Today I have successfully cleared AZ-120 Exam.

It really give me booster to go more deeper in Azure Technology & how we can leverage more for SAP systems.
There are lot of things which still need to discover in Azure to get more benefit for SAP Landscape. However I am currently working on SAP Migrations only but mostly we people use SAP method’s to perform the same. Azure is also providing their native tools do perform the System Migration from On-Premise to Azure but frankly speaking, I never checked the same & even not familiar with them.

This exam helps me to understand what Azure is providing for SAP & how we can utilise the same with cost optimisation.

There are 42 questions in the exam including Scenario based questions. Some questions are completely related to Azure & some are from SAP Technology(I hope you know SAP Basic Terms).

The Best Material which helps & obliviously related to exam also is only Microsoft Documentation which is officially available in docs.microsoft.com

Below links help me to go through the exam –

https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/get-started

https://blogs.sap.com/2019/12/15/sap-expert-role-guide-to-microsoft-azure-skills-and-certification/

https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE44g2b

https://blogs.sap.com/2019/12/30/exam-study-resources-for-az-120-planning-and-administering-microsoft-azure-for-sap-workloads/

https://docs.microsoft.com/en-us/learn/modules/introduction-azure-sap-workloads/

I hope above material will help you to clear the exam.

Let me know if you have more questions.

Best of Luck!!!

SAP HANA 2.0 Cockpit Installation and Configuration

Recently for testing purpose, I have installed SAP HANA 2.0 Cockpit on my Google Cloud Virtual Machine by following the below steps –

SAP HANA 2.0 Cockpit InstallationSAP HANA 2.0 Cockpit Installation

SAP HANA Cockpit install with the HANA DB which also requires by default mount point – /hana/shared

However i have also summarised the below steps which are useful for a newbie to install the same –

1. Download SAP HANA Cockpit 2.0 from SAP Support Portal
2. SAP HANA Cockpit come with SAP HANA DB & can be install on separate system
3. UNCAR the SAR file of SAP HANA Cockpit & Install with ./hdblcm command
4. Default Port for SAP HANA Cockpit – 51029
5. Default Port for SAP HANA XSA – 330 – i.e. – 39630
6. Default Instance Number for SAP HANA Cockpit – 96
7. Default first time user login in HANA Cockpit – COCKPIT_ADMIN with Master Password (Created during installation)
8. SAP HANA Cockpit installation use default installation directory – /hana/shared

Note – Default Installation Directory can be change by adding extra parameter while running ./hdblcm

However when i ran ./hdblcm, i got the below error as SIGNATURE.SMF file is missing in the installation directory.

File ‘SIGNATURE.SMF’ cannot be found in the SAP HANA Database installation kit. To include the signature when extracting the installation kit from a .SAR archive, use the SAPCAR option: -manifest SIGNATURE.SMF You can ignore this error and continue with the execution by passing the ignore option ‘check_signature_file’ to hdblcm, started as root. See SAP note 2078425, section ‘How to prepare SAP HANA packages for installation or update’ for instructions how to prepare packages for update or implications of ignoring this error.

Then i followed the above given SAP Note & ignore the file by passing the below command –

./hdblcm -sh –ignore=check_signature_file

Above is the workaround, I would suggest to extract the SIGNATURE.SMF file as per SAP Note & run the installation.

Once I have successfully installed the SAP HANA Cockpit, installer given me below 2 URL to access the same.

Launch SAP HANA cockpit by opening https://hanabox1.us-east1-b.c.hana-273005:51027
Launch SAP HANA cockpit manager by opening https://hanabox1.us-east1-b.c.hana-273005.internal:51029

However as I am running the Cockpit in Google Cloud VM with Public IP, i want to access the same from outside world & I changed the above hostname with Google Public IP but still page is not opening & throwing the error – “Can’t reach the Page”

I tried by both ports – SAP HANA Cockpit & XSA URL but both are failing.

While digging into more in the system I have identified that there is an change requires in XSCONTROLLER.INI file on below location –

/usr/sap/SID/SYS/global/hdb/custom/config

Make a copy of xscontroller.ini & change the below 2 parameter by giving your PUBLIC IP –

default_domain = PUBLIC IP
api_url = https://PUBLIC IP:39630

save the file & restart the HANA instance.

Please Note – I am using Dynamic Public IP so whenever I shut down & start the Google Cloud VM, it change the Public IP & I need to update the same again.

Once it’s start successfully, wait for sometime & check the XSA URL

https://PUBLIC IP:39630

Voila… Page is now opening & now you can login to HANA Cockpit & Manage your HANA DB’s.

SAP HANA Cockpit XSA
Page

Let me know if you find this useful.