Zeitzonenübersicht
Kurzdarstellung
Dieses Dokument beschreibt das Konzept der Handhabung von Zeitzonen in M3 Business Engine.
Hintergrund
M3 Business Engine ist ein multilokales ERP-System, wodurch die Handhabung der Zeitzonen ein wesentlicher Teil der Lösung ist.
Zeitzonenübersicht
Die Handhabung von Zeitzonen ist in vier Bereiche unterteilt:
- Uhrzeit/Datum unter Berücksichtigung der Zeitzone anzeigen und ausdrucken
- Daten in einer Datenbank unter Berücksichtigung der Zeitzone aktualisieren
- Zeitzonenunterschiede bei Lagerort-/Logistiktransaktionen berücksichtigen
- Verwendung von Zeitzonen in API-Transaktionen.
In bestimmten Bildschirmen von M3 BE gibt es Stellen, an denen Zeitverschiebungen behandelt werden können, um Zeitzonenunterschiede zu unterstützen. Die Analogie zum Reisen passt hier ziemlich gut. Wenn Sie von einer Zeitzone in eine andere fliegen, sind Sie normalerweise nur daran interessiert, zu welcher (lokalen) Zeit Sie ankommen. Zu wissen, dass Sie um 13:00 Uhr Ortszeit in Chicago ankommen, ist ausreichend. Sie müssen die äquivalente Zeit in anderen Zeitzonen nicht wirklich kennen. Dies gilt auch für Transaktionen und Informationen in M3 BE: Sie sind normalerweise nur daran interessiert, wann eine Transaktion in Ortszeit fällig ist.
Nur wenn in verschiedenen Zeitzonen arbeitende Personen auf dieselben Daten zugreifen und Entscheidungen anhand ihrer Ortszeit treffen, ist die Zeitzonenumrechnung erforderlich.
Aufgrund der obigen Ausführungen betrachten wir jeden Lagerort in M3 BE in der lokalen Zeitzone. Somit wird alles, was lokal geplant und eingegeben wird, auch mit lokalen Zeitwerten erfasst. Das bedeutet beispielsweise, dass der Materialplan (MITPLO) für jeden Lagerort die Ortszeit enthält. Produktionsaufträge und geplante Operationen werden ebenfalls in der Ortszeit geplant und beziehen sich daher auf die Lagerortzeitzone.
Die &SYS-Zeitzone definiert, wo sich der Server im Verhältnis zur UTC befindet. Beachten Sie, dass für M3 CE die Serverzeit in UTC angegeben ist. Daher sollte &SYS stets 0 Stunden von UTC sein. movexDate() und movexTime() beziehen sich immer auf die &SYS-Zeitzone. RGDT, RGTM und LMDT werden daher in der Datenbank in &SYS gespeichert (Beispiel: Diese Felder werden immer als Serverzeiten ohne Umrechnung angezeigt).
LMTS ist ein Zeitstempel in Millisekunden in der UTC-Zeitzone.
Einschränkungen
Die Verarbeitung der Zeitzonen wurde nur in Funktionen implementiert, in denen sie am dringendsten benötigt wird. In vielen Funktionen wurde sie nicht implementiert, da sie nicht benötigt wird. Im Finanzbereich basieren Datum und Uhrzeit häufig auf Daten und Uhrzeiten, die bereits in einer Rechnung definiert sind.
Beachten Sie beim Anzeigen und Drucken von Zeitangaben folgende zusätzliche Einschränkungen:
- Nur RGDT/RGTM, SGDT/SGTM und XLRD/XLRT können konvertiert werden.
- Datum und Uhrzeit müssen Teil der Ansicht sein.
- Ein Drilldown bis zum aggregierten konvertierten Datum bzw. zur aggregierten konvertierten Uhrzeit ist nicht möglich.
- Filtern und Auswählen ist nur möglich, wenn sowohl Datum als auch Uhrzeit Teil der Filter-/Auswahlwerte sind.
- Für CMS100MI gelten die gleichen Einschränkungen für konfigurierbare Ansichten.
- Für Ad-hoc wird die Zeitzonenumrechnung nicht unterstützt.
Die Ausdrucke von M3 BE können in zwei Bereiche unterteilt werden:
- Interne Listen und Dokumente
- Externe Geschäftsdokumente
Bei internen Listen sind die Uhrzeit und das Datum, die in der oberen rechten Ecke gedruckt sind, an die Zeitzone angepasst oder sie berücksichtigen den Zeitzonenunterschied zwischen Serverzeit und Benutzerzeit. Wenn ein Benutzer in Japan eine Artikelliste druckt, werden Uhrzeit und Datum von der Systemzeit in die japanische Zeit umgerechnet. Bei internen Dokumenten wie Rüstlisten und Wareneingangsdokumenten wird abhängig von den gedruckten Daten von Fall zu Fall entschieden, ob eine Zeitzonenumrechnung durchgeführt werden soll oder nicht.
Externe Dokumente enthalten selten eine Zeit, die aus der Systemzeit generiert wird. Ob bei diesen Dokumenten eine Zeitzonenumrechnung durchgeführt werden soll oder nicht, wird von Fall zu Fall entschieden.
Zeitzoneneinrichtung
Um die Zeitzonenanforderungen zu erfüllen, werden in folgenden Bereichen des Systems Zeitzonen definiert:
- Benutzer (MNS150/MNS151)
- Lagerort (MMS005)
- Division (MNS100)
- Kunde (CRS610)
Die verwendete Zeitzone wird in der folgenden Hierarchie abgerufen:
- Benutzer pro Firma/Division (MNS151)
- Allgemeiner Benutzerdatensatz (MNS150)
- Division (MNS100)
Der Lagerort in (MMS005) ist mit einem "Ladeort" in (MMS008) verbunden, der wiederum mit einer Zeitzone verbunden ist. Die Zeitzone des Lagerorts ist als lokale Zeitzone zu betrachten, die für die Planung der Transaktionen an diesem Lagerort verwendet wird.
Die Division in (MNS100) ist mit einer Standard-Zeitzone verbunden. Dies ist die höchstmögliche Hierarchie für Definitionen von Zeitzonen.
Der Kunde in (CRS610) ist mit einer Zeitzone verbunden. Dies ist eine indirekte Verbindung, wie die Lagerortverbindung. Der Kunde ist mit einer Lieferadresse in (CRS002) verbunden, die mit einem Entladeplatz (MMS008) verbunden ist, der wiederum mit einer Zeitzone verbunden ist. Anhand der Zeitzone der Kundenlieferadresse werden Versanddatum und -zeit basierend auf dem vom Kunden gewünschten Lieferdatum und der gewünschten Lieferzeit berechnet.
Uhrzeit unter Berücksichtigung der Zeitzone anzeigen und ausdrucken
Wie oben erläutert, werden in der Systemzeit "Erfassungsdatum", "Erfassungszeit" und "Änderungsdatum" angegeben.
Eine Uhrzeit und ein Datum, die im System angezeigt werden, sind ähnlich wie Beträge: Sie müssen die zu verwendende Einheit definieren, z. B. USD 15 oder SEK 200. Auf eine Uhrzeit oder ein Datum sollte deshalb, wenn sie korrekt dargestellt werden, immer 11:00 MEZ oder 17:12 PAC folgen. Da wir für jede Uhrzeit und jedes Datum, die in M3 BE angezeigt werden, keine Einheit verwenden, gelten stattdessen die folgenden Regeln:
Bei Eingabe einer Funktion, in der Felder mit Zeitzonenumrechnung auftreten können, wird immer die Zeitzone des Benutzers angezeigt.
Durch Verwendung der Funktionstaste F13 = Parameter kann der Benutzer dies überschreiben, indem er seine eigene Zeitzone für eine bestimmte Funktion definiert. Wenn in diesem Feld ein Wert definiert ist, wird diese Zeitzone beim Start des Programms als Standard verwendet.
Damit der Benutzer weiß, welche Zeitzone angezeigt wird, ohne diese in einem Feld auf dem Bildschirm anzeigen zu müssen, wurde eine Prompt-Funktion eingeführt. Die Prompt-Funktion dient zwei Zielen:
- Sie ermöglicht das Verwenden/Hervorheben/Markieren der gegenwärtig in der Anzeige verwendeten Zeitzone.
- Wenn die Anzeige in einer anderen Zeitzone gewünscht wird, werden die zur Auswahl stehenden Zeitzonen angezeigt.
Um die Prompt-Funktion zu aktivieren und dem Benutzer zu signalisieren, dass eine Zeitzonenumrechnung möglich ist, wird auf der Benutzeroberfläche eine Schaltfläche verwendet.
Für konfigurierbare Listenansichten können Systemdatum und Systemzeit in der Zeitzone des Benutzers angezeigt werden. Markieren Sie hierfür das Kontrollfeld "Zeitzonenumrechnung" für das Systemzeitfeld in "Feldgruppe. Erlaubte Felder anzeigen" (CRS109) Damit können Sie Datum/Uhrzeit des konvertierten Systems positionieren, auswählen und filtern.
Daten in einer Datenbank unter Berücksichtigung der Zeitzone aktualisieren
Beim Aktualisieren von Daten in M3 BE wird das Systemdatum als Datum der Erstellung bzw. der letzten Wartung verwendet.
Zeitzonenunterschiede bei Lagerort-/Logistiktransaktionen berücksichtigen
Logistische Transaktionen in M3 berücksichtigen die Zeitverschiebung zwischen Zeitzonen, wenn die Transaktionen geplant und im System angezeigt werden.
Bei einigen Transaktionen muss M3 berücksichtigen, dass zwischen zwei physischen Standorten, die an den Transaktionen beteiligt sind, eine Zeitverschiebung bestehen kann. Das beste Beispiel dafür ist ein Verteilauftrag mit sehr kurzer Durchlaufzeit. Dies zu planen und einen Zeitzonenunterschied einzubeziehen, ist Teil der Lösung.
Beispiel: Ein Verteilauftrag soll Stockholm um 15:00 Uhr per Luftfracht verlassen. Er wird voraussichtlich 2 Stunden später am Lagerort in Helsinki ankommen (die Durchlaufzeit beträgt 2 Stunden). Da der Zeitzonenunterschied zwischen Stockholm und Helsinki eine Stunde beträgt, wird die Eingangszeit für den Verteilauftrag in Helsinki 18:00 Uhr sein – Richtung Osten geht eine Stunde "verloren".
Datum und Uhrzeit in Bezug auf einen Lagerort werden normalerweise unter Verwendung der Zeitzone dieses Lagerorts in der Datenbank gespeichert. Wenn ein Benutzer ein Datum/eine Uhrzeit für einen Lagerort eingibt, geht der Benutzer normalerweise davon aus, dass sich das Datum bzw. die Uhrzeit auf diesen Lagerort beziehen. Daher ist keine Zeitzonenumrechnung für die eingegebenen Daten erforderlich.
Zeitzone und APIs
Eine MI teilt dasselbe Verhalten wie ein interaktives Programm, oder es wird angenommen, dass die Rückmeldung des Benutzers in der Zeitzone erfolgt, die mit der geografischen Referenz der Transaktion verbunden ist. Dies hängt davon ab, welcher Transaktionstyp verwendet wird. Wenn beispielsweise der Benutzer einen Produktionsauftrag rückmeldet, wird davon ausgegangen, dass die geografische Referenz auf dem Lagerort basiert, zu dem der Produktionsauftrag gehört. Zu wissen, welche Zeitzone in einer bestimmten Transaktion verwendet wird, ist sehr schwierig. Daher kann Folgendes hilfreich sein:
- Verwenden Sie (DRS045MI), wo Sie fragen können, welche Zeitzone z. B. für einen bestimmten Lagerort verwendet wird. Sie können auch den Zeitzonenunterschied in Bezug auf UTC abrufen.
- Einige MI-Programmtransaktionen enthalten einen UTCM-Parameter. Durch Aktivieren dieses Parameters wird angenommen, dass alle Uhrzeiten, sowohl innerhalb als auch außerhalb, in der UTC-Zeitzone ausgedrückt werden.
- Die geografische Referenz sollte in den MI-Metadaten klar beschrieben sein.