Anzahl lizensierte Sessions (ueber C/AL)

9. Juli 2008 09:14

Ich benötige die Anzahl lizensierter Sessions aus dem Fenster Datenbank Information im C/AL Code.

Hat jemand eine Idee?

9. Juli 2008 10:22

Sofern eure Lizenzdatei nicht wegen Platzmangel im Klartext beschnitten wurde, solltest du mit folgendem Codeschnipsel die Anzahl User-Sessions ermitteln können:
Code:
GetMaxNoOfSessions() NoOfSessions : Integer
// > TL4.03:01 >>>
LicInfo.RESET;
LicInfo.SETFILTER(Text,'*1,200*Session*');
IF NOT LicInfo.FINDFIRST THEN
  EXIT(-1); // Granule list has been removed due to space limit.
IF NOT EVALUATE(NoOfSessions,COPYSTR(LicInfo.Text,STRLEN(LicInfo.Text) - 4)) THEN
  EXIT(-1);
// < TL4.03:01 <<<

Falls eure Lizenz (im Klartext-Bereich) beschnitten wurde, so liefert die Funktion -1 zurück.

9. Juli 2008 10:30

Hallo Timo,

danke erstmal!

das ist ja sehr lieb gemeint, aber die neuen Endkundenlizenzen zeigen nur noch Granule von 3000..9999 an. Also keine Sessionanzahl mehr.

Gibt es irgend eine Tabelle die wir nicht angezeigt bekommen, die aber da ist. Siehe T2000000008 CacheTable.

Für meinen Fall würde es reichen an diesen heranzukommen. Alternativ Lösung für SQL wäre aber auch eigentlich unabkömmlich.

Habe gelesen das der Startparameter Session zum Native Server aus der binären flf eingelesesen und benutzt wird. (Stichwort dmbs.zup) Kann man den irgendwie erreichen?

Gruß DGR

9. Juli 2008 10:42

Mir ist bisher keine virtuelle Tabelle oder sonstige alternative Möglichkeit bekannt, an diesen Wert zu gelangen. :-(