SSI System Identification Service

The Simple System Integration (SSI) provides a service to individually generate extended SIDs for technical systems and database systems in the landscape. The service also offers a method to find the assigned extended SID for a system.

The System Identification Service for SSI makes use of “SAP Enhancement Framework”, especially the Business Add-In (BAdI).

This document presumes that the reader / implementer has sufficient familiarity with the concepts of SAP ABAP BAdI. The above links (from publicly available standard SAP documentation) may be used for the purpose. This document details the relevant BAdI to be implemented.

Concept

The ABAP interface used within the BAdI includes following methods:

  • generate_extsid

The method takes an LMDB CIM instance of a technical system together with its SID, system type, namespace, and hostname. The method should be implemented in a way that it uses the given parameters to generate an extended SID for the technical system.

  • generate_db_extsids

The method takes the topology of a database system including corresponding primary, virtual, and secondary databases. The topology can be used to retrieve the desired return structures filled with current data. The method should be implemented in a way that it uses the retrieved structures to generate valid extended SIDs for all mentioned databases. Additionally, a log handler is supplied to document details of the generation process.

  • find_extsid

The method takes a technical system identified by SID, system type, namespace, and hostname and returns the extended SID which is assigned to the technical system.


It is intended to have one single BAdI implementation active at the same time. FRUN is delivered with a default implementation of the system identification which will be deactivated automatically as soon as another BAdI implementation gets activated.

The Enhancement Spot

The relevant Enhancement Spot (ES) is “ES_SSI_SYS_IDENT_SERVICE” contained in package “AI_SRSM_SSI_CONNECTIVITY”.


Transaction SE18 or ABAP workbench Transaction SE80 may be used to access the Enhancement Spot.

The BAdI

The relevant BAdI is “BADI_SSI_SYS_IDENT_SERVICE”. Please note the important attributes of the BAdI and refer to the general documentation to understand the significance of each of the attributes:


The Interface With the BAdI

The interface “IF_SSI_SYS_IDENT_SERVICE” defines the methods “FIND_EXTSID”, “GENERATE_EXTSID”, and “GENERATE_DB_EXTSIDS”.


The Interface Method FIND_EXTSID

The method “FIND_EXTSID” will be called by SSI every time an extended SID of a technical system should be retrieved where SID, system type, namespace, and hostname are given.


The method must return “RESULT” with the extended SID as assigned in transaction LMDB for the technical system which is represented by importing parameters “IV_NAMESPACE”, “IV_SID”, “IV_SYSTEM_TYPE”, and “IV_HOSTNAME”.

The Interface Method GENERATE_EXTSID

This method “GENERATE_EXTSID” will be called by SSI every time an extended SID of a technical system should be defined where SID, system type, namespace, and hostname are given. Additionally, the CIM instance is provided which gives access to further parameters of the technical system as defined in the LMDB.


The method must return “RESULT” with an extended SID to be used for the technical system which is represented by importing parameters “IR_CIM_INSTANCE”, “IV_NAMESPACE”, “IV_SID”, “IV_SYSTEM_TYPE”, and “IV_HOSTNAME”. If the returned extended SID is already used, the LMDB falls back to default extended SID generation using <sid><counter>, e.g. ABC00001.


The Interface Method GENERATE_DB_EXTSIDS

This method “GENERATE_DB_EXTSIDS” will be called by SSI every time an extended SID of a database cluster should be defined. The structure of the database cluster is already discovered, and it is represented as an instance of class CL_SSI_DB_TOPOLOGY.


The method must set the exporting parameters so that they contain the extended SIDs for the primary database, all virtual databases, and all secondary databases of the given database cluster. The type of the exporting parameters is defined as a structure or an internal table of this structure. The structure itself contains two fields. A field “DATABASE” which should contain a reference to the current database system and another field “EXTSID” with the extended SID to be used.


Example Implementations

The following snippets show the indent of the interface methods.


Here the SSI internal logic is used to determine the current extended SID of a technical system.


The given namespace parameter is used to determine the 3-letter acronym of the corresponding customer (customer ID). The extended SID is constructed as a combination of SID and customer ID.


The implementation snippet uses the “topology” instance to determine the current extended SIDs of all database systems of a cluster. Afterwards the extended SIDS can be adopted accordingly.