Voici plusieurs exemples de programme utilisant le INSPECT FUNCTION REVERSE :
Exemple 1
IDENTIFICATION DIVISION.
PROGRAM-ID. CARACTERES.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-FIN PIC 9(09) VALUE 0.
05 WS-IND PIC 9(09) VALUE 1.
05 WS-TAILLE PIC 9(09) VALUE 0.
05 WS-TAILLE-1 PIC 9(09) VALUE 0.
05 WS-RESULTAT PIC 9(09) VALUE 0.
05 WS-CHAMP PIC X(30) VALUE 'LA COMMUNAUTE'.
PROCEDURE DIVISION.
INSPECT FUNCTION REVERSE (WS-CHAMP)
TALLYING WS-TAILLE-1 FOR LEADING SPACES
DISPLAY 'Nombre de blancs après le dernier caractère significatif '
DISPLAY 'WS-TAILLE-1 - ' WS-TAILLE-1.
COMPUTE WS-RESULTAT = FUNCTION LENGTH (WS-CHAMP)
MOVE 0 TO WS-FIN WS-TAILLE
PERFORM VARYING WS-IND FROM 1 BY 1
UNTIL WS-IND GREATER THAN WS-RESULTAT
IF WS-CHAMP(WS-IND:1) NOT EQUAL SPACES
ADD 1 TO WS-TAILLE
END-IF
END-PERFORM
DISPLAY 'Nombre de caractères dans le champ'
DISPLAY 'WS-TAILLE - ' WS-TAILLE.
STOP RUN.
Resultat de test:
Nombre de blancs après le dernier caractère significatif
WS-TAILLE-1 - 000000017
Nombre de caractères dans le champ
WS-TAILLE - 000000012
Exemple 2
IDENTIFICATION DIVISION.
PROGRAM-ID. CARACTERES.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-FIN PIC 9(09) VALUE 0.
05 WS-IND PIC 9(09) VALUE 1.
05 WS-TAILLE PIC 9(09) VALUE 0.
05 WS-TAILLE-1 PIC 9(09) VALUE 0.
05 WS-RESULTAT PIC 9(09) VALUE 0.
05 WS-CHAMP PIC X(50) VALUE 'LA COMMUNAUTE DU COBOL'.
PROCEDURE DIVISION.
INSPECT FUNCTION REVERSE (WS-CHAMP)
TALLYING WS-TAILLE-1 FOR LEADING SPACES
DISPLAY 'Nombre de blancs après le dernier caractère significatif '
DISPLAY 'WS-TAILLE-1 - ' WS-TAILLE-1.
COMPUTE WS-RESULTAT = FUNCTION LENGTH (WS-CHAMP)
MOVE 0 TO WS-FIN WS-TAILLE
PERFORM VARYING WS-IND FROM 1 BY 1
UNTIL WS-IND GREATER THAN WS-RESULTAT
IF WS-CHAMP(WS-IND:1) NOT EQUAL SPACES
ADD 1 TO WS-TAILLE
END-IF
END-PERFORM
DISPLAY 'Nombre de caractères dans le champ'
DISPLAY 'WS-TAILLE - ' WS-TAILLE.
STOP RUN.
Resultat de test:
Nombre de blancs après le dernier caractère significatif
WS-TAILLE-1 - 000000028
Nombre de caractères dans le champ
WS-TAILLE - 000000020
Exemple 3
IDENTIFICATION DIVISION.
PROGRAM-ID. CARACTERES.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-FIN PIC 9(09) VALUE 0.
05 WS-IND PIC 9(09) VALUE 1.
05 WS-TAILLE PIC 9(09) VALUE 0.
05 WS-TAILLE-1 PIC 9(09) VALUE 0.
05 WS-RESULTAT PIC 9(09) VALUE 0.
05 WS-CHAMP PIC X(50) VALUE 'LA C O M M U N A U T E DU COBOL'.
PROCEDURE DIVISION.
INSPECT FUNCTION REVERSE (WS-CHAMP)
TALLYING WS-TAILLE-1 FOR LEADING SPACES
DISPLAY 'Nombre de blancs après le dernier caractère significatif '
DISPLAY 'WS-TAILLE-1 - ' WS-TAILLE-1.
COMPUTE WS-RESULT = FUNCTION LENGTH (WS-CHAMP)
MOVE 0 TO WS-FIN WS-TAILLE
PERFORM VARYING WS-IND FROM 1 BY 1
UNTIL WS-IND GREATER THAN WS-RESULT
IF WS-CHAMP(WS-IND:1) NOT EQUAL SPACES
ADD 1 TO WS-TAILLE
END-IF
END-PERFORM
DISPLAY 'Nombre de caractères dans le champ'
DISPLAY 'WS-TAILLE - ' WS-TAILLE.
STOP RUN.
Resultat de test:
Nombre de blancs après le dernier caractère significatif
WS-TAILLE-1 - 000000019
Nombre de caractères dans le champ
WS-TAILLE - 000000020
Exemple 4
IDENTIFICATION DIVISION.
PROGRAM-ID. CARACTERES.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-FIN PIC 9(09) VALUE 0.
05 WS-IND PIC 9(09) VALUE 1.
05 WS-TAILLE PIC 9(09) VALUE 0.
05 WS-TAILLE-1 PIC 9(09) VALUE 0.
05 WS-RESULTAT PIC 9(09) VALUE 0.
05 WS-CHAMP PIC X(50) VALUE 'LA COMM DU COBOL'.
PROCEDURE DIVISION.
INSPECT FUNCTION REVERSE (WS-CHAMP)
TALLYING WS-TAILLE-1 FOR LEADING SPACES
DISPLAY 'Nombre de blancs après le dernier caractère significatif '
DISPLAY 'WS-TAILLE-1 - ' WS-TAILLE-1.
COMPUTE WS-RESULTAT = FUNCTION LENGTH (WS-CHAMP)
MOVE 0 TO WS-FIN WS-TAILLE
PERFORM VARYING WS-IND FROM 1 BY 1
UNTIL WS-IND GREATER THAN WS-RESULTAT
IF WS-CHAMP(WS-IND:1) NOT EQUAL SPACES
ADD 1 TO WS-TAILLE
END-IF
END-PERFORM
DISPLAY 'Nombre de caractères dans le champ'
DISPLAY 'WS-TAILLE - ' WS-TAILLE.
STOP RUN.
Resultat de test:
Nombre de blancs après le dernier caractère significatif
WS-TAILLE-1 - 000000034
Nombre de caractères dans le champ
WS-TAILLE - 000000013
Exemple 5
IDENTIFICATION DIVISION.
PROGRAM-ID. CARACTERES.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-TAILLE PIC 9(09) VALUE 0.
05 WS-TAILLE-1 PIC 9(09) VALUE 0.
05 WS-RESULTAT PIC 9(09) VALUE 0.
05 WS-CHAMP PIC X(30) VALUE 'LA COMMUNAUTE '.
PROCEDURE DIVISION.
INSPECT FUNCTION REVERSE (WS-CHAMP)
TALLYING WS-TAILLE-1 FOR LEADING SPACES
DISPLAY 'Nombre de blancs après le dernier caractère significatif '
DISPLAY 'WS-TAILLE-1 - ' WS-TAILLE-1.
COMPUTE WS-RESULTAT = FUNCTION LENGTH (WS-CHAMP)
COMPUTE WS-RESULTAT = WS-RESULTAT - WS-TAILLE-1
DISPLAY 'Quantité de données jusqu'au dernier caractère significatif'
DISPLAY 'WS-RESULTAT - ' WS-RESULTAT
DISPLAY 'WS-CHAMP - ' WS-CAMPO (1:WS-RESULT)
STOP RUN.
Resultat de test:
Nombre de blancs après le dernier caractère significatif
WS-TAILLE-1 - 000000017
Quantité de données jusqu'au dernier caractère significatif
WS-RESULTAT - 000000013
WS-CHAMP - LA COMMUNAUTE