Présentation des fuseaux horaires

Résumé

Ce document explique le concept de gestion des fuseaux horaires dans M3 Business Engine.

Contexte

M3 Business Engine est un système ERP multi-local, faisant de la gestion des fuseaux horaires une partie essentielle de la solution.

Présentation des fuseaux horaires

La gestion des fuseaux horaires s'articule autour de quatre éléments :

  • Affichage et impression de la date/heure en tenant compte du fuseau horaire
  • Mise à jour des données dans une base de données en tenant compte du fuseau horaire
  • Prise en compte des différences de fuseau horaire pour les transactions de dépôt/logistiques
  • Gestion des fuseaux horaires dans les transactions API.

M3 BE contient des écrans spécifiques dans lesquels les différences d'heures doivent être gérées pour prendre en compte les différences de fuseau horaire. Un parallèle avec les voyages permet de bien illustrer cela. Lorsque vous voyagez d'un fuseau horaire à un autre, vous désirez simplement connaître l'heure locale de votre arrivée. Savoir que vous arriverez à Chicago at 13:00 heure locale est suffisante. Vous n'avez pas besoin de savoir l'heure qu'il est dans d'autres fuseaux horaires. Cette constatation est applicable aux transactions et informations dans M3 BE ; vous désirez simplement savoir la date et heure locale à laquelle une transaction est due.

Cependant, si des employés situés dans des fuseaux horaires différents désirent accéder aux mêmes données et prennent des décisions basées sur l'heure locale, une conversion du fuseau horaire est alors nécessaire.

Pour gérer cette situation, M3 BE considère que chaque dépôt travaille à l'heure locale. Tout ce qui est planifié et saisi localement est donc également enregistré en heure locale. Par exemple, cela signifie que la planification des besoins (MITPLO) tient compte de l'heure locale pour chaque dépôt. Les ordres de fabrication et opérations planifiées sont également planifiées en heure locale et par conséquent font référence au fuseau horaire du dépôt.

Le fuseau horaire &SYS définit l'emplacement du serveur par rapport à l'UTC. Notez que pour M3 CE, l'heure du serveur est en temps universel coordonné (UTC) et que par conséquent, &SYS doit toujours être à 0 heure de l'UTC. movexDate() et movexTime() font toujours référence au fuseau horaire &SYS. RGDT, RGTM, et LMDT sont par conséquent enregistrés dans la base de données dans &System Foundation and Services (c'est-à-dire que ces champs s'affichent toujours comme heures du serveur et ne sont pas convertis).

LMTS est un horodatage en millisecondes dans le fuseau horaire UTC.

Restrictions

La gestion des fuseaux horaires a été mise œuvre uniquement dans les fonctions qui en avaient le plus besoin. Elle ne l'a pas été dans de nombreuses fonctions car cela n'est pas obligatoire. En finance par exemple, les dates et heures sont souvent basées sur des dates et heures déjà définies dans une facture.

Pour l'affichage et l'impression de l'heure, notez ces restrictions supplémentaires :

  • Seuls RGDT/RGTM, SGDT/SGTM et XLRD/XLRT peuvent être convertis.
  • La date et l'heure doivent faire partie de la vue.
  • Il n'est pas possible d'accéder à la date/heure convertie agrégée.
  • Le filtrage et la sélection ne sont possibles que si la date et l'heure font partie des valeurs de filtre/sélection.
  • Pour CMS100MI, les mêmes limitations s'appliquent aux vues configurables.
  • Pour les éléments ad hoc, la conversion des fuseaux horaires n'est pas prise en charge.

Les imprimés de M3 BE peuvent être séparés en deux domaines :

  • Listes et documents internes
  • Documents de gestion externes.

Pour les listes internes, la date et heure imprimées au coin supérieur droit sont ajustées selon le fuseau horaire, c'est-à-dire la différence entre l'heure locale du serveur et celle de l'utilisateur. Si un utilisateur au Japon imprime une liste d'éléments, la date et heure qui y figurent sont converties du format système au format date/heure local japonais. Pour les documents internes tel que les listes de prélèvement et les documents de réception des marchandises, la conversion selon le fuseau horaire est décidée au cas par cas en fonction des données imprimées.

Les documents externes utilisent rarement l'heure du système. Pour ces documents, la conversion du fuseau horaire est décidée au cas par cas.

Configuration de fuseau horaire

Pour gérer les besoins des fuseaux horaires, des définitions de fuseau horaire sont effectuées dans les zones suivantes du système :

  • Utilisateur (MNS150/MNS151)
  • Dépôt (MMS005)
  • Société (MNS100)
  • Client (CRS610).

Le fuseau horaire utilisé est extrait selon cette hiérarchie :

  • Utilisateur par division/société (MNS151)
  • Enregistrement d'utilisateur général (MNS150)
  • Société (MNS100).

Le dépôt dans (MMS005) est connecté à un 'lieu de chargement' dans (MMS008), qui est connecté à un fuseau horaire. Le fuseau horaire du dépôt correspond à l'heure locale utilisée pour planifier les transactions dans ce dépôt.

