Introduction

L'horodatage doit se comprendre par rapport aux notions d'heure et de date et en fonction du contexte d'exécution.

A travers Adelia cela concerne les zones de type DATE, TIME et TIMESTAMP ainsi que les informations récupérées à partir de l'instruction HEURE et des mots réservés *DATE, *DATE8, *TIME.

Les plateformes systèmes gèrent en interne les notions d'heure et de date sans tenir compte de leurs représentations effectives.
Ce sont les traitements utilisateurs qui vont indiquer le format de récupération de ces notions.

Exemple

Soit une table sur un serveur iSeries comportant une colonne de type DATE et une colonne de type TIME.
C'est le traitement d'interrogation de la table qui défini les formats de ces colonnes.
Si l'interrogation s'effectue avec l'utilitaire STRSQL, ce sont les attributs de la session accessibles par F13 option 1 (Format de date, Séparateur de date, Format d'heure, séparateur d'heure) qui indiquent ces formats.

Gestion de l'horodatage avec Adelia

L'horodatage des traitements est défini par défaut au niveau des attributs de l'environnement (ou des domaines), onglet Génération L3G cadre Notation décimale.
Pour chaque programme, ce paramétrage peut être modifié au moment de la compilation par le bouton Caractéristiques champ Format de date.

Informations complémentaires

L'instruction HEURE permet de récupérer la date et/ou l'heure en fonction du type de la variable récupératrice, à chaque passage sur cette instruction.
Les mots réservés *DATE, *DATE8 et *TIME récupèrent l'information prise au démarrage du travail dans lequel s'exécute le programme. 

Attention

Dans le cas d'une application Client/Serveur ou Web, vous devez être attentif à l'emplacement de l'exécution de l'instruction HEURE.
Lorsque vous l'utilisez sur la partie cliente, vous pouvez avoir un décalage important avec les autres "temps" machines utilisant cette même application et provoquer des anomalies fonctionnelles.
C'est pourquoi en règle générale, vous devez faire en sorte d'utiliser cette instruction sur une même machine serveur pour être basé sur le même horodatage.