Rational Programming Patterns

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

Les micro-patterns de transformation de date peuvent être classés en deux groupes :
  • 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 :
          *!ADn "xy 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.
    • 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.

Les lignes de déclaration de ces micro-patterns utilisent la même balise de début que les micro-patterns de transformation du format de la date. Vous devez cependant remplacer l'identifiant du micro-pattern et indiquer les opérandes spécifiques à chaque micro-pattern. Suivez les indications du tableau.
Tableau 2. Micro-patterns de traitement de date batch
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 :
"date1 date2"
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 :
"date1 date2"
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 :
"date1 date2"
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 :
"date1 date2"
date1 est une Rubrique date de huit caractères et date2 une Rubrique date de dix caractères.

Calcul sur les dates

Les lignes de déclaration de ces micro-patterns utilisent la même balise de début que les micro-patterns de transformation du format de la date. Vous devez cependant remplacer l'identifiant du micro-pattern et indiquer les opérandes spécifiques à chaque micro-pattern. Suivez les indications du tableau.
Tableau 3. Micro-patterns de 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 :
"xy ffnn-date1 ssnn-date2"
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 :
"x snumber ffnn-date1 ffnn-date2"
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.

ffnn-date2 est la zone date résultat (facultative).

Traitement de l'heure

Les lignes de déclaration de ces micro-patterns utilisent la même balise de début que les micro-patterns de transformation du format de la date. Vous devez cependant remplacer l'identifiant du micro-pattern et indiquer les opérandes spécifiques à chaque micro-pattern. Suivez les indications du tableau.
Tableau 4. Micro-patterns de 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 :
"CORUB1"
CORUB1 est une Rubrique de six caractères.
TIF Transforme le format de l'heure HHMMSS en HH:MM:SS.
Indiquez :
"CORUB1 CORUB2"
CORUB1 est une Rubrique sur six caractère et CORUB2 est une Rubrique de huit caractères

Résultat de la génération

La regénération du Programme, Ecran ou Serveur prend en compte le micro-pattern.
  • 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 Pacbench C/S.

Conditions d'utilisation | Commentaires en retour

Ce centre de documentation utilise la technologie Eclipse. (http://www.eclipse.org)