[ABAP] Infos zu ICF-Service lesen / Prüfen, ob SSO2-Service aktiv

* Transaktion: SICF
* Tabelle: ICFSERVICE

* Service-Name, hier z.B. MYSSOCNTL (SSO2-Service)
PARAMETERS: p_srv TYPE icfservice-icf_name DEFAULT 'MYSSOCNTL'.

START-OF-SELECTION.

  TRY.
* Suche im Baum der ICF-Services im Internet-Kommunikations-Framework
      SELECT SINGLE icfparguid
        INTO @DATA(lv_icfparguid)
        FROM icfservice
        WHERE icf_name = @p_srv.

      IF sy-subrc = 0.
        DATA: lv_hostnr	TYPE icfhostnum.       " Nummer eines virtuellen Hosts
        DATA: it_serv_info TYPE icfservtbl.    " Tabelle von ICF-Services und deren zugehörige Handler
        DATA: lv_url TYPE string.              " URL zu Service
        DATA: lv_active	TYPE c.                " Service aktiv oder inaktiv
        DATA: lv_icfdocu TYPE icfdocu.         " Documentation der ICFSERVICE Einträge
        DATA: lv_icf_custstr TYPE icf_custstr. " ICF: String für customizingdaten der Anwendung
        DATA: lv_serv_sign TYPE c.             " Kz, um welche Art v. Service (Host, int Alias, Service)
        DATA: lv_host_info TYPE icfvirhost.    " Internet Communication Framework: Virtuelle Hosts

* Liefert Informationen zu ICF-Service
        cl_icf_tree=>if_icf_tree~get_info_from_serv( EXPORTING
                                                       icf_name        = p_srv
                                                       icfparguid      = lv_icfparguid
                                                       authority_check = abap_false
                                                     IMPORTING
                                                       hostnr          = lv_hostnr
                                                       serv_info       = it_serv_info
                                                       url             = lv_url
                                                       active          = lv_active
                                                       icfdocu         = lv_icfdocu
                                                       icf_custstr     = lv_icf_custstr
                                                       serv_sign       = lv_serv_sign
                                                       host_info       = lv_host_info
                                                   ).

        cl_demo_output=>write_data( lv_hostnr ).

        IF lines( it_serv_info ) > 0.
          DATA(lv_srv_info) = it_serv_info[ 1 ].
          cl_demo_output=>write_data( lv_srv_info-service ).
          cl_demo_output=>write_data( lv_srv_info-handlertbl ).
          cl_demo_output=>write_data( lv_srv_info-pathfields ).
        ENDIF.

        cl_demo_output=>write_data( lv_url ).
        cl_demo_output=>write_data( lv_active ).
        cl_demo_output=>write_data( lv_icfdocu ).
        cl_demo_output=>write_data( lv_icf_custstr ).
        cl_demo_output=>write_data( lv_serv_sign ).
        cl_demo_output=>write_data( lv_host_info ).

        DATA: lv_urlsuffix TYPE icfredurl.    " Rest einer Url nach ICF-Service
        DATA: lv_icfnodguid TYPE icfnodguid.  " Nodguid des letzen service im Pfad
        DATA: lv_icf_name TYPE icfname.       " Name des letzen Service im ICF-Baum
        DATA: lv_int_alias TYPE icfalias.     " Kein Service sondern interner Alias
        DATA: lv_ext_alias TYPE icfalias.     " Kein Service sondern externer Alias
        DATA: lv_icfactive TYPE icfactive.    " Service ist aktiv
        DATA: lv_icfaltnme TYPE icfaltnme.    " Alternative Namensgebung

* Ermittelt aus einer URL dem letzten Service im ICF-Baum
        cl_icf_tree=>if_icf_tree~service_from_url( EXPORTING
                                                    url             = lv_url
                                                    hostnumber      = lv_hostnr
                                                    authority_check = abap_false
                                                   IMPORTING
                                                    urlsuffix  = lv_urlsuffix
                                                    icfnodguid = lv_icfnodguid
                                                    icf_name   = lv_icf_name
                                                    int_alias  = lv_int_alias
                                                    ext_alias  = lv_ext_alias
                                                    icfactive  = lv_icfactive
                                                    icfaltnme  = lv_icfaltnme
                                                  ).

        cl_demo_output=>write_data( lv_urlsuffix ).
        cl_demo_output=>write_data( lv_icfnodguid ).
        cl_demo_output=>write_data( lv_icf_name ).
        cl_demo_output=>write_data( lv_int_alias ).
        cl_demo_output=>write_data( lv_ext_alias ).
        cl_demo_output=>write_data( lv_icfactive ).
        cl_demo_output=>write_data( lv_icfaltnme ).

* ist Service aktiv
        DATA(lv_is_active) = cl_icf_tree=>is_service_active( nodeguid	= lv_icfnodguid
*                                                             URL =
*                                                             HOSTNAME =
                                                           ).

        cl_demo_output=>write_data( lv_is_active ).

* HTML-Code vom Demo-Output holen
        DATA(lv_html) = cl_demo_output=>get( ).

* Daten im Inline-Browser im SAP-Fenster anzeigen
        cl_abap_browser=>show_html( EXPORTING
                                      title        = 'ICF-Service-Info'
                                      html_string  = lv_html
                                      container    = cl_gui_container=>default_screen ).

*         cl_gui_container=>default_screen erzwingen
        WRITE: space.
      ENDIF.
    CATCH cx_root INTO DATA(e_txt).
  ENDTRY.

