Archives par mot-clé : INSPECT TALLYING

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

Exemple – INSPECT TALLYING

Voici un programme utilisant le INSPECT TALLYING :

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  CHAMP-1         PIC X(006)   VALUE '000670'.
    05  CHAMP-2         PIC X(006)   VALUE '123450'.
    05  CHAMP-3         PIC X(006)   VALUE '007800'.
    05  COMPTEUR-1      PIC 9(006)   VALUE ZEROES.
    05  COMPTEUR-2      PIC 9(006)   VALUE ZEROES.
    05  COMPTEUR-3      PIC 9(006)   VALUE ZEROES.

PROCEDURE DIVISION.

001-INICIO.

    INSPECT CHAMP-1 TALLYING COMPTEUR-1 FOR ALL ZEROES

    INSPECT CHAMP-2 TALLYING COMPTEUR-2 FOR CHARACTERS
            BEFORE INITIAL ZEROES 

    INSPECT CHAMP-3 TALLYING COMPTEUR-3 FOR LEADING ZEROES

    DISPLAY 'COMPTEUR-1 : ' COMPTEUR-1  
    DISPLAY 'COMPTEUR-2 : ' COMPTEUR-2  
    DISPLAY 'COMPTEUR-3 : ' COMPTEUR-3  

    STOP RUN.

* Resultat de test:

* COMPTEUR-1 : 000004
* COMPTEUR-2 : 000005
* COMPTEUR-3 : 000002