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