EulandaXtools — Funktionsreferenz
Prüft, ob für einen Partner zum aktuellen Zeitpunkt ein Datenaustausch gestartet werden darf.
Test-PartnerSchedule [-Schedule] <hashtable> [<CommonParameters>]Diese Funktion entscheidet, ob ein automatisiertes Ereignis wie z.B. ein `Upload`oder `Download` von Geschäftsnachrichten wie EDIFACT, gemäß dem übergebenen Zeitplan ausgeführt werden darf. Sie eignet sich insbesondere zur Steuerung von Partnerprozessen, etwa für den Austausch von `INVOIC`-, `ORDERS`-, `ORDRSP`-Dateien usw. Der Zeitplan `Schedule` kann feste Tageszeiten beispielsweise `09:00` oder `15:00` und/oder ein Wiederholungsintervall in Minuten enthalten. Entscheidend ist dabei, ob eine der Bedingungen zwischen dem letzten Ereignis und jetzt erfüllt wird.
Der Ablauf ist wie folgt:
1. Wenn die Prüfung fester Tageszeiten aktiviert ist `useFixedTimes`, wird geprüft, ob eine dieser definierten Zeiten zwischen dem letzten Zugriff `lastAccess` und dem aktuellen Zeitpunkt liegt. Falls ja, gibt die Funktion `true` zurück.
2. Trifft dies nicht zu oder ist die feste Zeitprüfung deaktiviert, wird geprüft, ob seit dem letzten Zugriff das definierte Intervall `intervalMinutes` überschritten wurde. Wenn ja, gibt die Funktion ebenfalls `true` zurück.
Andernfalls gibt die Funktion `false` zurück.
-Schedule
Type: hashtableHashtable, die den Zeitplan definiert. Erwartete Schlüssel:
boolGibt `true` zurück, wenn ein Zugriff aktuell erlaubt ist, andernfalls `false`.
# Prüft, ob seit dem letzten Zugriff ein definierter fester Zeitpunkt, `09:00` oder `15:00`, erreicht wurde oder 120 Minuten vergangen sind.
$Schedule = @{
useFixedTimes = $true
fixedTimes = @('09:00', '15:00')
intervalMinutes = 120
lastAccess = '2025-01-01T08:00:00'
}
Test-PartnerSchedule -Schedule $Schedule# Prüft, ob seit dem letzten Zugriff mindestens 30 Minuten vergangen sind.
$Schedule = @{
intervalMinutes = 30
lastAccess = '2025-01-01T14:00:00'
}
Test-PartnerSchedule -Schedule $Schedule