SSI Default Value Customizing

As of SAP Focused Run 2.0, Simple System Integration (SSI) provides the possibility to use custom default values for SSI configuration runs.

Default values are provided for some of the configuration properties which are used by the Simple Diagnostics Agent (SDA) to connect to a managed system for the collection of monitoring data:

  • User/password of a managed system
  • Logon group of a managed ABAP system
  • Client number of a managed ABAP system
  • Client side SNC name, if Secure Network Communication (SNC) is used to connect to an ABAP system

The default value customizing makes use of SAP Enhancement Framework, especially the Business Add-In (BAdI).

This document presumes that the reader/implementer is familiar with the concepts of SAP ABAP BAdI. The above links (from publicly available standard SAP documentation) provide relevant background information. This document only describes the relevant BAdI to be implemented.

Visibility of Default Values in Simple System Integration UI

Customized default values are shown in the Edit Configuration dialog of the SSI UI.

Implementation

BAdI Details

To use customized default values the following BAdI needs to be implemented:

  • Enhancement Spot: ES_SSI_DEFAULT_VALUE_SERVICE
  • BAdI: BADI_SSI_DEFAULT_VALUES_TS
  • Interface: IF_SSI_DEFAULT_VAL_PROVIDER_TS

Use transaction SE18 or the ABAP workbench (transaction SE80) to navigate to the enhancement spot.

The BAdI interface provides the following method:

Method Name Description
GET_VALUES Invoked to obtain default values for technical systems of a specific system type.

In general, this method returns an object of type IF_SSI_DEFAULT_VALUES_TS. For system type ABAP the more specific type IF_SSI_DEFAULT_VALUES_ABAP must be provided.

Please refer to ABAP doc of interface IF_SSI_DEFAULT_VAL_PROVIDER_TS for more details.

Implementation Hints

If you only want to customize certain default values, your BAdI implementation class can inherit from class CL_SSI_DEFAULT_VAL_PROVIDER_TS.

Your implementation could look like this:

class cl_custom_default_val_provider definition

    inheriting from cl_ssi_default_val_provider_ts

    public

    final

    create public.

 

    public section.

        interfaces:

            if_badi_interface.

        methods:

            if_ssi_default_val_provider_ts~get_values redefinition.

endclass.

 

class cl_custom_default_val_provider implementation.

    method if_ssi_default_val_provider_ts~get_values.

 

        "get predefined set of default values

        result = super->if_ssi_default_val_provider_ts~get_values( i_system_type ).

 

        "assign customized values, depending on the system type

        case i_system_type.

            when 'ABAP'.

                data(result_abap) = cast if_ssi_default_values_abap( result ).

                result_abap->com_logon_group = 'PUBLIC'.

                result_abap->com_user = 'SDAGENT'.

                result_abap->com_snc_name = 'p:CN=SDAGENT, O=MyCompany, C=DE'.

            when 'JAVA'.

                result->com_user = 'SDAGENTJ'.

        endcase.

    endmethod.

endclass.

 


You can also provide a completely new implementation for interface IF_SSI_DEFAULT_VAL_PROVIDER_TS.

Methods NEW_VALUE_INSTANCE_TS and NEW_VALUE_INSTANCE_ABAP of class CL_SSI_DEFAULT_VAL_PROVIDER_TS can be used to create empty result instances.

Glossary

Acronym Description
SSI Simple System Integration
SDA Simple Diagnostics Agent
BAdI Business Add-In
SNC Secure Network Communication