Registration

Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
http://scn.sap.com
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata

This is the recommend configuration because in Fiori Launchpad it is possible to set and store application specific information (Cost Center Area etc.). This information is stored on the Frontend System and can only be applied properly if all requests are forwarded to the frontend system and are then routed via RFC destinations to the backend system. Another reason is that the configuration is similar to the configuration of S4 OData requests and therefore well known by admins.


Prerequisites

  • Gateway / Frontend Server is separate from Backend Server
  • The version of the UI5 distribution used on the Frontend Server is 1.44 or newer
  • Design Studio Embedded analytics applications are used

Configuration

A Test Web Dispatcher interference

In case you used a Web Dispatcher configuration before to route InA requests to the backend server then this configuration must be undone first to use this kind of setup. This docu shows the original configuration.

Fire this URL in a browser:

https://<frontend-host>:<port>/sap/bw/ina/GetServerInfo?sap-client=<xxx>

See trouble shooting chapter for more details.

Verify that SESSIONID cookie must come from your frontend server / client.

B Backend System

B1 Activate INA services

In transaction SICF activate the following InA services:

  • sap/bw/ina/GetServerInfo
  • sap/bw/ina/GetResponse

 

<TODO screenshot>


B2 Test InA Services using Internet Control Framework

In transaction SICF select "Test Service" in the context menu of the service:sap/bw/ina/GetServerInfo

You should see a response. The tag ServerInfo must contain the backend system id and client.



B3 Test InA Services using HTTP/HTTPS settings of system

call transaction SMICM. In Menu select Goto > Services. Using host and port from protocol HTTPS call the InA Service "GetServerInfo" from your browser:

https://<hostname>:<port>/sap/bw/ina/GetServerInfo[?sap-client=<client>&sap-language="<lang>"]

You should see a response. The tag ServerInfo must contain the backend system id and client.

 

<TODO screenshot>


Frontend System

C1 RFC Destination + System Alias

Typically the RFC destination has already been created during the ODATA configuration. If not these are the steps to do:


C1.1 RFC Destination to backend server

Create an RFC destination for the appropriate Client on the Backend Server 

call transaction SM59 and create an ABAP connection

or

call transaction SPRO > open the SAP Reference IMG and navigate to: SAP NetWeaver > SAP Gateway > OData Channel > Configuration > Connection Settings > SAP Gateway to SAP System > Manage RFC Destinations

 

<TODO screenshot>

 

C1.2 System Alias

Create a system alias pointing to the RFC destination configured above like this:

call transaction /IWFND/ROUTING

or

call transaction SPRO > open the SAP Reference IMG and navigate to: SAP NetWeaver > SAP Gateway > OData Channel > Configuration > Connection Settings > SAP Gateway to SAP System > Manage SAP System Aliases

 

ATTENTION:

If you require the configuration for a specific S/4 area e.g. SFIN then use the system alias required by the S/4 area: e.g. SFIN requires system alias S4FIN (in combination with the RFC Destination S4FIN_RFC)

 

<TODO screenshot>

 

C1.3 SSO Config

it is also necessary that Single Sign-On is correctly configured between the Frontend and the Backend Server.

 

C1.4 Test RFC Destination

Call transaction SM59. Under "ABAP Connection" double click the RFC Destination to check. In Menu Utilities > Testyou will find 3 connection checks:

  • Connection Test
    This attempts to make a connection with the remote system and hence validates IP address / Hostname and other connection details. If both systems are not able to connect, it throws an error. On success, it displays the table with response times. This test is just to check if the calling system can reach the remote system
  • Authorization Test
    It is used to validate the User ID and Password (provided under 'logon and security' tab for the target system) and also the authorizations that are provided. If a test is successful, then the same screen will appear as shown above for the connection test.
  • Unicode Test
    It is to check if the Target system is a Unicode or not.

Perform the Connection and Authorization Test and ensure the tests do not fail.

 

<TODO screenshot>

 

C1.5 Test System Alias:

Call transaction /IWFND/ROUTING. Select the System Alias to be checked. Press Button "Check Connection". Ensure the connection test does not fail.

 

<TODO screenshot>

 

C2 InA Default System Alias

C2.1 Config

Note: this is only required in distributed Landscapes where Queries are located on a different system than frontend/gateway system.

 

Set the Default Sytem Alias which should be used by the InA service for data access. The Default System Alias is set by the RSADMIN paramter RSBICS_INA_RFC_DEFAULT_ALIAS. This can be set by using the Report SAP_RSADMIN_MAINTAIN (on the front-end server). Simply specify RSBICS_INA_RFC_DEFAULT_ALIAS as OBJECT and the desired system alias (from above) as VALUE.

