pixiAdminGetCULStatistics
Liefert die maximale Anzahl gleichzeitig lizenzierter Benutzer (CULs) pro Stunde oder pro Tag seit einem Startdatum, aufgeteilt nach Pixi-Client-Anwendung.
Wertet die Sitzungs-Snapshots in UsersLoggedIn aus und liefert, wie viele lizenzrelevante Benutzer gleichzeitig angemeldet waren.
Zeitraum
- Ist
StartDateleer, wird der frühesteTagaller Desktop-/Web-Sitzungen (UserActiveSessionTypeId1 oder 2) verwendet. - Es wird ein Kalenderraster von heute zurück bis
StartDateerzeugt: eine Zeile pro Tag und Stunde 0–23 beiHourly= 1, bzw. eine Zeile pro Tag (Stunde 0) beiHourly= 0.
Gezählte Sitzungen
- Sitzungstyp 1 (Desktop) oder 2 (Web) mit
TagnachStartDate. - Die Anwendung (
AppName) muss inExeClientVersionmitLicenceNeeded= 1 hinterlegt sein, und der Lizenzmanager für ihren Sitzungstyp muss aktiv sein: EinstellungpixiLicencesManagerfür Desktop-Clients,pixiLicencesManagerWebfür den Web-Client. - Rechner aus
MasterUserssowie der Pixi-Benutzermasterwerden ausgeschlossen.
Berechnung
- Sitzungen werden pro Snapshot (
Tag) gezählt; eine Sitzung proTag/SessionId/Pixi-Benutzer. - Pro Stunde wird der höchste Snapshot-Wert als
CULsübernommen. - Pro Tag wird der höchste Stundenwert als
CULsPerDayan der Stunde vermerkt, in der er zuerst erreicht wurde. - Tage ohne Nutzung erhalten eine Zeile mit
CULs= 0 undCULsPerDay= 0. - Die Spalten pro Anwendung zählen die Sitzungen des Spitzen-Snapshots der Stunde, zugeordnet über den Programmnamen (z. B.
PPOS2.exe→POS,pixi.Presentation.Web→Web).
Ausgabe
Hourly= 1: eine Zeile pro Tag und Stunde;CULsPerDayist nur in der Spitzenstunde des Tages gefüllt, sonstNULL.Hourly= 0: eine Zeile pro Tag mit dem Tagesmaximum inCULsundCULsPerDay;Hourist immer 0.- Sortierung nach
Dateaufsteigend, danach nach der Stunde der Nutzungsdaten.
Hinweise
- Nur lesend; alle Tabellen werden
WITH (NOLOCK)gelesen, das Ergebnis kann daher nicht festgeschriebene Daten enthalten. - Ist weder
pixiLicencesManagernochpixiLicencesManagerWebauf1gesetzt, wird keine Sitzung gezählt und alle Werte sind 0. - Enthält
UsersLoggedInkeine passenden Sitzungen und wird keinStartDateübergeben, lässt sich der Zeitraum nicht bestimmen und das Ergebnis ist leer. - Der Filter
Tag > StartDateist strikt: Mit dem Standard-Startdatum wird der allererste Snapshot nicht mitgezählt. Datewird aus dem aktuellen Datum mit Uhrzeit berechnet und enthält daher die aktuelle Uhrzeit, nicht Mitternacht.- Die zweite Sortierung erfolgt nach der Stunde der Nutzungsdaten, die bei Stunden ohne Nutzung
NULList; diese Zeilen stehen innerhalb eines Tages zuerst und in unbestimmter Reihenfolge. Bei Bedarf clientseitig nachHoursortieren. - Die Spalten pro Anwendung ergeben in Summe nicht zwingend
CULs: Sitzungen vonRepairs.exeund von Anwendungen ohne interne Zuordnung zählen inCULs, haben aber keine eigene Spalte. - Das Kalenderraster basiert auf der Hilfstabelle
Numbers; sie muss mindestens so viele Zeilen enthalten wie der Zeitraum Tage hat. - Bei langen Zeiträumen mit stündlicher Ausgabe kann das Ergebnis groß werden (24 Zeilen pro Tag).
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
StartDate
|
datetime dateTime |
NULL |
Beginn des Auswertungszeitraums. Gezählt werden nur Sitzungen mit späterem Beispiel: |
Hourly
|
bit boolean |
1 |
Wählt stündliche oder tägliche Ausgabe. Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer (leer, wenn kein Startdatum ermittelt werden kann)
Statistik der gleichzeitig lizenzierten Benutzer pro Tag und Stunde (bzw. pro Tag) mit Aufteilung nach Client-Anwendung.
| Spalte | Typ | Beschreibung |
|---|---|---|
Date
|
smalldatetime dateTime |
Tag der Zeile (aktuelles Datum minus n Tage, inklusive aktueller Uhrzeit). |
Hour
|
int |
Stunde des Tages (0–23); im Tagesmodus immer 0. |
Day
|
int |
Tag im Monat von |
Month
|
int |
Monat von |
POS
|
int |
Sitzungen von |
SupplOrders
|
int |
Sitzungen von |
Payments
|
int |
Sitzungen von |
CustomerService
|
int |
Sitzungen von |
Shipping
|
int |
Sitzungen von |
Reports
|
int |
Sitzungen von |
Bin
|
int |
Sitzungen von |
Invoices
|
int |
Sitzungen von |
ControlCenter
|
int |
Sitzungen von |
Web
|
int |
Sitzungen von |
CULs
|
int |
Maximale Anzahl gleichzeitig lizenzierter Benutzer in dieser Stunde (Tagesmodus: Tagesmaximum); 0 ohne Nutzung. |
CULsPerDay
Kann leer sein |
int |
Tagesmaximum gleichzeitig lizenzierter Benutzer; im Stundenmodus nur in der Stunde gefüllt, in der das Maximum zuerst erreicht wurde, sonst NULL. 0 für Tage ohne Nutzung. |
Beispielantwort
<SqlRowSet1>
<row>
<Date>2024-05-13T14:37:00</Date>
<Hour>9</Hour>
<Day>13</Day>
<Month>5</Month>
<POS>0</POS>
<SupplOrders>2</SupplOrders>
<Payments>1</Payments>
<CustomerService>3</CustomerService>
<Shipping>4</Shipping>
<Reports>0</Reports>
<Bin>1</Bin>
<Invoices>1</Invoices>
<ControlCenter>2</ControlCenter>
<Web>1</Web>
<CULs>15</CULs>
<CULsPerDay>15</CULsPerDay>
</row>
<row>
<Date>2024-05-13T14:37:00</Date>
<Hour>10</Hour>
<Day>13</Day>
<Month>5</Month>
<POS>0</POS>
<SupplOrders>1</SupplOrders>
<Payments>1</Payments>
<CustomerService>3</CustomerService>
<Shipping>3</Shipping>
<Reports>1</Reports>
<Bin>1</Bin>
<Invoices>0</Invoices>
<ControlCenter>1</ControlCenter>
<Web>1</Web>
<CULs>12</CULs>
</row>
</SqlRowSet1>
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiAdminGetCULStatistics>
<!-- <StartDate>2024-05-01T00:00:00</StartDate> -->
<!-- <Hourly>1</Hourly> -->
</ns1:pixiAdminGetCULStatistics>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiAdminGetCULStatistics>
<!-- <StartDate>2024-05-01T00:00:00</StartDate> -->
<!-- <Hourly>1</Hourly> -->
</ns1:pixiAdminGetCULStatistics>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'StartDate' => '2024-05-01T00:00:00',
// 'Hourly' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiAdminGetCULStatistics', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiAdminGetCULStatistics