Exemple – ACCEPT

Voici des exemples de programme utilisant le ACCEPT :

Exemple 1

IDENTIFICATION DIVISION.
PROGRAM-ID.  ACCEPT.
AUTHOR.      LA COMMUNAUTE DU COBOL.

* Cet exemple montre comment ACCEPT peut être utilisé
* pour obtenir la date et heure du système.

* Le YYYYMMDD dans « CEPT  DATE-JOUR FROM DATE YYYYMMDD. ».
* est une commande de formatage qui assure qu'un contenu de 
* données d'une Année à 4 chiffres.
* Si non utilisé, l'année fournie par le système sera
* de seulement deux chiffres qui peuvent causer 
* des problèmes en l'an 2000.

DATA DIVISION.
WORKING-STORAGE SECTION.

* YYYYMMDD

01  DATE-JOUR.
    05  ANNEE-DATE      PIC 9(004).
    05  MOIS-DATE       PIC 9(002).
    05  JOUR-DATE       PIC 9(002).

* YYYYDDD

01  JOUR-ANNEE.
    05  FILLER          PIC 9(004).
    05  JOUR-DE-ANNNEE  PIC 9(003).

* HHMMSSss   s = S/100

01  TEMPS-DATE.
    05  HEURE-DATE     PIC 9(002).
    05  MINUTE-DATE    PIC 9(002).
    05  FILLER         PIC 9(004).

PROCEDURE DIVISION.

001-INIT.

    ACCEPT  DATE-JOUR   FROM DATE YYYYMMDD.
    ACCEPT  JOUR-ANNEE  FROM DAY YYYYDDD.
    ACCEPT  TEMPS-DATE  FROM TIME.

    DISPLAY "La date est le " JOUR-DATE "/" MOIS-DATE 
            "/" ANNEE-DATE.
    DISPLAY "Aujourd''hui, on est le jour " JOUR-DE-ANNNEE 
            " de l''année ".
    DISPLAY "L''heure est " HEURE-DATE ":" MINUTE-DATE.

    STOP RUN.

Résultat du test : réalisé le 01/02/2023

La date est le 01/02/2023
Aujourd'hui, on est le jour 32 de l'année
L'heure est 10:38

Exemple 2

IDENTIFICATION DIVISION.
PROGRAM-ID.  ACCEPT.
AUTHOR.      LA COMMUNAUTE DU COBOL.

DATA DIVISION.
WORKING-STORAGE SECTION.

01  WSS-CHAMPS-AUXILIARES.
    05 WS-YYYYMMDD        PIC  X(008)    VALUE SPACES. 
    05 WS-YYMMDD          PIC  X(006)    VALUE SPACES. 
    05 WS-HHMMSS          PIC  X(006)    VALUE SPACES. 
    05 WS-HHMMSSCC        PIC  X(008)    VALUE SPACES. 
    05 WS-JOUR-SEMAINE    PIC  9(001)    VALUE ZEROES. 
    05 WS-ANNEE-JOUR      PIC  9(005)    VALUE ZEROES. 

PROCEDURE DIVISION.
   
001-INIT.

    ACCEPT WS-YYYYMMDD     FROM DATE YYYYMMDD                      
    ACCEPT WS-YYMMDD       FROM DATE                               
    ACCEPT WS-HHMMSS       FROM TIME                               
    ACCEPT WS-HHMMSSCC     FROM TIME                               
    ACCEPT WS-JOUR-SEMAINE FROM DAY-OF-WEEK                        
    ACCEPT WS-ANNEE-JOUR   FROM DAY                                

    DISPLAY "Date du jour              " WS-YYYYMMDD                         
    DISPLAY "Date du jour              " WS-YYMMDD                                    
    DISPLAY "Heure du jour             " WS-HHMMSS                                    
    DISPLAY "Heure du jour             " WS-HHMMSSCC                                  
    DISPLAY "Jour de la semaine        " WS-JOUR-SEMAINE                         
    DISPLAY "Année et jour de l''année " WS-ANNEE-JOUR                                    

    STOP RUN.

Résultat du test : réalisé le 01/02/2023

Date du jour             20230201
Date du jour             230201
Heure du jour            103617
Heure du jour            10361779
Jour de la semaine       3
Année et jour de l'année 23032