[SAP] SAP (Netweaver) Gateway / SAP Fiori

Transaktionen

SICF (Pflege der Services)
SEGW (SAP NetWeaver Gateway Service Builder)
/IWBEP/SB (SAP Gateway Service Builder)
/IWBEP/SBS (Setup SAP Gateway Service Builder)
/IWFND/GW_CLIENT (Gateway Client)
/IWFND/MAINT_SERVICE (Services aktivieren und verwalten)
/IWBEP/REG_SERVICE (Service bearbeiten)
/IWFND/V4_ADMIN (OData V4 Services aktivieren und verwalten)
/IWFND/SERVICE_TEST (Service Explorer)
/IWFND/TRACES (Gateway-Traces)
/IWFND/EXPLORER (Service Explorer)
/IWFND/NOTIF_MONITOR (Benachrichtigungsmonitor)
/IWFND/APPS_LOG (Gateway: Anwendungsprotokoll-Viewer)
/IWBEP/ERROR_LOG (Gateway-Backend-Fehlerprotokoll)
/IWFND/ERROR_LOG (Gateway-Fehlerprotokoll)
/IWFND/ERROR_LOG_E2E (Gateway-Fehlerprotokoll – E2E)
/IWFND/CACHE_CLEANUP (Bereinigung des Modellcache)
/IWBEP/CACHE_CLEANUP (Bereinigung des Modellcache)
/IWFND/CLEANUP (Bereinigung ausführen)
/IWFND/STATS (SAP-Gateway-Statistik)
/IWBEP/OCI_SRV_GEN (Generator für OData-Service (SAP GW) für externe OData-Services)
/IWFND/IWF_ACTIVATE (Services aktivieren und verwalten)
/IWFND/MED_ACTIVATE (Metadaten-Cache aktivieren/deakt.)
/UI5/THEME_TOOL (UI-Theme-Werkzeug)
/UI2/INVAL_CACHES (Invalidierung des globalen Cache)

/UI2/FLP (SAP Fiori Launchpad)
/UI2/FLPD_CONF (Launchpad Designer (mandantenüberg.))
/UI2/FLPD_CUST (Launchpad Designer (mandantenabh.))
/UI2/FLPCA (Launchpad-Content-Aggregator)
/UI2/FLC (SAP Fiori Launchpad – Prüfungen)
/UI2/FLIA (Fiori Launchpad: Absichtsanalyse)
/UI2/FLP_DEL_PERS (Personalisierung von SAP FLP löschen)
/UI2/SEMOBJ_SAP (Semantisches Objekt definieren – SAP)
/UI2/FLPAM (SAP Fiori Launchpad App Manager)
/UI2/GW_APPS_LOG (Gateway – Anwendungsprotokoll)
/UI2/GW_ERR_LOG (Gateway – Fehlerprotokoll)
/UI2/FLPCM_CONF (FLP-Content Manager: Mandantenüberg.)
/UI2/FLPCM_CUST (FLP-Content-Manager: Mandantenspez.)
/UI2/SEMOBJ (Semantisches Objekt defin. – Kunde)

Programme

/UI5/UI5_REPOSITORY_LOAD (Apps in/aus SAPUI5-ABAP-Repository hoch-/herunterladen oder löschen)
/UI2/INVALIDATE_CLIENT_CACHES (Invalidierung des Client-Cache)
/UI2/INVALIDATE_GLOBAL_CACHES (Invalidierung des globalen Cache)
/UI5/APP_INDEX_CALCULATE (Berechnung von SAPUI5-Anwendungsindex)
/UI2/FLP_ADMIN_UI (Fiori UI2 Admin Health Check)
/UIF/MIGRATE_FES_PERSO (Migration der Personalisierungsdaten)

SM30 Pflege-Views

/IWFND/V_DFSYAL (SAP-Systemaliasse verwalten)

  • SPRO -> SAP NetWeaver -> SAP Gateway -> OData Channel -> Konfiguration -> Verbindungseinstellungen -> SAP Gateway zu SAP-System -> SAP-Systemalias verwalten

/IWFND/V_MGDEAM (SAP-Systemaliasse zu OData Service zuweisen)

  • SPRO -> SAP NetWeaver -> SAP Gateway -> OData Channel -> Administration -> Allgemeine Einstellungen -> SAP-Systemaliasse zu OData Service zuweisen

/IWBEP/C_SYSTEM (SAP-Gateway-Einstellungen)

  • SPRO -> SAP NetWeaver -> Aktivierung SAP-Gateway-Service -> Backend OData Channel -> Verbindungsweinstellungen zu SAP Gateway -> SAP-Gateway-Einstellungen

Tabellen / Views

ICFSERVICE (Baum der ICF-Services im Internet-Kommunikations-Framework)
ICFHANDLER (Beschreibung der Handler eines ICF-Services)
ICFALIAS (Externe Aliases auf ICF-Services)
IACS_C (Parameter für Service-Beschreibung)
/UI2/V_SEMOBJ (Semantic objects shipped by SAP)
/UI2/V_SEMOBJC (Semantic objects created by customers)
SUI_TM_MM_APP (App-Deskriptor-Element für SAP Fiori Launchpad)
SUI_TM_MM_APPT (Massenpflege App-Descriptors: App-Descriptor-Texte)
SUI_TM_MM_CAT (Technischer Katalog für SAP Fiori Launchpad)
SUI_TM_MM_CATT (Massenpflege App-Descriptors: Katalogtexte)

Links