Beruflich Dokumente
Kultur Dokumente
Systems in SM59
Posted by Alexey Arseniev Jun 1, 2015
Introduction
There are business scenarios in which the application needs to jump from one system to another, or the
application requires information from a remote system.
For example:
application wants to call a transaction from a remote system
application wants to navigate to a Web Dynpro application that is located on a remote system
application wants to execute an Object-Based Navigation (OBN) or intent-based navigation (IBN)
targeting a remote system
application needs to read data from a remote system
application wants to generate a URL that would be available outside the corporate network and
needs to point to a Web dispatcher
application wants to call an OData service from a remote system
In most cases, when there is a need to communicate or navigate to a remote system, the application can use
RFC destination names, defined in SM59 as ABAP Connection (Connection type 3). However, in some cases
the information provided in the RFC destination is not enough to resolve a request (for example, the application
wants to navigate to a Web Dynpro application using HTTPS), and runtime additionally requires the HTTP
destination for the remote system.
The following article covers only ABAP-based use-cases and is targeted at application developers and system
administrators working with NetWeaver Business Client (NWBC) and Fiori Launchpad.
Supported Shells
The resolution of the remote system configuration and the processing of cross-app (cross-system) navigation is
handled by the shell that hosts the application.
The following shells need remote system configurations and must be able to handle cross-system navigation:
NWBC for Desktop
Fiori Launchpad
Use-Cases
To refer to remote systems, you can use the SM59 name (RFC Destination Name) or System Alias -the
normalized/base form of the SM59 Destination Name(see below).
There are several places and services in which the System Alias can be used, as described in the following list:
Transaction PFCG. The attribute, Target System, of the navigation menu entry. This indicates that
the application shall be called by the remote system that is specified by the System Alias.
Transaction LPD_CUST. The mandatory parameter, System Alias, in the Change Launchpad
Role screen. The application shall call the remote system that is specified by the System Alias. The
System Alias can be resolved by the ABAP runtime (NWBC) or by Portal runtime.
Fiori Launchpad Designer. System alias can be used in configuration of the Target Mappings in
Fiori Launchpad Designer, for such application types as: Transaction, URL or WebDynpro, to
define application and data origin (SAP Fiori App using LPD_CUST allows definition of system alias
in LPD_CUST, see case above). The system alias can be entered in dedicated field System Alias
or as default parameter sap-system in Parameters section (passing of the alias using sap-system
parameter has priority over definition in dedicated field).
As a dynamic parameter, SYSTEM, when navigating by OBN (PFCG-based) or resolving the Report
Launchpad (LPD_CUST) link. Passed as a URL parameter that overwrites customized values defined
in LPD_CUST or in PFCG ( ...?sap-client=001&sap-language=EN&SYSTEM=ERP1 ).
As a parameter for System Alias Repository API web service implemented for NWBC 5.0.
Naming Convention
SM59 does not allow you to create several destinations with the same name even if the connection types are
different. The trick for referencing several destinations by the same name is to have multiple SM59 entries
with the same base name and an extension (_RFC, _HTTP, _HTTPS) attached to it to distinguish between the
different types of connections.
For example, if the system name is XYZ, the different destination names should be the following:
SM59 name-resolving sequence for SAP GUI aliases: XYZ_RFC,XYZ
SM59 name-resolving sequence for HTTP aliases: XYZ_HTTPS, XYZ_HTTP, XYZ
Using this approach, it is possible to reference multiple connections by passing the base name only. Using the
example above, it would be XYZ. The following name extensions (suffixes) can be used:
_HTTP (XYZ_HTTP) - to define HTTP connection settings. Can be applied for connection types G
and H.
_HTTPS (XYZ_HTTPS) - to define HTTPS connection settings. Can be applied for connection types
G and H.
_RFC (XYZ_RFC) - to define RFC / SAP GUI connections. Can be used for connection type 3.
_BOE (XYZ_BOE) - to define additional HTTP connection when used ABAP Launchpad Crystal
Reports links. Can be define with connection of types G and H.
For connection types RFC (3) and HTTP (H,G), the name extension can be omitted (base name equal to SM59
destination name) and the runtime will still resolve the connection data properly. This fallback allows you to
reuse existing definitions without extra configuration.
NOTE
Destination names in SM59, and in tools using SM59 aliases, are case-sensitive. The recommended way is
to use UPPER case names, and to type suffixes in all consumption points.
The technical destination names NONE, LOCAL, etc. are resolved as the local system, that is, the application
is located on the same system as the runtime.
The syntax is case-sensitive. sid definitions may be used in the following cases:
PFCG -> Target System field
LPD_CUST -> System Alias field
SYSTEM -> URL parameter for OBN/LPD_CUST link resolving (... ?SYSTEM=sid(U00.111)...)
sap-system -> intent parameter in Fiori Launchpad ( ...#SalesOrder-display?sapsystem=sid(U00.111)...)
To enable the SM59 destination to be searchable by SID + client notation, the Load Balancing setting of
the corresponding RFC destination must be set to Yes, and the target system settings must be properly
maintained.
Because the repository (SM59) can have more than one destination pointing to the same SYSID + client, the
first matching value is returned.
Remarks
RFC (3)
HTTP (H)
HTTPS (H)
SICF transaction
Application Origin: Points to the location of the application sources, and indicates the location from
where the application itself shall be loaded. For SAP UI5 applications, it is the front-end server.
The Application Origin may be the same as the Data Origin;examples of this are SAP GUI and Web Dynpro
applications. For SAP UI5 applications, the SAP GUI, Web Dynpro, or URL system alias that is passed for
resolution with the sap-system parameter is treated as Data Origin in all cases. It should not be used for
any other purpose. It is not yet possible to explicitly pass the application origin. Instead, the Fiori Launchpad
resolves the Application Origin based on the most likely default:
SAP UI5 application: FLP origin (front-end server) is assumed to also be the application origin.
SSM_RFC is client independent and you cannot configure any client dependent system
alias mappings.
Recursive mappings are not supported.
SSM_RFC table is available from stone age, so can be used mostly on any SAP_BASIS
release.
ABAP Report Launchpad (LPD_CUST).From SAP_BASIS 730 you can configure system alias
mapping in ABAP Report Launchpad. The mapping is Launchpad role/instance and client dependent.
There is no way to globally remap system aliases for all Launchpad instances and you can only map
system aliases used in selected Launchpad.
Fiori and NWBC.With UI Add-on V2 there is new functionality available, that allows you to configure
system alias mapping for all use cases running within UI2 NWBC (NetWeaver Business Client for
UI Add-on) and Fiori Launchpad (PFCG, LPD_CUST, Fiori Launchpad Designer). The mapping
can be defined in DB table /UI2/SYSALIASMAP (or using maintenance view /UI2/V_ALIASMAP in
transaction SM30).
The mapping allows you to define global or client dependent mapping (for global, client field shall be
left empty). Client dependent definition has priority over global definition.
NOTE
Please note, that not all system alias mappings are easy trackable by all frameworks and it may happen,
that some settings are cached and not invalidated after changing of mappings. So it is recommended to run
invalidation reports, after changes (transaction SE38):
NWBC_DELETE_MENU_CACHE (when using any of SAP_BASIS delivered NetWeaver Business Client)
/UI2/NWBC_DELETE_MENU_CACHE (when using UI Add-on delivered NetWeaver Business Client)
/UI2/INVALIDATE_CLIENT_CACHES (when using Fiori Launchpad)
Existing documentation
Configuring remote systems to be used in NetWeaver Business Client (NWBC)
Configuring of remote systems to be used in ABAP Report Launchpad (LPD_CUST)
Requirements
UI Add-On SP09 (support of sid format and load-balancing in NWBC 5.0)
To integrate content from other systems by using the property Target System in PFCG, users need
display authorization for SM59 in the back end. (NWBC 5.0)
3325 Views Tags: navigation, abap, web_dynpro, sap_gui, url, pfcg, nwbc, sm59, lpd_cust, rfc_destination,
sap-system, fiori, http_destinations, fiorilaunchpad, target_mapping, target_system, remote_system, ibn,
fiorilaunchpad_designer
Matt Harding
May 10, 2016 7:03 AM
Hi Alexey,
Thanks for pointing out /UI2/V_ALIASMAP in UI Add On 2.0 - Was exactly what I needed for all the Target
Mappings in FLP.
Plus good to see all of this summed up in one place.
Cheers,
Matt
Alexey Arseniev in response to Sathish Kumar on page 17
Apr 21, 2016 11:37 AM
Hello Satish,
thanks for the feedback. If you will have questions, you can ask them here directly - I will try to help. Central
place for debugging will be class /UI2/CL_SYS_ALIAS_MANAGER=>RESOLVE if you are using UI Addon
(NWBC with logon URL /ui2/nwbc or Fiori Launchpad) and CL_URL=>RESOLVE_SM59_ALIAS in case of
SAP_BASIS versioon of NWBC (NWBC logon URL /nwbc - without ui2).
Best regards,
Alexey.
RESOLVE_SM59_ALIAS
Sathish Kumar
Apr 20, 2016 9:21 PM
This is a very detailed and informative blog. One of our RFC destinations was named _HTTP and it never
worked. I debugged to figure out that something interesting was happening. And googled it, came across your
blog to understand the same.
Thanks.