Exemple – MOVE COORESPONDING

Programme utilisant MOVE COORESPONDING :

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

DATA DIVISION.
FILE SECTION.

WORKING-STORAGE SECTION.

01          WS-DATE-HEURE.
    05      WS-DATE.
            10  WS-ANNEE            PIC X(004).
            10  WS-MOIS             PIC X(002).
            10  WS-JOUR             PIC X(002).
    05      WS-HEURE.
            10  WS-HEURES           PIC X(002).
            10  WS-MINUTES          PIC X(002).
            10  WS-SECONDES         PIC X(002).
    
01          WS-DATE-HEURE-FORMAT.
    05      WS-DATE-FORMAT.
            10  WS-JOUR         PIC X(002).
            10                  PIC X(001) VALUE "/".
            10  WS-MOIS         PIC X(002).
            10                  PIC X(001) VALUE "/".
            10  WS-ANNEE        PIC X(004).
    05      WS-HEURE-FORMAT.
            10  WS-HEURES        PIC X(002).
            10  FILLER          PIC X(001) VALUE ":".
            10  WS-MINUTES      PIC X(002).
            10  FILLER          PIC X(001) VALUE ":".
            10  WS-SECONDES     PIC X(002).

PROCEDURE DIVISION.

    MOVE FUNCTION CURRENT-DATE TO WS-DATE-HEURE
    DISPLAY "WS-DATE-HEURE - " WS-DATE-HEURE
	
    MOVE CORRESPONDING WS-DATE  TO WS-DATE-FORMAT 
    MOVE CORRESPONDING WS-HEURE TO WS-HEURE-FORMAT 
	
    DISPLAY "WS-DATE-FORMAT  : " WS-DATE-FORMAT
    DISPLAY "WS-HEURE-FORMAT : " WS-HEURE-FORMAT

    STOP RUN.

Resultat:
WS-DATE-HEURE - 20230301020008
WS-DATE-FORMAT  : 01/03/2023
WS-HEURE-FORMAT : 02:00:08