Archives par mot-clé : INSPECT TALLYING REPLANCING

Exemple – INSPECT TALLYING REPLANCING

Voici un programme utilisant le INSPECT TALLYING REPLANCING :

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

ENVIRONMENT DIVISION.                                            
CONFIGURATION SECTION.                                           
SPECIAL-NAMES.                                                   
    DECIMAL-POINT IS COMMA. 

DATA DIVISION.
WORKING-STORAGE SECTION.

01  WS-AUXILIARES.
    05  ITEM-1        PIC X(014)  VALUE 'EFABDBCGABEFGG'.
    05  ITEM-2        PIC X(006)  VALUE 'BABABC'.
    05  ITEM-3        PIC X(004)  VALUE 'BBBC'.
    05  COMPTEUR-0    PIC 9(006)  VALUE ZEROES.
    05  COMPTEUR-1    PIC 9(006)  VALUE ZEROES.
    05  COMPTEUR-2    PIC 9(006)  VALUE ZEROES.
    05  COMPTEUR-3    PIC 9(006)  VALUE ZEROES.
    05  COMPTEUR-4    PIC 9(006)  VALUE ZEROES.

PROCEDURE DIVISION.

001-INIT.

Exemple 1

    INSPECT ITEM-1 TALLYING
            COMPTEUR-0 FOR ALL "AB", ALL "D"
            COMPTEUR-1 FOR ALL "BC"
            COMPTEUR-2 FOR LEADING "EF" 
            COMPTEUR-3 FOR LEADING "B" 
            COMPTEUR-4 FOR CHARACTERS

    INSPECT ITEM-1 REPLACING
            ALL "AB" BY "XY", "D" BY "X"
            ALL "BC" BY "VW"
            LEADING "EF" BY "TU" 
            LEADING "B" BY "S" 
            FIRST   "G" BY "R" 
            FIRST   "G" BY "P" 
            CHARACTERS BY "Z"

    DISPLAY 'ITEM-1     : ' ITEM-1
    DISPLAY 'COMPTEUR-0 : ' COMPTEUR-0  
    DISPLAY 'COMPTEUR-1 : ' COMPTEUR-1  
    DISPLAY 'COMPTEUR-2 : ' COMPTEUR-2  
    DISPLAY 'COMPTEUR-3 : ' COMPTEUR-3  
    DISPLAY 'COMPTEUR-4 : ' COMPTEUR-4  

* Resultat de test:

* ITEM-1     : TUXYXVWRXYZZPZ
* COMPTEUR-0 : 000003
* COMPTEUR-1 : 000001
* COMPTEUR-2 : 000001
* COMPTEUR-3 : 000000
* COMPTEUR-4 : 000005

Exemple 2

    MOVE ZEROES TO COMPTEUR-0 COMPTEUR-1 COMPTEUR-2 
                   COMPTEUR-3 COMPTEUR-4        
  
    INSPECT ITEM-2 TALLYING
            COMPTEUR-0 FOR ALL "AB", ALL "D"
            COMPTEUR-1 FOR ALL "BC"
            COMPTEUR-2 FOR LEADING "EF" 
            COMPTEUR-3 FOR LEADING "B" 
            COMPTEUR-4 FOR CHARACTERS

    INSPECT ITEM-2 REPLACING
            ALL "AB" BY "XY", "D" BY "X"
            ALL "BC" BY "VW"
            LEADING "EF" BY "TU" 
            LEADING "B" BY "S" 
            FIRST   "G" BY "R" 
            FIRST   "G" BY "P" 
            CHARACTERS BY "Z"

    DISPLAY 'ITEM-2     : ' ITEM-2
    DISPLAY 'COMPTEUR-0 : ' COMPTEUR-0  
    DISPLAY 'COMPTEUR-1 : ' COMPTEUR-1  
    DISPLAY 'COMPTEUR-2 : ' COMPTEUR-2  
    DISPLAY 'COMPTEUR-3 : ' COMPTEUR-3  
    DISPLAY 'COMPTEUR-4 : ' COMPTEUR-4  

* Resultat de test:

* ITEM-2     : SXYXYZ
* COMPTEUR-0 : 000002
* COMPTEUR-1 : 000000
* COMPTEUR-2 : 000000
* COMPTEUR-3 : 000001
* COMPTEUR-4 : 000001

Exemple 3

    MOVE ZEROES TO COMPTEUR-0 COMPTEUR-1 COMPTEUR-2 
                   COMPTEUR-3 COMPTEUR-4        
  
    INSPECT ITEM-3 TALLYING
            COMPTEUR-0 FOR ALL "AB", ALL "D"
            COMPTEUR-1 FOR ALL "BC"
            COMPTEUR-2 FOR LEADING "EF" 
            COMPTEUR-3 FOR LEADING "B" 
            COMPTEUR-4 FOR CHARACTERS

    INSPECT ITEM-3 REPLACING
            ALL "AB" BY "XY", "D" BY "X"
            ALL "BC" BY "VW"
            LEADING "EF" BY "TU" 
            LEADING "B" BY "S" 
            FIRST   "G" BY "R" 
            FIRST   "G" BY "P" 
            CHARACTERS BY "Z"

    DISPLAY 'ITEM-3     : ' ITEM-3
    DISPLAY 'COMPTEUR-0 : ' COMPTEUR-0  
    DISPLAY 'COMPTEUR-1 : ' COMPTEUR-1  
    DISPLAY 'COMPTEUR-2 : ' COMPTEUR-2  
    DISPLAY 'COMPTEUR-3 : ' COMPTEUR-3  
    DISPLAY 'COMPTEUR-4 : ' COMPTEUR-4  

* Resultat de test:

* ITEM-3     : SSVW
* COMPTEUR-0 : 000000
* COMPTEUR-1 : 000001
* COMPTEUR-2 : 000000
* COMPTEUR-3 : 000002
* COMPTEUR-4 : 000000