Quantcast
Channel: SAP Business One Application
Viewing all articles
Browse latest Browse all 219

B1A(H) Business One Analytics for HANA/Enterprise Search: Troubleshooting Guide

$
0
0

1 Scenario

In an environment with SAP Business One and HANA, the Tomcat-based component B1A or B1AH is an interface from Business One to HANA for analytical aspects like Enterprise Search or Pervasive Analysis/Dashboards. We use SAP Business One on HANA (B1H) 8.82 / 9.0 and want to access features of B1AH like Enterprise Search and Pervasive Analysis..

 

Some conent of this document might be also valid for the B1A scenario - i. e. running Business One on SQL Server and replicating to HANA/B1A.

 

2 Prerequisites

You' ve installed B1AH as described in “B1_for_SAP_HANA_Admin_Guide.pdf”.

 

3 First Contact: Admin Console and Error “not authorized”

After installing B1A(H), you can access the B1A Administration Console via URLs

 

3.1 Connection Status “Not Authorized” to "Authorized"

When you open the admin console, you see the “Home” register. The connection between HANA Database and the License Server (e.g. “localhost”) might not authorized:

2013-05_screenshot_B1AH_01_AdminConsole_notAuth.jpg

The address of the License Server shown in the admin console is saved in the HANA-specific schema COMMON in the table COMM_CONFIG.

you can check if the string “localhost” was set as “licenseAddr” in the table “COMMON”.”COMM_CONFIG”:

2013-05_screenshot_B1AH_02_notAuth_COMM_CONFIGb.jpg

It is possible to change this entry in HANA Studio:

  

UPDATE "COMMON"."COMM_CONFIG"

SET "VALUE" = '<licenseServer>'

WHERE "NAME" = 'licenseAddr'

 

Now the settings in “COMMON”.”COMM_CONFIG” contain a correct address for license server. Furthermore, you should ensure the exact HANA Server address & port (same as shown in admin console) were added in the License Server under “Settings/Configure Security/Connection Settings” with username and password.

A connection Status “Authorized” should appear in the Admin Console. If not, a “Refresh” in the admin console or a restart of the entire B1A might help.

 

3.2 Initialization of databases in the Admin console

With Connection status “Authorized” in the admin console, you can access registers for all Company Databases to initialize these. What exactly is “Initialization” of Company Databases in B1A? For instance, initialization creates some tables for the Enterprise Search in the Company Database like “ES_BO”. The table “ES_BO” is a catalog of all Business Objects (Standard and User-defined) in this Company Database.

 

If initialization fails, please check sub-chapter 4.3 (UDOs with the same description).

 

4 Executing Enterprise Search from Browser

Before trying Enterprise Search from Business One client, you can directly call ES via your browser. ES is available via the URLs:

 

Executing ES for standard Demo Databases should work fine. For productive Company Database, e. g. with UDOs, you could get an error message "Remote request Error!" when calling Enterprise Search:

2013-05_screenshot_B1AH_03_ES_RemoteRequestError.jpg

To determine what went wrong, we analyzed the logs in the tomcat.

The folder should be “/opt/sap/SAPBusinessOne/tomcat/logs” and there you find files:

  • catalina.<YYYY-MM-DD>.log
  • localhost.<YYYY-MM-DD>.log
  • <databasename>_monitoring.log (as of Business One 9.0)

The following sub-chapters contain examplary reasons for the error message.

 

4.1 Wrong characters in UDO description

If localhost logfile tells you:

com.sap.imce.es.sdk.SDKException: com.sap.imce.es.sdk.SDKException: java.lang.IllegalArgumentException: Short Path cannot contain /character

 

Check all UDOs in table OUDO of your Company Database. There might be an UDO with a description containing a forward slash (“/”). Changing the description of the UDO and re-initialization of B1A for that Company Database fixes the issue.

 

B1A seems to handle the description of UDOs as Key. Thus, UDOs and their description should not contain “/” characters and should not be named:

“SYSTEM“, “SYS” ,  “_SYS_”, “TABLE”, “TYPE”, “SEQUENCE”, “PROCEDURE”, “FUNCTION”, “INDEX”, “VIEW”, “MONITOREVIEW”, “SYSNONYM”, and “TRIGGER”.

 

4.2 UDOs with the empty description

You cannot initialize a database with B1AH if you have an UDO with an empty description. As of Business One 9.0 (tested under PL 00) you get a corresponding log entry in the file “/opt/sap/SAPBusinessOne/tomcat/logs/localhost.log”:

com.sap.imce.es.sdk.SDKException: com.sap.imce.es.sdk.SDKException: java.lang.IllegalArgumentException: Short Path cannot be empty

 

Check all UDOs in table OUDO of your Company Database.

 

4.3 UDOs with the same description

Since B1AH uses the UDO description as a primary key, you cannot initialize a database with B1AH if you have different UDOs with the same description. As of Business One 9.0 (tested under PL 00) you get a corresponding log entry in the file “/opt/sap/SAPBusinessOne/tomcat/logs/<databasename>_monitoring.log”:

|ERROR|PRECHECK|UDOs without names or with the same name exist; specify unique names for UDOs in SAP Business One before initialization||

Check all UDOs in table OUDO of your Company Database and make sure that each has a unique name in the field "Name".

 

5 Executing Enterprise Search from Business One

 

After logging into SAP Business One the SBO client might tell you:

2013-05_screenshot_B1AH_04_SBOclient01_onLogon_message.jpg

This error message is issued by the B1A components in the SBO client. Working with the normal B1H Business Objects like Sales Order on the HANA database is all fine. Enterprise Search might only show a browser message, that the page cannot be loaded:

 

2013-05-13_eror_SBOclient02_ES_message.jpg

This might be a DNS problem, i. e. the HANA host and the Business One Client Computer do not know the hostnames of each other.

 

5.1 Check: Ping

Try to ping the HANA server (Linux) from the License Server (Windows) via hostname instead of the IP address.

 

5.2 Changing Hosts file in Windows

You can insert entries mapping the IP of HANA server and license server to their hostnames into the Hosts file (C:\Windows/system32/Drivers/etc/hosts):

<IP of HANA> <hostname of HANA>

<IP of License Server> <hostname of License Server >

If you are using B1H 9.0, the license server lies on the HANA host and therefore one entry is sufficient.

 

5.3 Changing the hostname on Linux

The file /etc/hosts on the HANA box also has to contain entries mapping ip of HANA server and license server to their hostnames.

If you are using B1H 9.0, the license server lies on the HANA host and therefore one entry is sufficient.

 

6 Result

Afterwards you should be able to successfully ping the HANA host. Enterprise Search and Dashboard Designer should work from the SBO client as well.


Viewing all articles
Browse latest Browse all 219

Trending Articles