Micro-patterns de formatage de la date
Vous pouvez insérer ces micro-patterns dans le code d'un Programme, d'un Ecran, d'un Serveur ou d'une Macro.
Transformation du format de la date
- Le micro-pattern ADF transforme une date sans
siècle de type AAMMJJ en une date avec séparateur
(barre oblique) de type JJ/MM/AA pour une version
française ou MM/JJ/AA pour une version anglaise.Vous devez respecter le format de saisie suivant :
*!ADF "date1 date2"
où :- *! est la balise de début du micro-pattern, obligatoire. Le * doit être saisi en colonne 7, réservée aux commentaires dans le code COBOL, et le ! doit être saisi en colonne 8.
- ADF est l'identifiant du micro-pattern.
- " " doit encadrer les opérandes.
- date1 est la Rubrique date initiale sur six caractères et date2 est la Rubrique date transformée sur huit caractères.
- Les micro-patterns AD, AD0, AD1 et AD2 transforment
une date générée sous un format en une date générée sous un autre
format.Vous devez respecter le format de saisie suivant :
où :*!ADn "xy date1 date2"
- *! est la balise de début du micro-pattern, obligatoire. Le * doit être saisi en colonne 7, réservée aux commentaires dans le code COBOL, et le ! doit être saisi en colonne 8.
- ADn est l'identifiant du micro-pattern : AD, AD0, AD1 ou AD2
- " " doit encadrer les opérandes.
- xy sont deux formats de date. Le premier est
le format initial et le second est le format qui le remplacera.
Tableau 1. Correspondance entre les valeurs de format et les formats des dates générées Valeurs du format Formats générés I An, mois, jour (AAMMJJ) D Jour, mois, an (JJMMAA) ou
Mois, jour, an (MMJJAA)
selon le type de format demandé dans la zone Position Jour/Mois dans la date de la Définition de la Bibliothèque
E Jour/mois/an (JJ/MM/AA) ou
Mois/jour/an (MM/JJ/AA)
selon le type de format demandé dans la zone Position Jour/Mois dans la date de la Définition de la Bibliothèque
Ces dates ont un format étendu.
S Siècle, an, mois, jour (SSAAMMJJ) G Siècle an - mois - jour (SSAA-MM-JJ) C Jour, mois, siècle, an (JJMMSSAA) ou
Mois, jour, siècle, an (MMJJSSAA)
selon le type de format demandé dans la zone Position Jour/Mois dans la date de la Définition de la Bibliothèque
M Jour/mois/siècle an (JJ/MM/SSAA) ou
Mois/jour/siècle an (MM/JJ/SSAA)
selon le type de format demandé dans la zone Position Jour/Mois dans la date de la Définition de la Bibliothèque
- date1 est la Rubrique date initiale (vous pouvez utiliser la constante DATOR si besoin) et date2 est la Rubrique date transformée. Ces Rubriques peuvent être appelées dans un Segment ou simplement définies dans la WORKING-STORAGE SECTION.
Ces micro-patterns traitent l'alimentation du siècle de différentes façons :- AD transforme la date sans fenêtrage. Le siècle positionné dans date2 prend la valeur de la variable DAT-CTY alimentée par CENTUR. Le siècle est initialisé à 19 pour le module Applications Batch. Cependant, il est valorisé au siècle de la date système pour le module Dialogue ou si un micro-pattern ADT ou ADC a été indiqué au préalable.
- AD0 transforme la date sans fenêtrage. Le siècle positionné dans date2 prend la valeur de la variable DAT-CTY qui doit être positionnée au préalable par traitement spécifique. Elle est initialisée à 19.
- AD1 transforme la date avec fenêtrage. Le siècle positionné dans date2 prend la valeur 19 si l'année de date1 est inférieure à la variable DAT-CTYT. Il prend la valeur 20 sinon. La valeur de DAT-CTYT est initialisée à 61 par défaut.
- AD2 transforme la date avec fenêtrage. Le siècle positionné dans date2 prend la valeur 20 si l'année de date1 est inférieure à la variable DAT-CTYT. Il prend la valeur 19 sinon. La valeur de DAT-CTYT est initialisée à 61 par défaut.
Traitement de date batch
Vous pouvez demander l'inversion d'une date, ou sa mise en forme avec des barres obliques.
Identifiant du micro-pattern | Fonction du micro-pattern et contenu des opérandes |
---|---|
ADI | Inversion des deux premiers et derniers caractères
d'une date de six caractères. Une date JJMMAA devient AAMMJJ et
inversement. Indiquez :
où date1 et date2 sont
deux Rubriques date de six caractères. date2 n'est
pas obligatoire. Dans ce cas, date1 récupère la date
inversée. |
ADS | Inversion d'une date avec le siècle. Une
date SSAAMMJJ devient JJMMSSAA,
et inversement. Indiquez :
où date1 et date2 sont
deux Rubriques date de huit caractères. date2 n'est
pas obligatoire. Dans ce cas, date1 récupère la date
inversée. |
ADE | Mise en forme d'une date de six caractères par
insertion de barres obliques. Une date JJMMAA, par
exemple, devient JJ/MM/AA. Indiquez :
où date1 est
une Rubrique date de six caractères et date2 une
Rubrique date de huit caractères. |
ADM | Mise en forme d'une date avec siècle par insertion
de barres obliques. Une date JJMMSSAA, par exemple,
devient JJ/MM/SSAA. Indiquez :
où date1 est
une Rubrique date de huit caractères et date2 une
Rubrique date de dix caractères. |
Calcul sur les dates
Identifiant du micro-pattern | Fonction du micro-pattern et contenu des opérandes |
---|---|
DAD | Calcul du nombre de jours entre deux dates. Indiquez
:
où :x est le format de date1 (facultatif). Si vous n'indiquez aucun format, il sera extrait du référentiel si la Rubrique a un format date. y est le format de date2 (facultatif). Si vous n'indiquez aucun format, il sera extrait du référentiel si la Rubrique a un format date. Le résultat de la comparaison est mis dans la zone NUM-DAYS, qui est automatiquement déclarée dans la WORKING-STORAGE SECTION. |
DAO | Addition ou soustraction de jours à une date. Indiquez
:
où :x est le format de date1 (facultatif). Si vous n'indiquez aucun format, il sera extrait du référentiel si la Rubrique a un format date. s est le signe (+ pour une addition ou - pour une soustraction). number est le nombre à ajouter ou retrancher à la date. Il peut être un entier ou une zone de travail. ffnn-date1 est la zone date en entrée. |
Traitement de l'heure
Identifiant du micro-pattern | Fonction du micro-pattern et contenu des opérandes |
---|---|
TIM | Fournit l'heure sous la forme HHMMSS à
partir de la zone EIBTIME pour CICS, et TIME pour
les autres matériels. Indiquez :
où date1 est
une Rubrique facultative au format date sur six caractères. |
TIF | Transforme le format de l'heure HHMMSS en HH:MM:SS. Indiquez
:
où date1 est
une Rubrique au format date sur six caractères. Elle représente la
zone date en entrée. date2 est une Rubrique facultative
au format date sur huit caractères. Elle représente la zone qui reçoit
le résultat de la transformation de l'heure. |
Résultat de la génération
- Les données date nécessaires sont déclarées dans la WORKING-STORAGE SECTION.
- Le COBOL correspondant au micro-pattern indiqué est généré après la balise de début.
- La fonction de transformation des dates est générée, par défaut
dans les sous-fonctions suivantes :
- F9520 pour le module Applications Batch. Vous pouvez modifier la fonction par défaut en indiquant, dans les lignes -GO du Programme, l'option DATPRO=ffss, où ffss est le code fonction et sous fonction choisi.
- F8120 pour le module Dialogue ou Client / Serveur.