Ansicht
Dokumentation

CCUMEAS - Vermessung von Concurrent Usern: alle 5 Minuten die Anzahl CCUs ermitteln

CCUMEAS - Vermessung von Concurrent Usern: alle 5 Minuten die Anzahl CCUs ermitteln

ROGBILLS - Synchronize billing plans   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Hauptaufgabe des Funktionsbausteins ist es, die Anzahl der gleichzeitig im System angemeldeten Benutzer (Concurrent User) zu ermitteln (je Mandant und Summe über alle Mandanten). Diese Zahlen werden insbesondere für die Lizenzüberwachung benutzt. Um das zu erreichen, werden mehrere kleinere Aufgaben an mehreren verschiedenen Stellen erledigt:

  1. Auf jedem Applikationsserver wird bei jedem Aufruf der Funktion in der Tabelle USR41 geprüft, ob Tabelleneinträge für den eigenen Applikationsserver existieren, für die aber keine Anmeldung (mehr) vorliegt. Solche Einträge existieren in seltenen Fällen. Sie würden die Messung verfälschen und werden deshalb gelöscht.
  2. Auf genau einem Applikationsserver (s. u.) wird in einstellbaren Intervallen (Parameter aus Tabelle TUCON) ermittelt, wieviele Benutzer gleichzeitig im System angemeldet sind.

Die Zählung der Benutzer wird folgendermaßen durchgeführt:

  • Holen der Liste der aktuell im Dialog angemeldeten Benutzer aus der DB-Tabelle USR41, Eliminierung von Einträgen von abgestürzten Servern (s. u.) und Eliminierung von Duplikaten.
  • Holen der angemeldeten Nutzer über Funktionsbaustein TH_SYSTEMWIDE_USER_LIST (s. u.), einschränken auf die RFC-Anmeldungen (Terminal = 'APPC-TM'), Löschen von Duplikaten und abmischen mit der Liste der im Dialog angemeldeten Benutzer aus der USR41 (s. u.).
  • Schließlich zählen der angemeldeten Benutzer in der Ergebnisliste je Mandant und insgesamt.

CCUMEAS wird sowohl als Data Supplier in der Monitoring Architecture (ab Release 4.0) als auch für die lizenzrechtlich relevante Vermessung (ab Release 3.1H) benutzt. Wenn gerade eine Vermessung läuft und ein Vermessungsintervall abgelaufen ist, dann werden die ermittelten Daten in die DB geschrieben.

Beispiel

Hinweise

Zur Auswahl eines einzigen Applikationsservers:

Der Funktionsbaustein wird über AutoABAP alle fünf Minuten auf jedem Applikationsserver einmal aufgerufen. Seine Hauptaufgabe besteht aber darin, systemglobale Werte zu sammeln. Deshalb soll er diese Hauptaufgabe auch nur auf einem Applikationsserver ausführen. Dazu holt er sich zunächst die Liste aller Applikationsserver, sortiert diese Liste und springt zurück, falls er nicht auf dem ersten Server in der Liste läuft. Andernfalls (läuft auf dem ersten Server in der Liste) arbeitet er weiter. - Ferner wird aus Performance-Gründen nicht grundsätzlich alle fünf Minuten gemessen: falls eine Vermessung für die Lizenzüberwachung aktiv ist, wird in dem Intervall gemessen, das bei der Einplanung der Vermessung vom Anwender gewählt wurde. Ansonsten wird nur alle 15 Minuten gemessen und zurückgemeldet.

Zur "Eliminierung von Einträgen von abgestürzten Servern":

Die Tabelle USR41 ist nicht zuverlässig, weil Einträge nicht gelöscht werden, wenn ein Applikationsserver heruntergefahren wird oder abgestürzt ist. Deshalb werden die Einträge aus der USR41 mit der Liste der aktiven Server (über Funktion TH_SERVER_LIST) abgeglichen. Wenn ein Server nicht mehr im System mitläuft, also nicht in der Liste der aktiven Server enthalten ist, dann wird der USR41-Eintrag ignoriert.

Zum Holen der angemeldeten Benutzer über TH_SYSTEMWIDE_USER_LIST:

Die erzeugte Liste ist nicht unbedingt verlässlich, weil die Informationen von anderen Servern über ADM-Messages geholt werden. Die ADM-Messages sind aber auf ca. 30 KB beschränkt. Wenn diese Größe überschritten wird, dann kommt entweder eine leere oder eine abgeschnittene Liste zurück. Wegen dieses Problems wird nicht ausschließlich mit TH_SYSTEMWIDE_USER_LIST sondern auch mit der Tabelle USR41 gearbeitet. - Andererseits stehen in der USR41 aber keine Einträge zu RFC-Sitzungen. Deshalb kommt man weder mit Funktionsbaustein TH_SYSTEMWIDE_USER_LIST noch mit Tabelle USR41 allein aus.

Zum Abmischen der Listen:

RFCs werden nur dann in die endgültige Liste übernommen, wenn der Mandant/Benutzer nicht auch im Dialog angemeldet ist. (Wenn er schon im Dialog angemeldet ist, handelt es sich vermutlich um einen internen RFC, der nicht gezählt werden soll.)

Weiterführende Informationen





Parameter

CLIENT_COUNT
CORRECT_SERVER
GLOBAL_COUNT

Ausnahmen

NO_VALUES

Funktionsgruppe

CCUS

Vendor Master (General Section)   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5038 Date: 20240523 Time: 183609     sap01-206 ( 115 ms )