La société dans (MNS100) est connectée à un fuseau horaire par défaut. C'est la hiérarchie supérieure pour les définitions de fuseau horaire.

Le client dans (CRS610) est connectée à un fuseau horaire. C'est une connexion indirecte, comme une connexion de dépôt. Le client est connecté à une adresse de livraison dans (CRS002) qui est connecté à un 'lieu de chargement' dans (MMS008) lui-même connecté à un fuseau horaire. Le fuseau horaire de l'adresse de livraison du client est utilisée pour calculer la date et heure d'expédition par rapport à la date et heure de livraison requise demandée par le client.

Affichage et impression de l'heure en prenant compte du fuseau horaire

Comme expliqué ci-dessus, les valeurs de 'Date de saisie', 'Heure de saisie' et 'Date de changement' sont exprimées en heure du système.

Les dates et heures du système ressemblent à un format de montant : Vous devez définir l'unité à utiliser, par exemple USD 15 ou SEK 200. Une date ou heure correcte doit donc toujours être suivie par 11:00 CET ou 17:12 PAC. Comme M3 BE n'utilise pas toujours une unité pour afficher ces valeurs, les règles suivantes s'appliquent :

Lorsqu'une fonction est saisie avec des champs susceptibles d'une conversion de fuseau horaire, M3 BE affiche toujours le fuseau horaire de l'utilisateur.

S'il utilise la touche de fonction F13, l'utilisateur peut modifier ces paramètres en définissant son propre fuseau horaire pour une fonction spécifique. Si une valeur est définie dans ce champ, ce fuseau horaire sera utilisé au lieu de la valeur par défaut lors du lancement du programme.

Pour que l'utilisateur puisse savoir quel fuseau horaire est utilisé sans avoir à l'afficher dans un champ d'écran, une fonction d'invite a été introduite. La fonction d'invite permet les deux utilisations suivantes :

  • Elle utilise/souligne/marque le fuseau horaire affiché à l'heure actuelle.
  • Elle affiche les autres fuseaux horaires disponibles si besoin est.

Un bouton est disponible pour activer l'invite et signaler à l'utilisateur qu'one conversion de fuseau horaire est possible.

Pour les vues de liste configurables, la date/heure du système peut être affichée dans le fuseau horaire de l'utilisateur. Pour ce faire, cochez la case « Conversion de fuseau horaire » pour le champ d'heure système dans 'Groupe champs. Afficher champs autorisés' (CRS109). Cela vous permet de positionner, sélectionner et filtrer en fonction de la date/heure système convertie.

Mise à jour des données dans une base de données en tenant compte du fuseau horaire

Lorsque des données sont mises à jour dans M3 BE, la date de création/dernière mise à jour utilise la date du système.

Prise en compte des différences de fuseau horaire pour les transactions de dépôt/logistiques

Dans M3, les transactions logistiques prennent en compte les différences entre les fuseaux horaires pour planifier et afficher les transactions dans le système.

Pour certaines transactions, M3 doit prendre en compte la possibilité de fuseau horaire différent entre deux emplacements physiques impliqués dans les transactions. Le meilleur exemple serait un ordre de distribution avec un délai très court. Une planification utilisant la différence de fuseau horaire fait partie de la solution.

Exemple : Un ordre de distribution est planifié pour un départ de Stockholm at 15:00 par avion. Il est prévu qu'il arrive au dépôt de Helsinki 2 heures plus tard (c'est-à-dire que le délai de distribution est de 2 heures). Comme la différence de fuseau horaire entre Stockholm et Helsinki est d'une heure, l'heure de réception pour l'ordre de distribution sera 18:00-une heure de 'perdue'.

Les dates et heures associées à un dépôt sont généralement stockées dans la base de données en utilisant le fuseau horaire du dépôt. Lorsqu'un utilisateur saisit une date et heure pour un dépôt, ces dernières sont implicitement associées au dépôt. Par conséquent, aucune conversion de fuseau horaire n'est requise pour les données saisies.

Fuseau horaire et API

Un programme MI a le même comportement qu'un programme interactif : il assume que l'utilisateur effectue l'enregistrement dans le fuseau horaire connecté à la référence géographique de la transaction. Cela varie en fonction du type de transaction utilisé. Par exemple, si l'utilisateur enregistre un ordre de fabrication, la référence géographique peut être basée sur le dépôt auquel l'ordre de fabrication appartient. Il est très difficile de connaître le fuseau horaire d'une transaction spécifique, d'où l'utilité des informations suivantes :

  • Utilisez (DRS045MI) pour connaître le fuseau horaire utilisé par exemple pour un dépôt spécifique Vous pouvez aussi retrouver la différence de fuseau horaire par rapport à UTC.
  • Certaines transactions du programme MI contiennent un paramètre UTCM. Si vous activez ce paramètre, le programme assume que toutes les heures d'entrée et de sortie sont exprimées en heure UTC.
  • La référence géographique doit être décrite clairement dans les métadonnées MI.