Example: Using INSPECT with Social Security Numbers


       IDENTIFICATION DIVISION.
       PROGRAM-ID.    SSN-EXAMPLE.
       AUTHOR.        BILL ROGERS.
       INSTALLATION.  GOVERNORS STATE UNIVERSITY.
      * 
      * This example shows how to use the INSPECT verb to edit a
      * nine digit numeric field in the input record to produce
      * the standard social security number format with hyphens
      * on the output report.
      * 
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT IN-FILE
              ASSIGN TO 'A:\EMPL.TXT'
              ORGANIZATION IS LINE SEQUENTIAL.

           SELECT OUT-FILE
              ASSIGN TO 'A:\SSNX.TXT'
              ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD  IN-FILE
           DATA RECORD IS IN-ITEM.
       01  IN-ITEM.
           02 IN-SSN                PIC 9(9).
           02 IN-NAME               PIC X(25).

       FD  OUT-FILE
           DATA RECORD IS OUT-ITEM.
       01  OUT-ITEM                 PIC X(80).

       WORKING-STORAGE SECTION.
       01  DETAIL-ITEM.
           02 DETAIL-SSN            PIC 999B99B9999.
           02 FILLER                PIC X(2)            VALUE SPACES.
           02 DETAIL-NAME           PIC X(25).

       01  END-OF-FILE-SWITCH       PIC X               VALUE 'N'.
           88 NO-MORE-INPUT-RECORDS                     VALUE 'Y'.

       PROCEDURE DIVISION.
       MAINLINE.
           PERFORM SETUP-PARAGRAPH.
           PERFORM LOOP-PARAGRAPH
               UNTIL NO-MORE-INPUT-RECORDS.
           PERFORM CLEANUP-PARAGRAPH.
           STOP RUN.

       SETUP-PARAGRAPH.
           OPEN INPUT IN-FILE.
           OPEN OUTPUT OUT-FILE.
           READ IN-FILE
                AT END MOVE 'Y' TO END-OF-FILE-SWITCH.

       LOOP-PARAGRAPH.
           MOVE IN-SSN TO DETAIL-SSN.
           INSPECT DETAIL-SSN REPLACING ALL SPACE BY '-'.
           MOVE IN-NAME TO DETAIL-NAME.
           WRITE OUT-ITEM FROM DETAIL-ITEM.
           READ IN-FILE
                AT END MOVE 'Y' TO END-OF-FILE-SWITCH.

       CLEANUP-PARAGRAPH.
           CLOSE IN-FILE.
           CLOSE OUT-FILE.

Cobol Home