pixiGetApplicationUsageStatistic
Liefert pro Tag die pixi*-Anwendungen, die zum Zeitpunkt der meisten verbundenen Benutzer geöffnet waren, oder nur die Liste der genutzten Anwendungen.
Wertet die in UsersLoggedIn gespeicherten Anmelde-Snapshots aus, um zu zeigen, welche pixi*-Clients zum Zeitpunkt der höchsten Lizenznutzung eines Tages verwendet wurden.
- Für jeden Snapshot (
Tag) werden die angemeldeten Sitzungen gezählt. Ausgeschlossen werden Sitzungen, derenUserNameeinemComputerNameinMasterUsersentspricht, sowie Sitzungen mitUserNameUsingPixi=master. - Pro Kalendertag (Datumsanteil von
Tag) wird der Snapshot mit der höchsten Anzahl Sitzungen gewählt. Bei Gleichstand gewinnt der späteste Snapshot des Tages. - Für den gewählten Snapshot jedes Tages werden die Sitzungen pro Anwendung (
AppName) gezählt, mit denselben Ausschlüssen. - Die technischen Anwendungsnamen werden über eine fest hinterlegte Liste in lesbare Namen übersetzt (z. B.
BinClient_A.exe→Lager,ShippingClient_A.exe→Versand, mehrere Web-Komponenten →Web pixi*). Anwendungen, die nicht in dieser Liste stehen, fallen aus dem Ergebnis heraus.
Die Ausgabe hängt von ShowOnlyApplicationsused ab:
0(Standard): eine Zeile pro Tag und Anwendung mit Anzahl der Sitzungen, sortiert nachTag_DateundApplicationFormatted.1: nur die eindeutige Liste der Anwendungen (technischer und lesbarer Name), die in einem der täglichen Spitzen-Snapshots vorkamen, ohne definierte Sortierung.
Es gibt keinen Datumsfilter; alle Snapshots in UsersLoggedIn werden ausgewertet.
Hinweise
- Alle Zugriffe auf
UsersLoggedInundMasterUserserfolgen mitNOLOCK; das Ergebnis kann daher nicht festgeschriebene Daten enthalten. - Sitzungen mit
UserNameUsingPixi= NULL werden ebenfalls ausgeschlossen, da der Vergleich mitmasterfür NULL nicht wahr ist. - Mehrere technische Namen werden auf denselben lesbaren Namen abgebildet (z. B.
PixiPOS.exeundPPOS2.exe→POS; vier Web-Komponenten →Web pixi*). Im Modus0können dadurch an einem Tag mehrere Zeilen mit gleichemApplicationFormattedentstehen; für eine zusammengefasste Zahl sollte clientseitig nachApplicationFormattedgruppiert werden. - Ob
AppNameohne Berücksichtigung der Groß-/Kleinschreibung mit der Übersetzungsliste übereinstimmt, hängt von der Datenbank-Collation ab. - Da die gesamte Historie von
UsersLoggedInverarbeitet wird, kann der Aufruf bei großen Tabellen langsam sein. - Temporäre Tabellen werden über
util.TempTableDropentfernt (Definition nicht beigefügt).
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ShowOnlyApplicationsused
|
bit boolean |
0 |
Steuert die Ausgabe: Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Wenn ShowOnlyApplicationsused = 0 (Standard)
Eine Zeile pro Tag und Anwendung zum täglichen Spitzen-Snapshot, sortiert nach Tag_Date und ApplicationFormatted.
| Spalte | Typ | Beschreibung |
|---|---|---|
Tag_Date
Kann leer sein |
datetime dateTime |
Tag des Spitzen-Snapshots (Uhrzeit immer 00:00). |
Application
Kann leer sein |
string |
Technischer Anwendungsname aus |
ApplicationFormatted
|
varchar(22) string |
Lesbarer Anwendungsname aus der fest hinterlegten Übersetzungsliste. |
Total
|
int |
Anzahl der Sitzungen dieser Anwendung im Spitzen-Snapshot des Tages. |
Result-Set 2 · Wenn ShowOnlyApplicationsused = 1
Eindeutige Liste der Anwendungen, die in einem täglichen Spitzen-Snapshot vorkamen; keine definierte Sortierung.
| Spalte | Typ | Beschreibung |
|---|---|---|
Application
Kann leer sein |
string |
Technischer Anwendungsname aus |
ApplicationFormatted
|
varchar(22) string |
Lesbarer Anwendungsname aus der fest hinterlegten Übersetzungsliste. |
Beispielantwort
<SqlRowSet1>
<row>
<Tag_Date>2024-03-11T00:00:00</Tag_Date>
<Application>BinClient_A.exe</Application>
<ApplicationFormatted>Lager</ApplicationFormatted>
<Total>5</Total>
</row>
<row>
<Tag_Date>2024-03-11T00:00:00</Tag_Date>
<Application>ShippingClient_A.exe</Application>
<ApplicationFormatted>Versand</ApplicationFormatted>
<Total>3</Total>
</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:pixiGetApplicationUsageStatistic>
<!-- <ShowOnlyApplicationsused>0</ShowOnlyApplicationsused> -->
</ns1:pixiGetApplicationUsageStatistic>
</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:pixiGetApplicationUsageStatistic>
<!-- <ShowOnlyApplicationsused>0</ShowOnlyApplicationsused> -->
</ns1:pixiGetApplicationUsageStatistic>
</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 = [
// 'ShowOnlyApplicationsused' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetApplicationUsageStatistic', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetApplicationUsageStatistic