The Simple System Integration (SSI) in SAP Focused Run 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.
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.
The ABAP interface used within the BAdI includes following methods:
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.
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.
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 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 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 “IF_SSI_SYS_IDENT_SERVICE” defines the methods “FIND_EXTSID”, “GENERATE_EXTSID”, and “GENERATE_DB_EXTSIDS”.
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”.
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.
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.
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.