IDENTIFICATION DIVISION. PROGRAM-ID. TEST3_FORMATS. AUTHOR. GLEN COLBERT. ENVIRONMENT DIVISION. * INPUT-OUTPUT SECTION. * FILE-CONTROL. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 WS-EDITED-FIELDS. 05 WS-FI-0 PIC ZZ99. 05 WS-FI-1 PIC ZZZZ.ZZ. 05 WS-FI-2 PIC ZZ.ZZ. 05 WS-FI-3 PIC **99. 05 WS-FI-4 PIC **.**. 05 WS-FI-5 PIC $$99. 05 WS-FI-6 PIC $$$$$. 05 WS-FI-7 PIC $$$$.99. 05 WS-FI-8 PIC $$,$$$.$$. 05 WS-FI-9 PIC +9999. 05 WS-FI-10 PIC 9999+. 05 WS-FI-11 PIC -9999. 05 WS-FI-12 PIC ++++9. 05 WS-FI-13 PIC ----. 05 WS-FI-14 PIC ++++.++. 01 WS-NUMERIC-FIELDS. 05 WS-DISPLAY-NUM-0 PIC 9999. 05 WS-DISPLAY-NUM-V2 PIC V99. 05 WS-X1 REDEFINES WS-DISPLAY-NUM-V2 PIC XX. 05 WS-DISPLAY-NUM-2 PIC 9999. 05 WS-DISPLAY-NUM-4V1 PIC 9999V99. 05 WS-X2 REDEFINES WS-DISPLAY-NUM-4V1 PIC X(6). 05 WS-DISPLAY-NUM-NV1 PIC S9(4)V99. 05 WS-X3 REDEFINES WS-DISPLAY-NUM-NV1 PIC X(6). PROCEDURE DIVISION. 0000-PROGRAM-ENTRY-POINT. DISPLAY "TEST03 FORMATS program entry." PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT. STOP RUN. A000-ALPHANUMERIC-TESTS. AN01-TEST. MOVE 0 TO WS-DISPLAY-NUM-0. MOVE ".02" TO WS-DISPLAY-NUM-V2. MOVE 2 TO WS-DISPLAY-NUM-2. MOVE "123450" TO WS-X2. MOVE "-123.4" TO WS-DISPLAY-NUM-NV1. DISPLAY "0000:(" WS-DISPLAY-NUM-0 "):(0000):" "DISPLAY SOURCE FIELD 9999". DISPLAY "0000:(" WS-DISPLAY-NUM-V2 "):(.02):" "NOTE DISPLAY SOURCE FIELD V99". MOVE "02" TO WS-X1. DISPLAY "0000:(" WS-DISPLAY-NUM-V2 "):(.02):" "DISPLAY SOURCE FIELD V99". DISPLAY "0000:(" WS-DISPLAY-NUM-2 "):(0002):" "DISPLAY SOURCE FIELD 9999". DISPLAY "0000:(" WS-DISPLAY-NUM-4V1 "):(1234.50):" "DISPLAY SOURCE FIELD 9999V99". DISPLAY "0000:(" WS-X3 "):(01234}):" "DISPLAY SOURCE FIELD S9(4)V9(2)". FI00-INSERT-ZZ99. MOVE WS-DISPLAY-NUM-0 TO WS-FI-0. DISPLAY "FI01:(" WS-FI-0 "):( 00):" "FLOAT-INSERT MOVE 0 TO ZZ99". MOVE WS-DISPLAY-NUM-V2 TO WS-FI-0. DISPLAY "FI02:(" WS-FI-0 "):( 00):" "FLOAT-INSERT MOVE .02 TO ZZ99". MOVE WS-DISPLAY-NUM-2 TO WS-FI-0. DISPLAY "FI03:(" WS-FI-0 "):( 02):" "FLOAT-INSERT MOVE 2 TO ZZ99". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-0. DISPLAY "FI04:(" WS-FI-0 "):(1234):" "FLOAT-INSERT MOVE 1234.5 TO ZZ99". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-0. DISPLAY "FI05:(" WS-FI-0 "):( 123):" "FLOAT-INSERT MOVE -123.4 TO ZZ99". FI00-INSERT-ZZZZZ. MOVE WS-DISPLAY-NUM-0 TO WS-FI-1. DISPLAY "FI11:(" WS-FI-1 "):( ):" "FLOAT-INSERT MOVE 0 TO ZZZZ.ZZ". MOVE WS-DISPLAY-NUM-V2 TO WS-FI-1. DISPLAY "FI12:(" WS-FI-1 "):( .02):" "FLOAT-INSERT MOVE .02 TO ZZZZ.ZZ". MOVE WS-DISPLAY-NUM-2 TO WS-FI-1. DISPLAY "FI13:(" WS-FI-1 "):( 2.00):" "FLOAT-INSERT MOVE 2 TO ZZZZ.ZZ". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-1. DISPLAY "FI14:(" WS-FI-1 "):(1234.50):" "FLOAT-INSERT MOVE 1234.5 TO ZZZZ.ZZ". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-1. DISPLAY "FI15:(" WS-FI-1 "):( 123.40):" "FLOAT-INSERT MOVE -123.4 TO ZZZZ.ZZ". F200-INSERT-ZZZZ. MOVE WS-DISPLAY-NUM-0 TO WS-FI-2. DISPLAY "FI21:(" WS-FI-2 "):( ):" "FLOAT-INSERT MOVE 0 TO ZZ.ZZ". MOVE WS-DISPLAY-NUM-V2 TO WS-FI-2. DISPLAY "FI22:(" WS-FI-2 "):( .02):" "FLOAT-INSERT MOVE .02 TO ZZ.ZZ". MOVE WS-DISPLAY-NUM-2 TO WS-FI-2. DISPLAY "FI23:(" WS-FI-2 "):( 2.00):" "FLOAT-INSERT MOVE 2 TO ZZ.ZZ". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-2. DISPLAY "FI24:(" WS-FI-2 "):(34.50):" "FLOAT-INSERT MOVE 1234.5 TO ZZ.ZZ". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-2. DISPLAY "FI25:(" WS-FI-2 "):(23.40):" "FLOAT-INSERT MOVE -123.4 TO ZZ.ZZ". F300-ASTERISK-INSERTION. MOVE ZERO TO WS-DISPLAY-NUM-2. MOVE WS-DISPLAY-NUM-2 TO WS-FI-3. DISPLAY "FI31:(" WS-FI-3 "):(**00):" "FLOAT-INSERT MOVE 0 TO **99". MOVE "2" TO WS-FI-3. DISPLAY "FI32:(" WS-FI-3 "):(**02):" "FLOAT-INSERT MOVE 2 TO **99". MOVE "23" TO WS-FI-3. DISPLAY "FI33:(" WS-FI-3 "):(**23):" "FLOAT-INSERT MOVE 23 TO **99". MOVE "123" TO WS-FI-3. DISPLAY "FI34:(" WS-FI-3 "):(*123):" "FLOAT-INSERT MOVE 123 TO **99". MOVE "1234" TO WS-FI-3. DISPLAY "FI35:(" WS-FI-3 "):(1234):" "FLOAT-INSERT MOVE 1234 TO **99". MOVE "12345" TO WS-FI-3. DISPLAY "FI36:(" WS-FI-3 "):(2345):" "FLOAT-INSERT MOVE 12345 TO **99". MOVE "+345" TO WS-FI-3. DISPLAY "FI37:(" WS-FI-3 "):(*345):" "FLOAT-INSERT MOVE +345 TO **99". F400-ASTERISTK-INSERTION. MOVE ZERO TO WS-DISPLAY-NUM-4V1. MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-4. DISPLAY "FI41:(" WS-FI-4 "):(**.**):" "FLOAT-INSERT MOVE 0 TO **.**". MOVE ".02" TO WS-FI-4. DISPLAY "FI42:(" WS-FI-4 "):(**.02):" "FLOAT-INSERT MOVE .02 TO **.**". MOVE ".23" TO WS-FI-4. DISPLAY "FI43:(" WS-FI-4 "):(**.23):" "FLOAT-INSERT MOVE .23 TO **.**". MOVE "1.23" TO WS-FI-4. DISPLAY "FI44:(" WS-FI-4 "):(*1.23):" "FLOAT-INSERT MOVE 1.23 TO **.**". MOVE "12.34" TO WS-FI-4. DISPLAY "FI45:(" WS-FI-4 "):(12.34):" "FLOAT-INSERT MOVE 12.34 TO **.**". MOVE "12.345" TO WS-FI-4. DISPLAY "FI46:(" WS-FI-4 "):(12.34):" "FLOAT-INSERT MOVE 12.345 TO **.**". MOVE "123.45" TO WS-FI-4. DISPLAY "FI47:(" WS-FI-4 "):(23.45):" "FLOAT-INSERT MOVE 123.45 TO **.**". FI50-INSERT-RDD99. MOVE 0 TO WS-DISPLAY-NUM-0. MOVE ".02" TO WS-DISPLAY-NUM-V2. MOVE 2 TO WS-DISPLAY-NUM-2. MOVE "123450" TO WS-X2. MOVE "-123.4" TO WS-DISPLAY-NUM-NV1. MOVE WS-DISPLAY-NUM-0 TO WS-FI-5. DISPLAY "FI61:(" WS-FI-5 "):( $00):" "FLOAT-INSERT MOVE 0 TO $$99". MOVE WS-DISPLAY-NUM-V2 TO WS-FI-5. DISPLAY "FI62:(" WS-FI-5 "):( $00):" "FLOAT-INSERT MOVE .02 TO $$99". MOVE WS-DISPLAY-NUM-2 TO WS-FI-5. DISPLAY "FI63:(" WS-FI-5 "):( $02):" "FLOAT-INSERT MOVE 2 TO $$99". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-5. DISPLAY "FI64:(" WS-FI-5 "):($234):" "FLOAT-INSERT MOVE 1234.5 TO $$99". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-5. DISPLAY "FI65:(" WS-FI-5 "):($123):" "FLOAT-INSERT MOVE -123.4 TO $$99". FI60-INSERT-RDD99. MOVE WS-DISPLAY-NUM-0 TO WS-FI-6. DISPLAY "FI61:(" WS-FI-6 "):( ):" "FLOAT-INSERT MOVE 0 TO $$$$$". MOVE WS-DISPLAY-NUM-V2 TO WS-FI-6. DISPLAY "FI62:(" WS-FI-6 "):( ):" "FLOAT-INSERT MOVE .02 TO $$$$$". MOVE WS-DISPLAY-NUM-2 TO WS-FI-6. DISPLAY "FI63:(" WS-FI-6 "):( $2):" "FLOAT-INSERT MOVE 2 TO $$$$$". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-6. DISPLAY "FI64:(" WS-FI-6 "):($1234):" "FLOAT-INSERT MOVE 1234.5 TO $$$$$". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-6. DISPLAY "FI65:(" WS-FI-6 "):( $123):" "FLOAT-INSERT MOVE -123.4 TO $$$$$". FI70-INSERT-RDD99. MOVE WS-DISPLAY-NUM-0 TO WS-FI-7. DISPLAY "FI71:(" WS-FI-7 "):( $.00):" "FLOAT-INSERT MOVE 0 TO $$$$.99". MOVE WS-DISPLAY-NUM-V2 TO WS-FI-7. DISPLAY "FI72:(" WS-FI-7 "):( $.02):" "FLOAT-INSERT MOVE .02 TO $$$$.99". MOVE WS-DISPLAY-NUM-2 TO WS-FI-7. DISPLAY "FI73:(" WS-FI-7 "):( $2.00):" "FLOAT-INSERT MOVE 2 TO $$$$.99". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-7. DISPLAY "FI74:(" WS-FI-7 "):($234.50):" "FLOAT-INSERT MOVE 1234.5 TO $$$$.99". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-7. DISPLAY "FI75:(" WS-FI-7 "):($123.40):" "FLOAT-INSERT MOVE -123.4 TO $$$$.99". F800-INSERT-FI8X. MOVE WS-DISPLAY-NUM-0 TO WS-FI-8. DISPLAY "FI81:(" WS-FI-8 "):( ):" "FLOAT-INSERT MOVE 0 TO $$,$$$.$$". MOVE WS-DISPLAY-NUM-V2 TO WS-FI-8. DISPLAY "FI82:(" WS-FI-8 "):( $.02):" "FLOAT-INSERT MOVE .02 TO $$,$$$.$$". MOVE WS-DISPLAY-NUM-2 TO WS-FI-8. DISPLAY "FI83:(" WS-FI-8 "):( $2.00):" "FLOAT-INSERT MOVE 2 TO $$,$$$.$$". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-8. DISPLAY "FI84:(" WS-FI-8 "):($1,234.50):" "FLOAT-INSERT MOVE 1234.5 TO $$,$$$.$$". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-8. DISPLAY "FI85:(" WS-FI-8 "):( $123.40):" "FLOAT-INSERT MOVE -123.4 TO $$,$$$.$$". F900-FI9X-INSERTION. MOVE WS-DISPLAY-NUM-2 TO WS-FI-9. DISPLAY "FI91:(" WS-FI-9 "):(+0002):" "LEADING-PLUS-SIGN MOVE 2 TO +9999". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-9. DISPLAY "FI92:(" WS-FI-9 "):(-0123):" "LEADING-PLUS-SIGN MOVE -123.4 TO +9999". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-9. DISPLAY "FI93:(" WS-FI-9 "):(+1234):" "LEADING-PLUS-SIGN MOVE 1234.5 TO +9999". MOVE WS-DISPLAY-NUM-0 TO WS-FI-9. DISPLAY "FI94:(" WS-FI-9 "):(+0000):" "LEADING-PLUS-SIGN MOVE ZERO TO +9999". FA00-FIAX-INSERTION. MOVE WS-DISPLAY-NUM-2 TO WS-FI-10. DISPLAY "FIA1:(" WS-FI-10 "):(0002+):" "LEADING-PLUS-SIGN MOVE 2 TO 9999+". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-10. DISPLAY "FIA2:(" WS-FI-10 "):(0123-):" "LEADING-PLUS-SIGN MOVE -123.4 TO 9999+". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-10. DISPLAY "FIA3:(" WS-FI-10 "):(1234+):" "LEADING-PLUS-SIGN MOVE 1234.5 TO 9999+". MOVE WS-DISPLAY-NUM-0 TO WS-FI-10. DISPLAY "FIA4:(" WS-FI-10 "):(0000+):" "LEADING-PLUS-SIGN MOVE ZERO TO 9999+". FB00-FIBX-INSERTION. MOVE WS-DISPLAY-NUM-2 TO WS-FI-11. DISPLAY "FIB1:(" WS-FI-11 "):( 0002):" "LEADING-PLUS-SIGN MOVE 2 TO -9999". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-11. DISPLAY "FIB2:(" WS-FI-11 "):(-0123):" "LEADING-PLUS-SIGN MOVE -123.4 TO -9999". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-11. DISPLAY "FIB3:(" WS-FI-11 "):( 1234):" "LEADING-PLUS-SIGN MOVE 1234.5 TO -9999". MOVE WS-DISPLAY-NUM-0 TO WS-FI-11. DISPLAY "FIB4:(" WS-FI-11 "):( 0000):" "LEADING-PLUS-SIGN MOVE ZERO TO -9999". FC00-FICX-INSERTION. MOVE WS-DISPLAY-NUM-2 TO WS-FI-12. DISPLAY "FIC1:(" WS-FI-12 "):( +2):" "FLOATING-PLUS-SIGN MOVE 2 TO ++++9". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-12. DISPLAY "FIC2:(" WS-FI-12 "):( -123):" "FLOATING-PLUS-SIGN MOVE -123.4 TO ++++9". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-12. DISPLAY "FIC3:(" WS-FI-12 "):(+1234):" "FLOATING-PLUS-SIGN MOVE 1234.5 TO ++++9". MOVE WS-DISPLAY-NUM-0 TO WS-FI-12. DISPLAY "FIC4:(" WS-FI-12 "):( +0):" "FLOATING-PLUS-SIGN MOVE ZERO TO ++++9". FD00-FIDX-INSERTION. MOVE WS-DISPLAY-NUM-2 TO WS-FI-13. DISPLAY "FID1:(" WS-FI-13 "):( 2):" "FLOATING-MINUS-SIGN MOVE 2 TO ----". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-13. DISPLAY "FID2:(" WS-FI-13 "):(-123):" "FLOATING-MINUS-SIGN MOVE -123.4 TO ----". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-13. DISPLAY "FID3:(" WS-FI-13 "):( 234):" "FLOATING-MINUS-SIGN MOVE 1234.5 TO ----". MOVE WS-DISPLAY-NUM-0 TO WS-FI-13. DISPLAY "FID4:(" WS-FI-13 "):( ):" "FLOATING-MINUS-SIGN MOVE ZERO TO ----". FE00-FIEX-INSERTION. MOVE WS-DISPLAY-NUM-2 TO WS-FI-14. DISPLAY "FIE1:(" WS-FI-14 "):( +2.00):" "FLOATING-PLUS-SIGN MOVE 2 TO ++++.++". MOVE WS-DISPLAY-NUM-NV1 TO WS-FI-14. DISPLAY "FIE2:(" WS-FI-14 "):(-123.40):" "FLOATING-PLUS-SIGN MOVE -123.4 TO ++++.++". MOVE WS-DISPLAY-NUM-4V1 TO WS-FI-14. DISPLAY "FIE3:(" WS-FI-14 "):(+234.50):" "FLOATING-PLUS-SIGN MOVE 1234.5 TO ++++.++". MOVE WS-DISPLAY-NUM-0 TO WS-FI-14. DISPLAY "FIE4:(" WS-FI-14 "):( ):" "FLOATING-PLUS-SIGN MOVE ZERO TO ++++.++". MOVE WS-DISPLAY-NUM-V2 TO WS-FI-14. DISPLAY "FIE5:(" WS-FI-14 "):( +.02):" "FLOATING-PLUS-SIGN MOVE .02 TO ++++.++". A000-EXIT. EXIT.