Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to Data Division
Data Division | Intermediate | COBOL

Edited Pictures

Problem Description

Format numbers for display using edited PIC clauses: Z, *, $, comma, period.

Expected Output

Formatted output: 1234567 -> $12,345.67

Hints

Z=zero suppress, *=check protect, $=currency.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. EDITPIC. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-AMOUNT PIC 9(7)V99 VALUE 1234567.89. 01 WS-NEGATIVE PIC S9(5)V99 VALUE -1234.56. * Edited pictures for display 01 WS-EDIT1 PIC Z,ZZZ,ZZ9.99. 01 WS-EDIT2 PIC $$$,$$9.99. 01 WS-EDIT3 PIC **,***,**9.99. 01 WS-EDIT4 PIC -(6)9.99. 01 WS-EDIT5 PIC Z(5)9.99-. 01 WS-EDIT6 PIC $$$,$$$.99CR. 01 WS-SMALL PIC 9(3)V99 VALUE 12.34. 01 WS-EDIT7 PIC $ZZ9.99. PROCEDURE DIVISION. MOVE WS-AMOUNT TO WS-EDIT1. DISPLAY "ZERO SUPPRESS: " WS-EDIT1. MOVE WS-AMOUNT TO WS-EDIT2. DISPLAY "FLOATING $: " WS-EDIT2. MOVE WS-AMOUNT TO WS-EDIT3. DISPLAY "CHECK PROTECT: " WS-EDIT3. MOVE WS-NEGATIVE TO WS-EDIT4. DISPLAY "LEADING SIGN: " WS-EDIT4. MOVE WS-NEGATIVE TO WS-EDIT5. DISPLAY "TRAILING SIGN: " WS-EDIT5. MOVE WS-NEGATIVE TO WS-EDIT6. DISPLAY "CR SYMBOL: " WS-EDIT6. MOVE WS-SMALL TO WS-EDIT7. DISPLAY "SMALL NUMBER: " WS-EDIT7. STOP RUN.

Explanation:

Z=suppress zeros, *=check protect, $=float currency, -=sign, CR/DB=credit/debit.