Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
💻 COBOL

COBOL INSPECT Statement

Intermediate 🕑 10 min read 👁 0 views

COBOL INSPECT Statement

The INSPECT statement examines and optionally modifies characters in a string.

Syntax

INSPECT identifier TALLYING ...
INSPECT identifier REPLACING ...
INSPECT identifier CONVERTING ...
INSPECT identifier TALLYING ... REPLACING ...

Example Program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. INSPECT-DEMO.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-STRING      PIC X(30).
       01 WS-COUNT       PIC 99 VALUE 0.
       01 WS-COUNT-A     PIC 99 VALUE 0.

       PROCEDURE DIVISION.
      * TALLYING - Count characters
           MOVE 'HELLO WORLD' TO WS-STRING
           MOVE 0 TO WS-COUNT

           INSPECT WS-STRING TALLYING
               WS-COUNT FOR ALL 'L'
           DISPLAY 'Count of L: ' WS-COUNT

      * TALLYING with multiple counters
           MOVE 0 TO WS-COUNT WS-COUNT-A
           INSPECT WS-STRING TALLYING
               WS-COUNT FOR ALL 'O'
               WS-COUNT-A FOR ALL ' '
           DISPLAY 'Count of O: ' WS-COUNT
           DISPLAY 'Count of spaces: ' WS-COUNT-A

      * REPLACING - Replace characters
           MOVE 'HELLO WORLD' TO WS-STRING
           INSPECT WS-STRING REPLACING
               ALL 'L' BY 'X'
           DISPLAY 'After replace L: ' WS-STRING

      * REPLACING LEADING/FIRST
           MOVE '000123' TO WS-STRING
           INSPECT WS-STRING REPLACING
               LEADING '0' BY ' '
           DISPLAY 'Leading zeros: [' WS-STRING ']'

      * CONVERTING - Character translation
           MOVE 'hello world' TO WS-STRING
           INSPECT WS-STRING CONVERTING
               'abcdefghijklmnopqrstuvwxyz' TO
               'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
           DISPLAY 'Uppercase: ' WS-STRING

           STOP RUN.

Expected Output

Count of L: 03
Count of O: 02
Count of spaces: 01
After replace L: HEXXO WORXD
Leading zeros: [   123                        ]
Uppercase: HELLO WORLD

Key Points

  • TALLYING counts occurrences
  • REPLACING modifies characters
  • CONVERTING translates character sets
  • LEADING/TRAILING/FIRST options available
  • BEFORE/AFTER INITIAL limits scope