Anmelden

Benutzername:   Passwort:   
 
  Automatische Anmeldung (Cookie)
  Benutzerdaten ändern


Registrieren    Passwort vergessen    Daten löschen    Abbrechen

 

FQDN ermitteln


...nur für registrierte Benutzer
Suchen und finden...

Hier nehmen Sie Kontakt mit uns auf...
Wer wir sind...
mit folgendem Snippet ist es möglich den FQDN eines SAP-Systems zur Laufzeit zu ermitteln. Diese Information ist für diejenigen wichtig, die BSPs o.ä. dynamisch rufen wollen. Sollte das SAP nicht mit FQDN parametrisiert sein, wird statt dessen die IP-Adresse verwendet.

Am Ende steht in der Variablen GV_URL entweder FQDN + PORT oder IP + PORT.

TYPES: BEGIN OF kernel_version,
       key    TYPE c LENGTH 21,
       data   TYPE c LENGTH 69,
     END OF   kernel_version.
*-- global object declaration
DATA:
  gr_client         TYPE REF TO if_http_client,
  gt_html           TYPE w3htmltab,
  gv_url            TYPE string,
  gt_server         TYPE STANDARD TABLE OF msxxlist,
  gs_server         TYPE msxxlist,
  gv_hostname       TYPE string,
  gv_portnumber     TYPE string,
  gv_val            TYPE slic_sysid,
  gt_kernel_version TYPE STANDARD TABLE OF kernel_version,
  gw_kernel_version TYPE kernel_version.

INITIALIZATION.
*--- get all servers
  CALL FUNCTION 'TH_SERVER_LIST'
   TABLES
     list                 = gt_server
   EXCEPTIONS
     no_server_list       = 1
     OTHERS               = 2
            .
  LOOP AT gt_server[] INTO gs_server.
*    --- read http data ---------------
    CALL FUNCTION 'TH_GET_VIRT_HOST_DATA'
      DESTINATION gs_server-name
      EXPORTING
        protocol       = 1
      IMPORTING
        hostname       = gv_hostname
        port           = gv_portnumber
      EXCEPTIONS
        not_found      = 1
        internal_error = 2
        OTHERS         = 3.
    CASE sy-subrc.
      WHEN 0.
*          --- read SYSID -------------
        CALL FUNCTION 'SLIC_GET_SYSTEM_ID'
          IMPORTING
            systemid = gv_val.
*          --- read all core data -----
        CALL 'SAPCORE' ID 'ID' FIELD 'VERSION'
                       ID 'TABLE' FIELD gt_kernel_version[].
*          --- read ip-address --------
        READ TABLE gt_kernel_version[] INTO gw_kernel_version
              WITH KEY key = 'IP address'.
        IF gv_hostname CS '.'.
*          --- hostname is FQDN -------
          gv_url = gv_hostname.
          CONCATENATE 'http://' gv_url ':' gv_portnumber INTO gv_url.
        ELSE.
*          --- hostname is not FQDN ---
          gv_url = gw_kernel_version-data.
          CONCATENATE 'http://' gv_url ':' gv_portnumber INTO gv_url.
        ENDIF.
      WHEN 1.
*        raise NOT_AUTHORIZED.
      WHEN 2.
*        RAISE no_valid_date.
      WHEN 3.
      WHEN 4.
    ENDCASE.       " sy-subrc
  ENDLOOP.         " AT gt_server[]




  Drucken   Artikel empfehlen  Artikel bewerten: uninteressanteher uninteressantweniger interessantneutraleher interessantinteressantsehr interessant