C2.2 Test

Call transaction SE12. Enter database table RSADMIN and execute. In menu select Utilities > Table Contents > Display to view the table content and execute. Ensure the OBJECT RSBICS_INA_RFC_DEFAULT_ALIAS is contained within the list and has a VALUE (system alias) assigned to it. Ensure the value contains the correct name of the system alias (from above).


<TODO screenshot>

 

C3 InA services

C3.1 Activation

In transaction SICF activate the following InA services:

  • sap/bw/ina/GetServerInfo
  • sap/bw/ina/GetResponse

 

<TODO screenshot>

 

C3.2 Test InA Service using Internet Contol Framework

In transaction SICF select "Test Service" in the context menu of the service:sap/bw/ina/GetServerInfo

You should see a response. The tag ServerInfo must contain the frontend system id and client or when default system alias for BW has been configured the backend system id and client.

Be aware that there is no RFC forward to the backend system as the system alias URL parameter is missing. This test comes in the next step.

 

<TODO screenshot>

 

C3.3 Test InA Service using HTTP/HTTPS settings of system

call transaction SMICM. In Menu select Goto > Services. Using host and port from protocol HTTPS call the InA Service "GetServerInfo" from your browseror call transaction IWFND/GW_CLIENT (preferred since error log can be viewed)

https://<hostname>:<port>/sap/bw/ina/GetServerInfo[?sap-client=<client>&sap-language="<lang>"]

You should see a response. The tag ServerInfo must contain the frontend system id and client or when default system alias for BW has been configured the backend system id and client.

Be aware that there is no RFC forward to the backend system as the system alias URL parameter is missing. This test comes in the next step.

 

<TODO screenshot>

 

 

C3.4 Test InA Service using System Alias

To verify the forwarding via RFC to the backend server use the system alias configured in the steps before and fire this URL:
https://<frontend-host>:<port>/sap/bw/ina/GetServerInfo;o=<system-alias>?sap-client=<client>

This HTTP response should now come from the frontend server and thus only contains the SESSIONID cookie of the frontend server. See trouble shooting chapter for more details.

The response body, the JSON must contain the backend system id and client.

 

<TODO screenshot>

 

Trouble Shooting

SessionID cookie identifying server/client

Press F12 in Chrome and check the network requests and response for cookies. You must only see the cookie of your frontend system otherwise the web dispatcher forwards the cookies to some other server / client.


Alternatively you can use the Fiddler HTTP sniffer. Be aware that the cookie need not be in the request if this was the first request. Then you will find it in the response under set-cookie.


The cookie identiying the answering server looks like this where XYZ is the system ID of the answering server and 123 is the client.

SAP_SESSIONID_XYZ_123 


Could not instantiate data source "DS_1" for Query <Query> / Query <Query> is unknown

Perform all test steps in the configuration docu above.

Additionally check if Query exists on Backend System

Call transaction RSRT on your backend system for Query <Query> and execute. Ensure the Query is displayed by the BW Query Test Tool. 

 

If the Query exists and error still occurs:

Launch the App in the Browser but open the Debug Tools of the Browser first (e.g. press F12 in Chrome Browser before launching the App URL with ENTER).

Note down the Error reported in the console and also have a look under "Network" at the responses of the requests

  • GetServerInfo
    was it successful or was the service refused?
    is the System and client mentioned in the response the correct Backend System? E.g. launch transaction RSRT in this system with the Query mentioned in the URL (e.g. XQUERY).
  • GetResponse
    was is successful or was the service refused?
    was an error reported? Did it say that system alias is missing? If so then this means the Application requires the configuration of a system alias which has not yet been configured in the system. ==> Run through all tests in this document again and make sure system alias is configured.

 

Query <Query> is unknown

S. "Could not instantiate data source "DS_1" for Query <Query>" paragraph

 

400 CX_BICS_INA_RFC_ERROR

{"Messages":[{"Type":2,"MessageClass":"/IWFND/CM_COS","Number":2,"Text":"System alias '' does not exist","ExceptionClass":"CX_BICS_INA_RFC_ERROR","OlapMessageClass":0},{"Type":2,"MessageClass":"SY","Number":530,"Text":"An exception was raised.","ExceptionClass":"/IWFND/CX_COF","OlapMessageClass":0},{"Type":2,"MessageClass":"/IWFND/CM_COS","Number":2,"Text":"System alias 'S4PRC' does not exist....

Run through all tests in the frontend configuration section.

S. "Could not instantiate data source "DS_1" for Query <Query>" paragraph


  • No labels