version 0.73.0

This commit is contained in:
2023-07-14 12:15:30 -03:00
parent 110d8a0419
commit 945dd1a809
1466 changed files with 374820 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
#
#
#
test01:S:Validate Alph to Alphanumeric moves
test01a:S:Validate Alpha to Formatted Alphanumeric (space) moves
test01b:S:Validate Alpha to Formatted Alphanumeric (slash) moves
test01c:S:Validate COMP (binary integer) and INDEX moves
test02a:S:Validate Alphanumeric to Alpha/numeric edited moves
test02b:S:Validate Alphanumeric to Numeric edited moves
test03a:S:Validate Numeric Integer moves
test03b:S:Validate Numeric Integer to Edited moves
test03c:S:Floating Insertion Edited Move tests
test03d:S:Non-default currency sign Edited moves
test04:S:Fixed numeric insertion tests
test05a:S:Figurative Constants move tests
test05b:S:Initialize statement
test06a:S:Reference Modifiers
test07a:S:Qualified move and arithmetic tests
test08a:S:Unstring tests
+82
View File
@@ -0,0 +1,82 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1_FORMATS.
AUTHOR. GLEN COLBERT.
INSTALLATION. Tiny Cobol Project
DATE-WRITTEN. 12 November, 1999.
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-ALPHA-FIELDS.
05 WS-ALPHA-1 PIC A(01).
05 WS-ALPHA-2 PIC A(02).
05 WS-ALPHA-3 PIC A(03).
05 WS-ALPHA-4 PIC A(04).
05 WS-ALPHA-5 PIC A(05).
05 WS-ALPHA-6 PIC A(06).
05 WS-ALPHA-7 PIC A(07).
05 WS-ALPHA-26 PIC X(26).
01 WS-ALPHANUM-FIELDS.
05 WS-ALPHANUM-1 PIC X(01).
05 WS-ALPHANUM-2 PIC X(02).
05 WS-ALPHANUM-3 PIC X(03).
05 WS-ALPHANUM-4 PIC X(04).
05 WS-ALPHANUM-5 PIC X(05).
05 WS-ALPHANUM-6 PIC X(06).
05 WS-ALPHANUM-8 PIC X(08) JUST RIGHT.
01 WS-ALPHA-EDIT-FIELDS.
05 WS-ANE-1 PIC XXBXXX.
05 WS-ANE-2 PIC XBXX.
05 WS-ANE-3 PIC XX/XXX.
05 WS-ANE-4 PIC X/XX.
05 WS-ANE-5 PIC XXBXXBXX.
05 WS-ANE-6 PIC XX/XX/XX.
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST1_FORMATS.program entry."
PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT.
STOP RUN.
A000-ALPHANUMERIC-TESTS.
MOVE "ABCDEFGHIJKLMONPQRSTUVWXYZ"
TO WS-ALPHA-26.
A001-TEST.
MOVE "A" TO WS-ALPHA-1.
MOVE WS-ALPHA-1 TO WS-ALPHANUM-6.
DISPLAY "A001:(" WS-ALPHANUM-6 "):(A ):"
"ALPHA LEFT ALIGN TEST MOVE A(1) TO X(6)".
MOVE "ABCDE" TO WS-ALPHA-5.
MOVE WS-ALPHA-5 TO WS-ALPHANUM-6.
DISPLAY "A002:(" WS-ALPHANUM-6 "):(ABCDE ):"
"ALPHA LEFT ALIGN MOVE TEST MOVE A(5) TO X(6)".
MOVE "ABCDEF" TO WS-ALPHA-6.
MOVE WS-ALPHA-6 TO WS-ALPHANUM-6.
DISPLAY "A003:(" WS-ALPHANUM-6 "):(ABCDEF):"
"ALPHA LEFT ALIGN MOVE TEST MOVE A(6) TO X(6)".
MOVE WS-ALPHA-26 TO WS-ALPHANUM-6.
DISPLAY "A004:(" WS-ALPHANUM-6 "):(ABCDEF):"
"ALPHA LEFT ALIGN MOVE TEST MOVE A(26) TO X(6)".
MOVE "ABCDEFGHIJ" TO WS-ALPHANUM-8.
DISPLAY "A005:(" WS-ALPHANUM-8 "):(CDEFGHIJ):"
"MOVE ABCDEFGHIJ TO X(8) RIGHT".
MOVE "ABCDE" TO WS-ALPHANUM-8.
DISPLAY "A006:(" WS-ALPHANUM-8 "):( ABCDE):"
"MOVE ABCDE TO X(8) RIGHT".
A000-EXIT.
EXIT.
+78
View File
@@ -0,0 +1,78 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST01A.
AUTHOR. GLEN COLBERT.
INSTALLATION. Tiny Cobol Project
DATE-WRITTEN. 12 November, 1999.
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-ALPHA-FIELDS.
05 WS-ALPHA-1 PIC A(01).
05 WS-ALPHA-2 PIC A(02).
05 WS-ALPHA-3 PIC A(03).
05 WS-ALPHA-4 PIC A(04).
05 WS-ALPHA-5 PIC A(05).
05 WS-ALPHA-6 PIC A(06).
05 WS-ALPHA-7 PIC A(07).
05 WS-ALPHA-26 PIC X(26).
01 WS-ALPHANUM-FIELDS.
05 WS-ALPHANUM-1 PIC X(01).
05 WS-ALPHANUM-2 PIC X(02).
05 WS-ALPHANUM-3 PIC X(03).
05 WS-ALPHANUM-4 PIC X(04).
05 WS-ALPHANUM-5 PIC X(05).
05 WS-ALPHANUM-6 PIC X(06).
01 WS-ALPHA-EDIT-FIELDS.
05 WS-ANE-1 PIC XXBXXX.
05 WS-ANE-2 PIC XBXX.
05 WS-ANE-3 PIC XX/XXX.
05 WS-ANE-4 PIC X/XX.
05 WS-ANE-5 PIC XXBXXBXX.
05 WS-ANE-6 PIC XX/XX/XX.
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST1-FORMATS program entry."
PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT.
STOP RUN.
A000-ALPHANUMERIC-TESTS.
MOVE "ABCDEFGHIJKLMONPQRSTUVWXYZ"
TO WS-ALPHA-26.
A001-TEST.
MOVE "ABCDE" TO WS-ALPHA-5.
MOVE WS-ALPHA-5 TO WS-ANE-1.
DISPLAY "A010:(" WS-ANE-1 "):(AB CDE):"
"ALPHA SPACE FORMAT TEST MOVE A(5) TO XXBXXX".
MOVE "ABCDE" TO WS-ALPHA-5.
MOVE WS-ALPHA-5 TO WS-ANE-2.
DISPLAY "A011:(" WS-ANE-2 "):(A BC):"
"ALPHA SPACE FORMAT TEST MOVE A(5) TO XBXX".
MOVE "ABCDE" TO WS-ALPHA-5.
MOVE WS-ALPHA-5 TO WS-ANE-5.
DISPLAY "A012:(" WS-ANE-5 "):(AB CD E ):"
"ALPHA MULTI-SPACE FORMAT TEST MOVE A(5) TO XXBXXBXX".
MOVE "ABCDEF" TO WS-ALPHA-6.
MOVE WS-ALPHA-6 TO WS-ANE-5.
DISPLAY "A013:(" WS-ANE-5 "):(AB CD EF):"
"ALPHA MULTI-SPACE FORMAT TEST MOVE A(6) TO XXBXXBXX".
MOVE WS-ALPHA-26 TO WS-ANE-5.
DISPLAY "A014:(" WS-ANE-5 "):(AB CD EF):"
"ALPHA MULTI-SPACE FORMAT TEST MOVE A(26) TO XXBXXBXX".
A000-EXIT.
EXIT.
+77
View File
@@ -0,0 +1,77 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST01B.
AUTHOR. GLEN COLBERT.
INSTALLATION. Tiny Cobol Project
DATE-WRITTEN. 12 November, 1999.
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-ALPHA-FIELDS.
05 WS-ALPHA-1 PIC A(01).
05 WS-ALPHA-2 PIC A(02).
05 WS-ALPHA-3 PIC A(03).
05 WS-ALPHA-4 PIC A(04).
05 WS-ALPHA-5 PIC A(05).
05 WS-ALPHA-6 PIC A(06).
05 WS-ALPHA-7 PIC A(07).
05 WS-ALPHA-26 PIC X(26).
01 WS-ALPHANUM-FIELDS.
05 WS-ALPHANUM-1 PIC X(01).
05 WS-ALPHANUM-2 PIC X(02).
05 WS-ALPHANUM-3 PIC X(03).
05 WS-ALPHANUM-4 PIC X(04).
05 WS-ALPHANUM-5 PIC X(05).
05 WS-ALPHANUM-6 PIC X(06).
01 WS-ALPHA-EDIT-FIELDS.
05 WS-ANE-1 PIC XXBXXX.
05 WS-ANE-2 PIC XBXX.
05 WS-ANE-3 PIC XX/XXX.
05 WS-ANE-4 PIC X/XX.
05 WS-ANE-5 PIC XXBXXBXX.
05 WS-ANE-6 PIC XX/XX/XX.
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST1-FORMATS program entry."
PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT.
STOP RUN.
A000-ALPHANUMERIC-TESTS.
MOVE "ABCDEFGHIJKLMONPQRSTUVWXYZ"
TO WS-ALPHA-26.
A001-TEST.
MOVE "ABCDE" TO WS-ALPHA-5.
MOVE WS-ALPHA-5 TO WS-ANE-3.
DISPLAY "A020:(" WS-ANE-3 "):(AB/CDE):"
"ALPHA SLASH FORMAT TEST MOVE A(5) TO XX/XXX".
MOVE WS-ALPHA-26 TO WS-ANE-3.
DISPLAY "A021:(" WS-ANE-3 "):(AB/CDE):"
"ALPHA SLASH ALIGN FORMAT TEST MOVE A(26) TO XX/XXX".
MOVE "ABCDE" TO WS-ALPHA-5.
MOVE WS-ALPHA-5 TO WS-ANE-4.
DISPLAY "A022:(" WS-ANE-4 "):(A/BC):"
"ALPHA SLASH FORMAT TEST MOVE A(5) TO X/XX".
MOVE "ABCDE" TO WS-ALPHA-5.
MOVE WS-ALPHA-5 TO WS-ANE-6.
DISPLAY "A023:(" WS-ANE-6 "):(AB/CD/E ):"
"ALPHA SLASH FORMAT TEST MOVE A(5) TO XX/XX/XX".
MOVE WS-ALPHA-26 TO WS-ANE-6.
DISPLAY "A023:(" WS-ANE-6 "):(AB/CD/EF):"
"ALPHA SLASH FORMAT TEST MOVE A(25) TO XX/XX/XX".
A000-EXIT.
EXIT.
+79
View File
@@ -0,0 +1,79 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1_FORMATS.
AUTHOR. JIM NOETH.
INSTALLATION. Tiny Cobol Project
DATE-WRITTEN. 03 January, 2000.
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-COMP-VALUE PIC S9(9) COMP.
01 WS-DISPLAY-5 PIC 9(05).
01 WS-DISPLAY-WITH-FRAC PIC 9(05)V9999.
01 WS-DISPLAY-WITH-SIGN PIC S9(07).
01 WS-ANOTHER-COMP PIC 9(04) COMP.
01 WS-PACKED PIC 9(07)V99 COMP-3.
01 WS-EDITED-1 PIC $$$$,$$9-.
01 WS-CHARACTER-SHORT PIC X(08).
01 WS-CHARACTER-LONG PIC X(15).
*
*
01 WS-DUMP-COUNT PIC 9(04).
01 WS-DUMP-OUT-8 PIC X(08).
01 WS-DUMP-OUT-10 PIC X(10).
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST1_FORMATS.program entry."
PERFORM A000-COMPUTATIONAL-TESTS THRU A000-EXIT.
STOP RUN.
A000-COMPUTATIONAL-TESTS.
A001-TEST.
MOVE "-5432" TO WS-COMP-VALUE.
MOVE WS-COMP-VALUE TO WS-DISPLAY-5.
DISPLAY "A301:(" WS-DISPLAY-5 "):(05432):"
"COMP MOVE -5432 TO 9(05)".
MOVE WS-COMP-VALUE TO WS-DISPLAY-WITH-FRAC.
DISPLAY "A302:(" WS-DISPLAY-WITH-FRAC "):(05432.0000):"
"COMP MOVE -5432 TO 9(05)V9(04)".
MOVE WS-COMP-VALUE TO WS-DISPLAY-WITH-SIGN.
DISPLAY "A303:(" WS-DISPLAY-WITH-SIGN "):(-0005432):"
"COMP MOVE -5432 TO S9(07)".
MOVE WS-COMP-VALUE TO WS-ANOTHER-COMP.
DISPLAY "A304:(" WS-ANOTHER-COMP "):(5432):"
"COMP MOVE -5432 TO 9(04) COMP".
MOVE WS-COMP-VALUE TO WS-PACKED.
DISPLAY "A305:(" WS-PACKED "):(0005432.00):"
"COMP MOVE -5432 TO 9(7)V99 COMP-3".
MOVE WS-COMP-VALUE TO WS-EDITED-1.
DISPLAY "A306:(" WS-EDITED-1 "):( $5,432-):"
"COMP MOVE -5432 TO $$$$,$$9-".
MOVE 97531 TO WS-COMP-VALUE.
MOVE WS-COMP-VALUE TO WS-DISPLAY-WITH-SIGN.
MOVE WS-DISPLAY-WITH-SIGN TO WS-ANOTHER-COMP.
DISPLAY "A307:(" WS-ANOTHER-COMP "):(7531):"
"MOVE 97531 AS S9(07) TO 9(04) COMP".
MOVE "-8642975" TO WS-COMP-VALUE.
MOVE WS-COMP-VALUE TO WS-PACKED.
MOVE WS-PACKED TO WS-ANOTHER-COMP.
DISPLAY "A308:(" WS-ANOTHER-COMP "):(2975):"
"MOVE -8642975 AS 9(07)V9(04) COMP-3 TO 9(04) COMP".
A000-EXIT.
EXIT.
+82
View File
@@ -0,0 +1,82 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1_FORMATS.
AUTHOR. GLEN COLBERT.
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-ALPHA-FIELDS.
05 WS-ALPHA-6 PIC A(06).
05 WS-ALPHA-5 PIC A(05).
05 WS-ALPHA-2 PIC A(02).
01 WS-ALPHANUM-FIELDS.
05 WS-ALPHANUM-1 PIC X(01).
05 WS-ALPHANUM-2 PIC X(02).
05 WS-ALPHANUM-3 PIC X(03).
05 WS-ALPHANUM-4 PIC X(04).
05 WS-ALPHANUM-5 PIC X(05).
05 WS-ALPHANUM-6 PIC X(06).
05 WS-ALPHANUM-36 PIC X(36).
05 WS-AB-5 PIC XXBXXX.
05 WS-AB-3 PIC XBXX.
05 WS-AS-5 PIC XX/XXX.
05 WS-AS-3 PIC X/XX.
01 WS-NUMERIC-FIELDS.
05 WS-DISPLAY-NUM-1 PIC 9.
05 WS-DISPLAY-NUM-4 PIC 9(4).
05 WS-DISPLAY-NUM-V5 PIC 9(3)V99.
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST02 FORMATS program entry."
PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT.
STOP RUN.
A000-ALPHANUMERIC-TESTS.
MOVE "A" TO WS-ALPHANUM-1.
MOVE "AB" TO WS-ALPHANUM-2.
MOVE "ABC" TO WS-ALPHANUM-3.
MOVE "ABCD" TO WS-ALPHANUM-4.
MOVE "ABCDE" TO WS-ALPHANUM-5.
MOVE "ABCDEFGHIJKLMNOPQRSTUVWZYZ0123456789" TO
WS-ALPHANUM-36.
AN01-TEST.
MOVE WS-ALPHANUM-5 TO WS-ALPHANUM-6.
DISPLAY "AN01:(" WS-ALPHANUM-6 "):(ABCDE ):"
"ALPHANUMERIC MOVE TEST MOVE X(5) TO X(6)".
MOVE WS-ALPHANUM-5 TO WS-ALPHA-5.
DISPLAY "AN02:(" WS-ALPHA-5 "):(ABCDE):"
"ALPHANUMERIC MOVE TEST MOVE X(5) TO A(5)".
MOVE WS-ALPHANUM-5 TO WS-ALPHANUM-4.
DISPLAY "AN03:(" WS-ALPHANUM-4 "):(ABCD):"
"ALPHANUMERIC MOVE TEST MOVE X(5) TO X(4)".
MOVE WS-ALPHANUM-5 TO WS-AB-5.
DISPLAY "AB01:(" WS-AB-5 "):(AB CDE):"
"MOVE TEST MOVE X(5) TO XXBXXX".
MOVE WS-ALPHANUM-5 TO WS-AB-3.
DISPLAY "AB02:(" WS-AB-3 "):(A BC):"
"MOVE TEST MOVE X(5) TO XBXX".
MOVE WS-ALPHANUM-5 TO WS-AS-5.
DISPLAY "AS01:(" WS-AS-5 "):(AB/CDE):"
"MOVE TEST MOVE X(5) TO XX/XXX".
MOVE WS-ALPHANUM-5 TO WS-AS-3.
DISPLAY "AS02:(" WS-AS-3 "):(A/BC):"
"MOVE TEST MOVE X(5) TO X/XX".
A000-EXIT.
EXIT.
+132
View File
@@ -0,0 +1,132 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1_FORMATS.
AUTHOR. GLEN COLBERT.
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-ALPHA-FIELDS.
05 WS-ALPHA-6 PIC A(06).
05 WS-ALPHA-5 PIC A(05).
05 WS-ALPHA-2 PIC A(02).
01 WS-ALPHANUM-FIELDS.
05 WS-ALPHANUM-2 PIC X(02).
05 WS-ALPHANUM-4 PIC X(04).
05 WS-ALPHANUM-6 PIC X(06).
05 WS-AB-5 PIC XXBXXX.
05 WS-AB-3 PIC XBXX.
05 WS-AS-5 PIC XX/XXX.
05 WS-AS-3 PIC X/XX.
01 WS-NUMERIC-FIELDS.
05 WS-DISPLAY-NUM-1 PIC 9.
05 WS-DISPLAY-NUM-4 PIC 9(4).
05 WS-DISPLAY-NUM-V5 PIC 9(3)V99.
05 WS-DISPLAY-NUM-R5 REDEFINES WS-DISPLAY-NUM-V5 PIC X(5).
01 WS-NUMERIC-EDITED-FIELDS.
05 WS-NE-1 PIC 99.99.
05 WS-NE-2 PIC 9,999.
05 WS-NE-3 PIC 9,999.99.
05 WS-NE-4 PIC $$$9.
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST02b FORMATS program entry."
PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT.
STOP RUN.
A000-ALPHANUMERIC-TESTS.
MOVE "23" TO WS-ALPHANUM-2.
MOVE "1984" TO WS-ALPHANUM-4.
MOVE "1965" TO WS-ALPHANUM-6.
AA01-TEST.
MOVE WS-ALPHANUM-4 TO WS-DISPLAY-NUM-4.
DISPLAY "AA01:(" WS-DISPLAY-NUM-4 "):(1984):"
"ALPHANUMERIC MOVE TEST MOVE X(4) TO 9(4)".
MOVE WS-ALPHANUM-4 TO WS-NE-1.
DISPLAY "AA02:(" WS-NE-1 "):(84.00):"
"ALPHANUMERIC MOVE TEST MOVE X(4) TO 99.99".
MOVE WS-ALPHANUM-4 TO WS-NE-2.
DISPLAY "AA03:(" WS-NE-2 "):(1,984):"
"ALPHANUMERIC MOVE TEST MOVE X(4) TO 9,999".
MOVE WS-ALPHANUM-4 TO WS-NE-3.
DISPLAY "AA04:(" WS-NE-3 "):(1,984.00):"
"ALPHANUMERIC MOVE TEST MOVE X(4) TO 9,999.99".
MOVE WS-ALPHANUM-4 TO WS-NE-4.
DISPLAY "AA05:(" WS-NE-4 "):($984):"
"ALPHANUMERIC MOVE TEST MOVE X(4) TO $$$9".
MOVE WS-ALPHANUM-4 TO WS-DISPLAY-NUM-V5.
DISPLAY "AA06:(" WS-DISPLAY-NUM-R5 "):(98400):"
"ALPHANUMERIC MOVE TEST MOVE X(4) TO 9(3)V99".
MOVE WS-ALPHANUM-2 TO WS-DISPLAY-NUM-4.
DISPLAY "AA10:(" WS-DISPLAY-NUM-4 "):(0023):"
"ALPHANUMERIC MOVE TEST MOVE X(2) TO 9(4)".
MOVE WS-ALPHANUM-2 TO WS-NE-1.
DISPLAY "AA11:(" WS-NE-1 "):(23.00):"
"ALPHANUMERIC MOVE TEST MOVE X(2) TO 99.99".
MOVE WS-ALPHANUM-2 TO WS-NE-2.
DISPLAY "AA12:(" WS-NE-2 "):(0,023):"
"ALPHANUMERIC MOVE TEST MOVE X(2) TO 9,999".
MOVE WS-ALPHANUM-2 TO WS-NE-3.
DISPLAY "AA13:(" WS-NE-3 "):(0,023.00):"
"ALPHANUMERIC MOVE TEST MOVE X(2) TO 9,999.99".
MOVE WS-ALPHANUM-2 TO WS-NE-4.
DISPLAY "AA14:(" WS-NE-4 "):( $23):"
"ALPHANUMERIC MOVE TEST MOVE X(2) TO $$$9".
MOVE WS-ALPHANUM-2 TO WS-DISPLAY-NUM-V5.
DISPLAY "AA15:(" WS-DISPLAY-NUM-R5 "):(02300):"
"ALPHANUMERIC MOVE TEST MOVE X(2) TO 9(3)V99".
MOVE WS-ALPHANUM-6 TO WS-DISPLAY-NUM-4.
DISPLAY "AA01:(" WS-DISPLAY-NUM-4 "):(1965):"
"ALPHANUMERIC MOVE TEST MOVE X(6) TO 9(4)".
MOVE WS-ALPHANUM-6 TO WS-NE-1.
DISPLAY "AA02:(" WS-NE-1 "):(65.00):"
"ALPHANUMERIC MOVE TEST MOVE X(6) TO 99.99".
MOVE WS-ALPHANUM-6 TO WS-NE-2.
DISPLAY "AA03:(" WS-NE-2 "):(1,965):"
"ALPHANUMERIC MOVE TEST MOVE X(6) TO 9,999".
MOVE WS-ALPHANUM-6 TO WS-NE-3.
DISPLAY "AA04:(" WS-NE-3 "):(1,965.00):"
"ALPHANUMERIC MOVE TEST MOVE X(6) TO 9,999.99".
MOVE WS-ALPHANUM-6 TO WS-NE-4.
DISPLAY "AA05:(" WS-NE-4 "):($965):"
"ALPHANUMERIC MOVE TEST MOVE X(6) TO $$$9".
MOVE WS-ALPHANUM-6 TO WS-DISPLAY-NUM-V5.
DISPLAY "AA06:(" WS-DISPLAY-NUM-R5 "):(96500):"
"ALPHANUMERIC MOVE TEST MOVE X(6) TO 9(3)V99".
MOVE WS-ALPHANUM-2 TO WS-AB-5.
DISPLAY "AB01:(" WS-AB-5 "):(23 ):"
"ALPHANUMERIC MOVE TEST MOVE X(2) TO XXBXXX".
A000-EXIT.
EXIT.
+118
View File
@@ -0,0 +1,118 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST3_FORMATS.
AUTHOR. GLEN COLBERT.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-ALPHANUM-FIELDS.
05 WS-ALPHANUM-1 PIC X(01).
05 WS-ALPHANUM-2 PIC X(02).
05 WS-ALPHANUM-3 PIC X(03).
05 WS-ALPHANUM-4 PIC X(04).
05 WS-ALPHANUM-5 PIC X(05).
05 WS-ALPHANUM-6 PIC X(06).
05 WS-ALPHANUM-7 PIC X(07).
05 WS-AB-5 PIC XXBXXX.
05 WS-AB-3 PIC XBXX.
01 WS-NUMERIC-FIELDS.
05 WS-DISPLAY-NUM-1 PIC 9.
05 WS-DISPLAY-NUM-2 PIC 9(2).
05 WS-DISPLAY-NUM-3 PIC 9(3).
05 WS-DISPLAY-NUM-4 PIC 9(4).
05 WS-DISPLAY-NUM-5 PIC 9(5).
05 WS-DISPLAY-NUM-6 PIC 9(6).
05 WS-DISPLAY-NUM-7 PIC 9(7).
05 WS-DISPLAY-NUM-V5 PIC 9(3)V99.
05 WS-DISPLAY-NUM-R5 REDEFINES WS-DISPLAY-NUM-V5
PIC X(5).
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST02 FORMATS program entry."
PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT.
STOP RUN.
A000-ALPHANUMERIC-TESTS.
AN01-TEST.
MOVE 9 TO WS-DISPLAY-NUM-1.
MOVE 89 TO WS-DISPLAY-NUM-2.
MOVE 789 TO WS-DISPLAY-NUM-3.
MOVE 6789 TO WS-DISPLAY-NUM-4.
MOVE 56789 TO WS-DISPLAY-NUM-5.
MOVE 456789 TO WS-DISPLAY-NUM-6.
MOVE 3456789 TO WS-DISPLAY-NUM-7.
MOVE WS-DISPLAY-NUM-1 TO WS-ALPHANUM-6.
DISPLAY "AN01:(" WS-ALPHANUM-6 "):(9 ):"
"LEFT ALIGNMENT MOVE TEST MOVE 9(1) TO X(6)".
MOVE WS-DISPLAY-NUM-4 TO WS-ALPHANUM-6.
DISPLAY "AN02:(" WS-ALPHANUM-6 "):(6789 ):"
"LEFT ALIGNMENT MOVE TEST MOVE 9(4) TO X(6)".
MOVE WS-DISPLAY-NUM-6 TO WS-ALPHANUM-6.
DISPLAY "AN03:(" WS-ALPHANUM-6 "):(456789):"
"LEFT ALIGNMENT MOVE TEST MOVE 9(6) TO X(6)".
MOVE WS-DISPLAY-NUM-7 TO WS-ALPHANUM-6.
DISPLAY "AN04:(" WS-ALPHANUM-6 "):(345678):"
"LEFT ALIGNMENT MOVE TEST MOVE 9(7) TO X(6)".
MOVE WS-DISPLAY-NUM-5 TO WS-DISPLAY-NUM-7
DISPLAY "AN05:(" WS-DISPLAY-NUM-7 "):(0056789):"
"RIGHT ALIGNMENT MOVE TEST MOVE 9(5) TO 9(7)".
MOVE WS-DISPLAY-NUM-5 TO WS-DISPLAY-NUM-2
DISPLAY "AN06:(" WS-DISPLAY-NUM-2 "):(89):"
"RIGHT ALIGNMENT MOVE TEST MOVE 9(5) TO 9(2)".
MOVE WS-DISPLAY-NUM-5 TO WS-DISPLAY-NUM-1
DISPLAY "AN07:(" WS-DISPLAY-NUM-1 "):(9):"
"RIGHT ALIGNMENT MOVE TEST MOVE 9(5) TO 9(1)".
MOVE WS-DISPLAY-NUM-5 TO WS-DISPLAY-NUM-V5
DISPLAY "AN08:(" WS-DISPLAY-NUM-R5 "):(78900):"
"RIGHT ALIGNMENT MOVE TEST MOVE 9(5) TO 9(3)V99".
MOVE 12345 TO WS-DISPLAY-NUM-5.
MOVE WS-DISPLAY-NUM-5 TO WS-ALPHANUM-2.
DISPLAY "AN22:(" WS-ALPHANUM-2 "):(12):"
"MOVE TEST MOVE 9(5) TO X(2)".
MOVE 12345 TO WS-DISPLAY-NUM-5.
MOVE WS-DISPLAY-NUM-5 TO WS-ALPHANUM-6.
DISPLAY "AN23:(" WS-ALPHANUM-6 "):(12345 ):"
"MOVE TEST MOVE 9(5) TO X(6)".
MOVE 0 TO WS-DISPLAY-NUM-4.
DISPLAY "AC01:(" WS-DISPLAY-NUM-4 "):(0000):"
"CONSTANT MOVE TEST MOVE 0 TO 9(4)".
MOVE ".02" TO WS-DISPLAY-NUM-4.
DISPLAY "AC02:(" WS-DISPLAY-NUM-4 "):(0000):"
"CONSTANT MOVE TEST MOVE .02 TO 9(4)".
MOVE 2 TO WS-DISPLAY-NUM-4.
DISPLAY "AC03:(" WS-DISPLAY-NUM-4 "):(0002):"
"CONSTANT MOVE TEST MOVE 2 TO 9(4)".
MOVE "1234.5" TO WS-DISPLAY-NUM-4.
DISPLAY "AC04:(" WS-DISPLAY-NUM-4 "):(1234):"
"CONSTANT MOVE TEST MOVE 1234.5 TO 9(4)".
MOVE "-123.4" TO WS-DISPLAY-NUM-4.
DISPLAY "AC05:(" WS-DISPLAY-NUM-4 "):(0123):"
"CONSTANT MOVE TEST MOVE -123.4 TO 9(4)".
A000-EXIT.
EXIT.
+114
View File
@@ -0,0 +1,114 @@
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-AB-5 PIC XXBXXX.
05 WS-AB-3 PIC XBXX.
05 WS-AS-5 PIC XX/XXX.
05 WS-AS-3 PIC X/XX.
01 WS-NUMERIC-FIELDS.
05 WS-DISPLAY-NUM-1 PIC 9.
05 WS-DISPLAY-NUM-2 PIC 9(2).
05 WS-DISPLAY-NUM-3 PIC 9(3).
05 WS-DISPLAY-NUM-4 PIC 9(4).
05 WS-DISPLAY-NUM-5 PIC 9(5).
05 WS-DISPLAY-NUM-6 PIC 9(6).
05 WS-DISPLAY-NUM-7 PIC 9(7).
05 WS-DISPLAY-NUM-V5 PIC 9(3)V99.
05 WS-DISPLAY-NUM-R5 REDEFINES WS-DISPLAY-NUM-V5
PIC X(5).
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 9 TO WS-DISPLAY-NUM-1.
MOVE 89 TO WS-DISPLAY-NUM-2.
MOVE 789 TO WS-DISPLAY-NUM-3.
MOVE 6789 TO WS-DISPLAY-NUM-4.
MOVE 56789 TO WS-DISPLAY-NUM-5.
MOVE 456789 TO WS-DISPLAY-NUM-6.
MOVE 3456789 TO WS-DISPLAY-NUM-7.
MOVE WS-DISPLAY-NUM-1 TO WS-AB-5.
DISPLAY "AE01:(" WS-AB-5 "):(9 ):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(1) TO XXBXXX".
MOVE WS-DISPLAY-NUM-3 TO WS-AB-5.
DISPLAY "AE02:(" WS-AB-5 "):(78 9 ):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(3) TO XXBXXX".
MOVE WS-DISPLAY-NUM-5 TO WS-AB-5.
DISPLAY "AE03:(" WS-AB-5 "):(56 789):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(5) TO XXBXXX".
MOVE WS-DISPLAY-NUM-7 TO WS-AB-5.
DISPLAY "AE04:(" WS-AB-5 "):(34 567):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(7) TO XXBXXX".
MOVE WS-DISPLAY-NUM-1 TO WS-AB-3.
DISPLAY "AE05:(" WS-AB-3 "):(9 ):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(1) TO XBXX".
MOVE WS-DISPLAY-NUM-3 TO WS-AB-3.
DISPLAY "AE06:(" WS-AB-3 "):(7 89):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(3) TO XBXX".
MOVE WS-DISPLAY-NUM-5 TO WS-AB-3.
DISPLAY "AE07:(" WS-AB-3 "):(5 67):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(5) TO XBXX".
MOVE WS-DISPLAY-NUM-7 TO WS-AB-3.
DISPLAY "AE08:(" WS-AB-3 "):(3 45):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(7) TO XBXX".
MOVE WS-DISPLAY-NUM-1 TO WS-AS-5.
DISPLAY "AS01:(" WS-AS-5 "):(9 / ):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(1) TO XX/XXX".
MOVE WS-DISPLAY-NUM-3 TO WS-AS-5.
DISPLAY "AS02:(" WS-AS-5 "):(78/9 ):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(3) TO XX/XXX".
MOVE WS-DISPLAY-NUM-5 TO WS-AS-5.
DISPLAY "AS03:(" WS-AS-5 "):(56/789):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(5) TO XX/XXX".
MOVE WS-DISPLAY-NUM-7 TO WS-AS-5.
DISPLAY "AS04:(" WS-AS-5 "):(34/567):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(7) TO XX/XXX".
MOVE WS-DISPLAY-NUM-1 TO WS-AS-3.
DISPLAY "AS05:(" WS-AS-3 "):(9/ ):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(1) TO X/XX".
MOVE WS-DISPLAY-NUM-3 TO WS-AS-3.
DISPLAY "AS06:(" WS-AS-3 "):(7/89):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(3) TO X/XX".
MOVE WS-DISPLAY-NUM-5 TO WS-AS-3.
DISPLAY "AS07:(" WS-AS-3 "):(5/67):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(5) TO X/XX".
MOVE WS-DISPLAY-NUM-7 TO WS-AS-3.
DISPLAY "AS08:(" WS-AS-3 "):(3/45):"
"ALIGNMENT/BLANKS MOVE TEST MOVE 9(5) TO X/XX".
A000-EXIT.
EXIT.
+395
View File
@@ -0,0 +1,395 @@
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.
+136
View File
@@ -0,0 +1,136 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST03D.
AUTHOR. GLEN COLBERT.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
CURRENCY SIGN IS "£".
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-EDITED-FIELDS.
05 WS-FI-5 PIC ££99.
05 WS-FI-6 PIC £££££.
05 WS-FI-7 PIC ££££.99.
05 WS-FI-8 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.
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 ££,£££.££".
A000-EXIT.
EXIT.
+172
View File
@@ -0,0 +1,172 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST4_FORMATS.
AUTHOR. GLEN COLBERT.
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-EDITED-FIELDS.
05 WS-FX-0 PIC 99B99.
05 WS-FX-1 PIC 9,999.
05 WS-FX-2 PIC 9B9/900.
05 WS-FX-3 PIC $99CR.
05 WS-FX-4 PIC $999DB.
05 WS-FX-5 PIC 009B9/9.
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.
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)".
FX00-INSERT-ZZ99.
MOVE WS-DISPLAY-NUM-0 TO WS-FX-0.
DISPLAY "FX01:(" WS-FX-0 "):(00 00):"
"FLOAT-INSERT MOVE 0 TO 99B99".
MOVE WS-DISPLAY-NUM-V2 TO WS-FX-0.
DISPLAY "FX02:(" WS-FX-0 "):(00 00):"
"FLOAT-INSERT MOVE .02 TO 99B99".
MOVE WS-DISPLAY-NUM-2 TO WS-FX-0.
DISPLAY "FX03:(" WS-FX-0 "):(00 02):"
"FLOAT-INSERT MOVE 2 TO 99B99".
MOVE WS-DISPLAY-NUM-4V1 TO WS-FX-0.
DISPLAY "FX04:(" WS-FX-0 "):(12 34):"
"FLOAT-INSERT MOVE 1234.5 TO 99B99".
MOVE WS-DISPLAY-NUM-NV1 TO WS-FX-0.
DISPLAY "FX05:(" WS-FX-0 "):(01 23):"
"FLOAT-INSERT MOVE -123.4 TO 99B99".
FX10-INSERT-9C99.
MOVE WS-DISPLAY-NUM-0 TO WS-FX-1.
DISPLAY "FX11:(" WS-FX-1 "):(0,000):"
"FLOAT-INSERT MOVE 0 TO 9,999".
MOVE WS-DISPLAY-NUM-V2 TO WS-FX-1.
DISPLAY "FX12:(" WS-FX-1 "):(0,000):"
"FLOAT-INSERT MOVE .02 TO 9,999".
MOVE WS-DISPLAY-NUM-2 TO WS-FX-1.
DISPLAY "FX13:(" WS-FX-1 "):(0,002):"
"FLOAT-INSERT MOVE 2 TO 9,999".
MOVE WS-DISPLAY-NUM-4V1 TO WS-FX-1.
DISPLAY "FX14:(" WS-FX-1 "):(1,234):"
"FLOAT-INSERT MOVE 1234.5 TO 9,999".
MOVE WS-DISPLAY-NUM-NV1 TO WS-FX-1.
DISPLAY "FX15:(" WS-FX-1 "):(0,123):"
"FLOAT-INSERT MOVE -123.4 TO 9,999".
FX20-INSERT-9C99.
MOVE WS-DISPLAY-NUM-0 TO WS-FX-2.
DISPLAY "FX21:(" WS-FX-2 "):(0 0/000):"
"FLOAT-INSERT MOVE 0 TO 9B9/900".
MOVE WS-DISPLAY-NUM-V2 TO WS-FX-2.
DISPLAY "FX22:(" WS-FX-2 "):(0 0/000):"
"FLOAT-INSERT MOVE .02 TO 9B9/900".
MOVE WS-DISPLAY-NUM-2 TO WS-FX-2.
DISPLAY "FX23:(" WS-FX-2 "):(0 0/200):"
"FLOAT-INSERT MOVE 2 TO 9B9/900".
MOVE WS-DISPLAY-NUM-4V1 TO WS-FX-2.
DISPLAY "FX24:(" WS-FX-2 "):(2 3/400):"
"FLOAT-INSERT MOVE 1234.5 TO 9B9/900".
MOVE WS-DISPLAY-NUM-NV1 TO WS-FX-2.
DISPLAY "FX25:(" WS-FX-2 "):(1 2/300):"
"FLOAT-INSERT MOVE -123.4 TO 9B9/900".
MOVE WS-DISPLAY-NUM-NV1 TO WS-FX-5.
DISPLAY "FX26:(" WS-FX-5 "):(001 2/3):"
"FLOAT-INSERT MOVE -123.4 TO 009B9/9".
FX30-CREDIT-INSERTION.
MOVE WS-DISPLAY-NUM-2 TO WS-FX-3.
DISPLAY "FX31:(" WS-FX-3 "):($02 ):"
"CREDIT-INSERT MOVE 2 TO $99CR".
MOVE WS-DISPLAY-NUM-NV1 TO WS-FX-3.
DISPLAY "FX32:(" WS-FX-3 "):($23CR):"
"CREDIT-INSERT MOVE -123.4 TO $99CR".
MOVE WS-DISPLAY-NUM-V2 TO WS-FX-3.
DISPLAY "FX33:(" WS-FX-3 "):($00 ):"
"CREDIT-INSERT MOVE .02 TO $99CR".
MOVE WS-DISPLAY-NUM-0 TO WS-FX-3.
DISPLAY "FX34:(" WS-FX-3 "):($00 ):"
"CREDIT-INSERT MOVE ZERO TO $99CR".
FX40-DEBIT-INSERTION.
MOVE WS-DISPLAY-NUM-2 TO WS-FX-4.
DISPLAY "FX41:(" WS-FX-4 "):($002 ):"
"DEBIT-INSERT MOVE 2 TO $999DB".
MOVE WS-DISPLAY-NUM-NV1 TO WS-FX-4.
DISPLAY "FX42:(" WS-FX-4 "):($123DB):"
"DEBIT-INSERT MOVE -123.4 TO $999DB".
MOVE WS-DISPLAY-NUM-V2 TO WS-FX-4.
DISPLAY "FX43:(" WS-FX-4 "):($000 ):"
"DEBIT-INSERT MOVE .02 TO $999DB".
MOVE WS-DISPLAY-NUM-0 TO WS-FX-4.
DISPLAY "FX44:(" WS-FX-4 "):($000 ):"
"DEBIT-INSERT MOVE ZERO TO $999DB".
A000-EXIT.
EXIT.
+106
View File
@@ -0,0 +1,106 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST5_FORMATS.
AUTHOR. GLEN COLBERT.
*REMARKS. Move figurative constants
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-NUMERIC-FIELDS.
05 WS-DISPLAY-NUM-0 PIC 9999.
01 WS-ALPHANUMERIC-FIELDS.
05 WS-PICX-4 PIC XXXX.
05 WS-PICCOMP REDEFINES WS-PICX-4
PIC 9(4) COMP.
05 WS-PICX-7 PIC X(7).
01 WS-DISPLAY-1 PIC 9(8).
01 WS-DUMP PIC X(8).
01 WS-DUMP-COUNT PIC 9(04).
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST05 Figurative Constants program entry."
PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT.
STOP RUN.
A000-ALPHANUMERIC-TESTS.
FC00-MOVE-SPACES.
* Make sure that there is non-expected data in fields.
MOVE "1234" TO WS-PICX-4.
MOVE "1234567" TO WS-PICX-7.
MOVE SPACES TO WS-PICX-4.
DISPLAY "FC01:(" WS-PICX-4 "):( ):"
"FIGURATIVE SPACES TO XXXX".
MOVE ALL "A" TO WS-PICX-4.
DISPLAY "FC02:(" WS-PICX-4 "):(AAAA):"
"FIGURATIVE ALL A TO XXXX".
MOVE ALL "AB" TO WS-PICX-4.
DISPLAY "FC03:(" WS-PICX-4 "):(ABAB):"
"FIGURATIVE ALL AB TO XXXX".
MOVE ALL "AB" TO WS-PICX-7.
DISPLAY "FC04:(" WS-PICX-7 "):(ABABABA):"
"FIGURATIVE ALL AB TO X(7)".
MOVE ALL ZEROES TO WS-PICX-7.
DISPLAY "FC05:(" WS-PICX-7 "):(0000000):"
"FIGURATIVE ALL ZEROES TO X(7)".
MOVE 4 to WS-DUMP-COUNT.
MOVE LOW-VALUES TO WS-PICX-4.
CALL "_DUMP_" USING
WS-ALPHANUMERIC-FIELDS
WS-DUMP-COUNT
WS-DUMP.
DISPLAY "FC06:(" WS-DUMP "):(00000000):"
"FIGURATIVE LOW-VALUES TO XXXX".
MOVE HIGH-VALUES TO WS-PICX-4.
CALL "_DUMP_" USING
WS-ALPHANUMERIC-FIELDS
WS-DUMP-COUNT
WS-DUMP.
DISPLAY "FC07:(" WS-DUMP "):(FFFFFFFF):"
"FIGURATIVE HIGH-VALUES TO XXXX".
MOVE ZERO TO WS-DISPLAY-1.
DISPLAY "FC08:(" WS-DISPLAY-1 "):(00000000):"
"MOVE FIGURATIVE ZERO TO 9(8)".
MOVE HIGH-VALUES TO WS-DISPLAY-1.
DISPLAY "FC09:(" WS-DISPLAY-1 "):(99999999):"
"MOVE FIGURATIVE HIGH-VALUES TO 9(8)".
MOVE LOW-VALUES TO WS-DISPLAY-1.
DISPLAY "FC10:(" WS-DISPLAY-1 "):(00000000):"
"MOVE FIGURATIVE LOW-VALUES TO 9(8)".
MOVE ALL LOW-VALUES TO WS-PICX-4.
CALL "_DUMP_" USING
WS-ALPHANUMERIC-FIELDS
WS-DUMP-COUNT
WS-DUMP.
DISPLAY "FC11:(" WS-DUMP "):(00000000):"
"FIGURATIVE ALL LOW-VALUES TO XXXX".
MOVE ALL HIGH-VALUES TO WS-PICX-4.
CALL "_DUMP_" USING
WS-ALPHANUMERIC-FIELDS
WS-DUMP-COUNT
WS-DUMP.
DISPLAY "FC12:(" WS-DUMP "):(FFFFFFFF):"
"FIGURATIVE ALL HIGH-VALUES TO XXXX".
A000-EXIT.
EXIT.
+191
View File
@@ -0,0 +1,191 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST05B.
AUTHOR. Bernard GIROUD.
*REMARKS. Value and Initialize statement
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS01 PIC X(3) VALUE "USD".
01 WS02 PIC 9(4) VALUE 321.
01 WS03 PIC S9(3) COMP-3 VALUE 635.
01 WS04 PIC S9(4) COMP VALUE -1.
*
01 WGTUVN01.
05 WGTUVN01-F1 PIC X(3) VALUE "EUR".
05 WGTUVN01-F2 PIC X(3) VALUE "GBP".
01 WGTUVN02.
05 WGTUVN02-F1 PIC 9(3) VALUE 123.
05 WGTUVN02-F2 PIC 9(3) VALUE 456.
01 WGTUVN03.
05 WGTUVN03-F1 PIC S9(3) COMP-3 VALUE 123.
05 WGTUVN03-F2 PIC S9(3) COMP-3 VALUE 456.
01 WGTUVN04.
05 WGTUVN04-F1 PIC S9(4) COMP VALUE 123.
05 WGTUVN04-F2 PIC S9(4) COMP VALUE 456.
*
01 WGTUVUX.
05 WGTUVUX-F1 PIC X(3) VALUE "TTT".
05 WGTUVUX-F2 PIC X(3) VALUE "TTT".
01 WGTUVU9.
05 WGTUVU9-F1 PIC 9(3) VALUE 0.
05 WGTUVU9-F2 PIC 9(3) VALUE 0.
01 WGTUVUC.
05 WGTUVUC-F1 PIC S9(3) COMP-3 VALUE 0.
05 WGTUVUC-F2 PIC S9(3) COMP-3 VALUE 0.
01 WGTUVUB.
05 WGTUVUB-F1 PIC S9(4) COMP VALUE 0.
05 WGTUVUB-F2 PIC S9(4) COMP VALUE 0.
*
01 WGTUVSX.
05 WGTUVSX-F1 PIC X(3) VALUE SPACE.
05 WGTUVSX-F2 PIC X(3) VALUE SPACE.
01 WGTUVS9.
05 WGTUVS9-F1 PIC 9(3) VALUE ZERO.
05 WGTUVS9-F2 PIC 9(3) VALUE ZERO.
01 WGTUVSC.
05 WGTUVSC-F1 PIC S9(3) COMP-3 VALUE ZERO.
05 WGTUVSC-F2 PIC S9(3) COMP-3 VALUE ZERO.
01 WGTUVSB.
05 WGTUVSB-F1 PIC S9(4) COMP VALUE ZERO.
05 WGTUVSB-F2 PIC S9(4) COMP VALUE ZERO.
*
01 WGTUVSOX.
05 WGTUVSOX-G1 OCCURS 3.
10 WGTUVSOX-F1 PIC X(3) VALUE SPACE.
01 WGTUVSO9.
05 WGTUVSO9-G1 OCCURS 3.
10 WGTUVSO9-F1 PIC 9(3) VALUE ZERO.
01 WGTUVSOC.
05 WGTUVSOC-G1 OCCURS 3.
10 WGTUVSOC-F1 PIC S9(3) COMP-3 VALUE ZERO.
01 WGTUVSOB.
05 WGTUVSOB-G1 OCCURS 3.
10 WGTUVSOB-F1 PIC S9(4) COMP VALUE ZERO.
01 WS-COMPLEX-GROUP.
05 WS-01-X2 PIC X(2).
05 WS-02-95 PIC 9(5).
05 WS-03-G.
10 WS-04-B4 PIC S9(4) COMP.
10 WS-05-X3 PIC X(3).
05 WS-06-C2 PIC S9(3) COMP-3.
01 WS-DUMP PIC X(32).
01 WS-DUMP2 REDEFINES WS-DUMP PIC X(2).
01 WS-DUMP4 REDEFINES WS-DUMP PIC X(4).
01 WS-DUMP8 REDEFINES WS-DUMP PIC X(8).
01 WS-DUMP12 REDEFINES WS-DUMP PIC X(12).
01 WS-DUMP28 REDEFINES WS-DUMP PIC X(28).
01 WS-DUMP-COUNT PIC 9(04).
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST05B Value and Initialize statement."
PERFORM A000-VALUE-TESTS THRU A000-EXIT.
PERFORM B000-INITIALIZE-TESTS THRU B000-EXIT.
STOP RUN.
A000-VALUE-TESTS.
DISPLAY "VA01:(" WS01 "):(USD):"
"Value Elementary X(3) Field".
DISPLAY "VA02:(" WS02 "):(0321):"
"Value Elementary 9(4) Field".
MOVE 2 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WS03 WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA03:(" WS-DUMP4 "):(635C):"
"Value Elementary C3 Field".
CALL "_DUMP_" USING WS04 WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA04:(" WS-DUMP4 "):(FFFF):"
"Value Elementary B4 Field".
DISPLAY "VA05:(" WGTUVN01 "):(EURGBP):"
"Value Group TUVN 2*X(3)".
DISPLAY "VA06:(" WGTUVN02 "):(123456):"
"Value Group TUVN 2*9(3)".
MOVE 4 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WGTUVN03 WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA07:(" WS-DUMP8 "):(123C456C):"
"Value Group TUVN 2*C(3)".
MOVE 4 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WGTUVN04 WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA08:(" WS-DUMP8 "):(7B00C801):"
"Value Group TUVN 2*B(4)".
DISPLAY "VA3X:(" WGTUVUX "):(TTTTTT):"
"Value Group TUVU 2*X(3)".
DISPLAY "VA39:(" WGTUVU9 "):(000000):"
"Value Group TUVU 2*9(3)".
MOVE 4 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WGTUVUC WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA3C:(" WS-DUMP8 "):(000C000C):"
"Value Group TUVU 2*C(3)".
MOVE 4 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WGTUVUB WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA3B:(" WS-DUMP8 "):(00000000):"
"Value Group TUVU 2*B(4)".
DISPLAY "VA4X:(" WGTUVSX "):( ):"
"Value Group TUVS 2*X(3)".
DISPLAY "VA49:(" WGTUVS9 "):(000000):"
"Value Group TUVS 2*9(3)".
MOVE 4 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WGTUVSC WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA4C:(" WS-DUMP8 "):(000C000C):"
"Value Group TUVS 2*C(3)".
MOVE 4 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WGTUVSB WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA4B:(" WS-DUMP8 "):(00000000):"
"Value Group TUVS 2*B(4)".
DISPLAY "VA5X:(" WGTUVSOX "):( ):"
"Value Group TUVSO 3*X(3)".
DISPLAY "VA59:(" WGTUVSO9 "):(000000000):"
"Value Group TUVSO 3*9(3)".
MOVE 6 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WGTUVSOC WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA5C:(" WS-DUMP12 "):(000C000C000C):"
"Value Group TUVSO 2*C(3)".
MOVE 6 TO WS-DUMP-COUNT.
CALL "_DUMP_" USING WGTUVSOB WS-DUMP-COUNT WS-DUMP.
DISPLAY "VA5B:(" WS-DUMP12 "):(000000000000):"
"Value Group TUVSO 2*B(4)".
A000-EXIT.
EXIT.
B000-INITIALIZE-TESTS.
* Make sure that there is expected data in fields.
MOVE ALL "*" TO WS-COMPLEX-GROUP.
INITIALIZE WS-01-X2.
DISPLAY "IN01:(" WS-01-X2 "):( ):"
"INITIALIZE Elementary XX Field".
INITIALIZE WS-02-95.
DISPLAY "IN02:(" WS-02-95 "):(00000):"
"INITIALIZE Elementary 9(5) Field".
INITIALIZE WS-04-B4.
MOVE 2 to WS-DUMP-COUNT.
CALL "_DUMP_" USING WS-04-B4 WS-DUMP-COUNT WS-DUMP.
DISPLAY "IN03:(" WS-DUMP4 "):(0000):"
"INITIALIZE Elementary B(4) Field".
INITIALIZE WS-06-C2.
MOVE 2 to WS-DUMP-COUNT.
CALL "_DUMP_" USING WS-06-C2 WS-DUMP-COUNT WS-DUMP.
DISPLAY "IN04:(" WS-DUMP4 "):(000C):"
"INITIALIZE Elementary S9(3) C-3 Field".
INITIALIZE WS-COMPLEX-GROUP.
MOVE 14 to WS-DUMP-COUNT.
CALL "_DUMP_" USING WS-COMPLEX-GROUP WS-DUMP-COUNT WS-DUMP.
DISPLAY "IN05:(" WS-DUMP28 "):(202030303030300000202020000C):"
"INITIALIZE Complex Group".
B000-EXIT.
EXIT.
+65
View File
@@ -0,0 +1,65 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST02.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 IDX1 PIC 99 VALUE 1.
01 TABEL-A.
10 TAB-A OCCURS 20 TIMES PIC 9(05).
01 TABEL-AR REDEFINES TABEL-A.
10 TAB-AR1 PIC 9(5).
10 TAB-AR2 PIC 9(5).
10 TAB-AR3 PIC 9(5).
01 WX02 PIC X(5).
01 WX03 PIC X(5).
01 WE-BOOLEAN PIC X(5).
01 TABEL-B OCCURS 2 TIMES.
10 TAB-B1 PIC 9(5) value 12345.
01 TABEL-BR REDEFINES TABEL-B PIC 9(10).
PROCEDURE DIVISION.
A-000.
MOVE 12345 TO TAB-A(IDX1).
MOVE 67890 TO TAB-A(3).
MOVE TABEL-A(1:5) TO WX02.
DISPLAY "RM01:(" WX02 "):(12345):1 TO 5".
MOVE TABEL-A(2:3) TO WX02.
DISPLAY "RM02:(" WX02 "):(234 ):2 TO 3".
MOVE TABEL-A TO WX02.
DISPLAY "RM03:(" WX02 "):(12345):Not specified".
MOVE 3 TO IDX1.
MOVE TABEL-A(IDX1:3) TO WX02.
DISPLAY "RM04:(" WX02 "):(345 ):V 3 TO 5".
MOVE TABEL-A(2:IDX1) TO WX02.
DISPLAY "RM05:(" WX02 "):(234 ):2 TO V 3".
MOVE TAB-A OF TABEL-A(IDX1)(1:4) TO WX02.
DISPLAY "RM06:(" WX02 "):(6789 ):OV3, 1 TO 4".
IF WX02(2:2) = "78"
MOVE "TRUE" TO WE-BOOLEAN
ELSE MOVE "FALSE" TO WE-BOOLEAN.
DISPLAY "RM07:(" WE-BOOLEAN "):(TRUE ):Comparison var 2:2".
MOVE TABEL-A(1:5) TO WX03.
MOVE WX03(2:) TO WX02.
DISPLAY "RM08:(" WX02 "):(2345 ):2 LIT TO EOV".
MOVE 3 TO IDX1.
MOVE WX03(IDX1:) TO WX02.
DISPLAY "RM09:(" WX02 "):(345 ):3 VAR TO EOV".
B-000.
DISPLAY "RM10:(" TABEL-BR "):(1234512345):2 OV TO VAR".
STOP RUN.
+312
View File
@@ -0,0 +1,312 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST07A.
AUTHOR. STEPHEN CONNOLLY.
DATE-WRITTEN. 2001/04/24 .
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 QT1 PICTURE XXXX VALUE SPACE.
77 QT2 PICTURE XXXX VALUE SPACE.
77 QT3 PICTURE XXXX VALUE SPACE.
77 QT4 PICTURE XXXX VALUE SPACE.
77 QT5 PICTURE XXXX VALUE SPACE.
77 WRK-DS-01V00 PICTURE S9.
77 ONE PICTURE 9 VALUE 1.
77 TWO PICTURE S9 VALUE 2.
77 THREE PICTURE S9 VALUE 3.
77 FOUR PICTURE S9 VALUE 4.
77 FIVE PICTURE S9 VALUE 5.
77 SIX PICTURE S9 VALUE 6.
77 SEVEN PICTURE S9 VALUE 7.
77 EIGHT PICTURE 9 VALUE 8.
77 NINE PICTURE S9 VALUE 9.
77 TEN PICTURE S99 VALUE 10.
77 FIFTEEN PICTURE S99 VALUE 15.
77 TWENTY PICTURE S99 VALUE 20.
77 TWENTY-5 PICTURE S99 VALUE 25.
01 MOVE54.
02 MOVE55 PICTURE X VALUE "W".
02 MOVE56 PICTURE X VALUE "X".
02 MOVE57.
03 MOVE58 PICTURE X VALUE "Y".
03 MOVE59 PICTURE X VALUE "Z".
01 MOVE60.
02 MOVE56 PICTURE X.
02 MOVE57.
03 MOVE58 PICTURE X.
03 MOVE64.
04 MOVE65 PICTURE X VALUE "A".
01 GRP-FOR-QUAL-FROM.
02 QUAL-TEST-SUB-GRP-1.
03 QUAL-TEST-1 PICTURE X(26) VALUE
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".
03 QUAL-TEST-1-FROM REDEFINES QUAL-TEST-1 PICTURE X(26).
03 QUAL-TEST-2 PICTURE S9(10) VALUE +9999999999.
03 QUAL-TEST-2-FROM REDEFINES QUAL-TEST-2 PICTURE S9(10).
03 QUAL-TEST-3 PICTURE S999 VALUE 2.
03 QUAL-TEST-3-FROM REDEFINES QUAL-TEST-3 PICTURE S999.
02 QUAL-TEST-SUB-GRP-2.
03 QUAL-TEST-4 PICTURE X OCCURS 5 TIMES.
03 QUAL-TEST-4-FROM PICTURE X OCCURS 4 TIMES.
01 GRP-FOR-QUAL-TO.
02 DUMMY-LEVELZ.
03 QUAL-TEST-1 PICTURE X(26).
03 QUAL-TEST-1-TO REDEFINES QUAL-TEST-1 PICTURE X(26).
03 QUAL-TEST-2 PICTURE S9(10).
03 QUAL-TEST-2-TO REDEFINES QUAL-TEST-2 PICTURE S9(10).
03 QUAL-TEST-3 PICTURE S999.
03 QUAL-TEST-3-TO REDEFINES QUAL-TEST-3 PICTURE S999.
02 QUAL-TEST1.
03 QUAL-TEST-4 PICTURE X OCCURS 5 TIMES.
02 QUAL-TEST2.
03 QUAL-TEST-4-TO PICTURE X OCCURS 4 TIMES.
01 GRP-MOVE-CORR-1.
09 MOVE-CORR-5 PICTURE 999 VALUE 555.
09 MOVE-CORR-3 PICTURE 999 VALUE 333.
09 MOVE-CORR-2 PICTURE 999 VALUE 222.
09 MOVE-CORR-1 PICTURE 999 VALUE 111.
09 FILLER PICTURE XXX VALUE ZEROS.
09 MOVE-CORR-4 PICTURE XXX VALUE "XYZ".
09 MOVE-CORR-6 PICTURE XXX VALUE ALL "6".
09 MOVE-CORR-7 PICTURE 999 VALUE 777.
01 GRP-MOVE-CORR-R.
05 FILLER PICTURE XXX.
05 MOVE-CORR-1 PICTURE XXX.
05 MOVE-CORR-2 PICTURE 999.
05 MOVE-CORR-3 PICTURE ZZZ.
05 MOVE-CORR-4.
06 FILLER PICTURE 999.
06 FILLER PICTURE XXX.
01 GRP-TO-MOVE-CORR.
03 GRP-TO-MOVE-CORR-1.
05 MOVE-CORR-G1.
06 MOVE-CORR-G2.
09 MOVE-CORR-E1 PICTURE 999 VALUE 111.
09 MOVE-CORR-E2 PICTURE 999 VALUE 222.
09 FILLER PICTURE 999 VALUE 333.
06 MOVE-CORR-G3.
07 MOVE-CORR-E3 PICTURE XXX VALUE "123".
07 MOVE-CORR-G4.
08 MOVE-CORR-G5.
09 MOVE-CORR-E4 PICTURE XXX VALUE "ABC".
09 MOVE-CORR-E5 PICTURE 99 VALUE 45.
01 GRP-TO-MOVE-CORR-TO.
02 MOVE-CORR-G1.
04 MOVE-CORR-G2.
05 MOVE-CORR-E1 PICTURE XXX.
05 MOVE-CORR-E2 PICTURE 999 OCCURS 2.
05 FILLER PICTURE 999.
04 MOVE-CORR-G3.
06 MOVE-CORR-E3 PICTURE 999.
06 MOVE-CORR-G4.
07 MOVE-CORR-G5 PICTURE X(5).
01 CORR-DATA-1.
03 XYZ-1 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-2 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-3 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-4 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-5 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-6 PICTURE IS 99 VALUE IS ZERO.
01 CORR-DATA-2.
03 XYZ-1 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-2 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-3 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-4 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-5 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-6 PICTURE IS 99 VALUE IS ZERO.
01 CORR-DATA-3.
03 XYZ-4 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-3 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-6 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-5 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-2 PICTURE IS 99 VALUE IS ZERO.
03 XYZ-1 PICTURE IS 99 VALUE IS ZERO.
01 CORR-DATA-4.
03 XYZ-11 PICTURE IS 99.
03 XYZ-12 PICTURE IS 99.
03 XYZ-13 PICTURE IS 99.
03 XYZ-14 PICTURE IS 99.
03 XYZ-15 PICTURE IS 99.
03 XYZ-16 PICTURE IS 99.
01 CORR-DATA-5.
03 XYZ-1 PICTURE 99.
03 XYZ-2 PICTURE 99.
03 XYZ-13 PICTURE IS 99.
03 XYZ-14 PICTURE IS 99.
03 FILLER PICTURE IS 99.
03 XYZ-11 PICTURE IS 99.
03 XYZ-12 PICTURE IS 99.
01 CORR-DATA-6.
03 XYZ-11 PICTURE IS 99.
03 XYZ-12 PICTURE IS 99.
03 FILLER PICTURE IS 99.
03 XYZ-1 PICTURE IS 99.
03 XYZ-2 PICTURE IS 9(2).
03 FILLER PICTURE IS 99.
01 CORR-DATA-7.
02 XYZ-1 PICTURE 99V99 VALUE 10.45.
02 XYZ-6 PICTURE 999V9 VALUE 100.5.
02 XYZ-11 PICTURE 99V9 VALUE ZERO.
02 XYZ-2 PICTURE 99V9 VALUE 0.9.
PROCEDURE DIVISION.
CCVS1 SECTION.
MAIN-LOOP.
PERFORM DATA-NAME-QUAL.
PERFORM MOVE-CORR-ROUTINE.
STOP RUN.
DATA-NAME-QUAL SECTION.
MOVE "123456789" TO QUAL-TEST-SUB-GRP-2.
* MOVE ALL ZEROES TO GRP-FOR-QUAL-TO.
MOVE 2 TO WRK-DS-01V00.
MOVE QUAL-TEST-1 OF GRP-FOR-QUAL-FROM
TO QUAL-TEST-1 OF GRP-FOR-QUAL-TO.
DISPLAY "Q005:(" QUAL-TEST-1 OF GRP-FOR-QUAL-TO
"):(ABCDEFGHIJKLMNOPQRSTUVWXYZ):"
"MOVE QUAL. ITEM OF GRP TO QUAL. ITEM OF OTHER GRP.".
MOVE ZERO TO QUAL-TEST-2 OF GRP-FOR-QUAL-TO .
ADD QUAL-TEST-2 OF GRP-FOR-QUAL-FROM
TO QUAL-TEST-2 OF GRP-FOR-QUAL-TO.
DISPLAY "Q006:(" QUAL-TEST-2 OF GRP-FOR-QUAL-TO
"):( 9999999999):"
"ADD QUAL. ITEM OF GRP TO QUAL. ITEM OF OTHER GRP.".
MULTIPLY QUAL-TEST-3 OF GRP-FOR-QUAL-FROM BY WRK-DS-01V00
GIVING QUAL-TEST-3 OF GRP-FOR-QUAL-TO.
DISPLAY "Q007:(" QUAL-TEST-3 OF GRP-FOR-QUAL-TO
"):( 004):"
"MULTIPLY QUAL. ITEM OF GRP GIVING "
"QUAL. ITEM OF OTHER GRP.".
MOVE "00000" TO QUAL-TEST1 OF GRP-FOR-QUAL-TO.
MOVE QUAL-TEST-4 OF GRP-FOR-QUAL-FROM (WRK-DS-01V00)
TO QUAL-TEST-4 OF GRP-FOR-QUAL-TO (WRK-DS-01V00).
DISPLAY "Q008:(" QUAL-TEST1 OF GRP-FOR-QUAL-TO
"):(02000):"
"MOVE INDEXED QUAL. ITEM OF GRP TO INDEXED "
"QUAL. ITEM OF OTHER GRP.".
MOVE QUAL-TEST-1-FROM IN GRP-FOR-QUAL-FROM TO
QUAL-TEST-1-TO IN GRP-FOR-QUAL-TO.
DISPLAY "Q009:(" QUAL-TEST-1-TO OF GRP-FOR-QUAL-TO
"):(ABCDEFGHIJKLMNOPQRSTUVWXYZ):"
"MOVE REDEF. QUAL. ITEM OF GRP TO "
"REDEF. QUAL. ITEM OF OTHER GRP.".
MOVE 0 TO QUAL-TEST-2-TO IN GRP-FOR-QUAL-TO.
ADD QUAL-TEST-2-FROM IN GRP-FOR-QUAL-FROM TO
QUAL-TEST-2-TO IN GRP-FOR-QUAL-TO.
DISPLAY "Q010:(" QUAL-TEST-2-TO OF GRP-FOR-QUAL-TO
"):( 9999999999):"
"ADD REDEF. QUAL. ITEM OF GRP TO "
"REDEF. QUAL. ITEM OF OTHER GRP.".
MULTIPLY QUAL-TEST-3-FROM IN GRP-FOR-QUAL-FROM
BY WRK-DS-01V00
GIVING QUAL-TEST-3-TO IN GRP-FOR-QUAL-TO.
DISPLAY "Q011:(" QUAL-TEST-3-TO OF GRP-FOR-QUAL-TO
"):( 004):"
"MULTIPLY REDEF. QUAL. ITEM OF GRP GIVING "
"REDEF. QUAL. ITEM OF OTHER GRP.".
MOVE "0000" TO QUAL-TEST2 OF GRP-FOR-QUAL-TO.
MOVE QUAL-TEST-4-FROM IN GRP-FOR-QUAL-FROM (WRK-DS-01V00)
TO QUAL-TEST-4-TO IN GRP-FOR-QUAL-TO (WRK-DS-01V00).
DISPLAY "Q012:(" QUAL-TEST2 OF GRP-FOR-QUAL-TO
"):(0700):"
"MOVE REDEF. INDEXED QUAL. ITEM OF GRP TO REDEF. "
"INDEXED QUAL. ITEM OF OTHER GRP.".
DATA-EXIT.
EXIT.
MOVE-CORR-ROUTINE SECTION.
MOV-INIT-F1-1.
MOVE THREE TO XYZ-1 OF CORR-DATA-1.
MOVE FOUR TO XYZ-2 OF CORR-DATA-1.
MOVE TEN TO XYZ-3 OF CORR-DATA-1.
MOVE ZERO TO XYZ-4 OF CORR-DATA-1.
MOVE 01 TO XYZ-5 OF CORR-DATA-1.
MOVE 00 TO XYZ-6 OF CORR-DATA-1.
MOVE CORRESPONDING CORR-DATA-1 TO CORR-DATA-2.
DISPLAY "Q013:(" XYZ-2 OF CORR-DATA-2 "):(04):"
"MOVE CORR ITEM OF GRP TO ITEM OF OTHER GRP."
DISPLAY "Q014:(" XYZ-1 OF CORR-DATA-2 "):(03):"
"MOVE CORR ITEM OF GRP TO ITEM OF OTHER GRP."
DISPLAY "Q015:(" XYZ-3 OF CORR-DATA-2 "):(10):"
"MOVE CORR ITEM OF GRP TO ITEM OF OTHER GRP."
DISPLAY "Q016:(" XYZ-4 OF CORR-DATA-2 "):("
XYZ-4 OF CORR-DATA-1 "):"
"MOVE CORR ITEM OF GRP TO ITEM OF OTHER GRP."
DISPLAY "Q017:(" XYZ-5 OF CORR-DATA-2 "):(01):"
"MOVE CORR ITEM OF GRP TO ITEM OF OTHER GRP."
MOVE THREE TO XYZ-1 OF CORR-DATA-1.
MOVE FOUR TO XYZ-2 OF CORR-DATA-1.
MOVE TEN TO XYZ-3 OF CORR-DATA-1.
MOVE ZERO TO XYZ-4 OF CORR-DATA-1.
MOVE 01 TO XYZ-5 OF CORR-DATA-1.
MOVE 00 TO XYZ-6 OF CORR-DATA-1.
MOVE CORRESPONDING CORR-DATA-1 TO CORR-DATA-3.
DISPLAY "Q018:(" XYZ-1 OF CORR-DATA-3 "):(03):"
"MOVE CORR ITEM OF GRP TO ITEM OF OTHER GRP."
DISPLAY "Q019:(" XYZ-3 OF CORR-DATA-3 "):(10):"
"MOVE CORR ITEM OF GRP TO ITEM OF OTHER GRP."
MOVE ZERO TO CORR-DATA-5.
MOVE 123456789012 TO CORR-DATA-3.
MOVE CORRESPONDING CORR-DATA-3 TO CORR-DATA-5.
MOVE "PASS" TO QT1.
IF XYZ-1 OF CORR-DATA-5 NOT EQUAL TO 12
MOVE "FAIL" TO QT1
END-IF.
IF XYZ-2 OF CORR-DATA-5 NOT EQUAL TO 90
MOVE "FAIL" TO QT1
END-IF.
IF XYZ-13 OF CORR-DATA-5 NOT EQUAL TO 0
MOVE "FAIL" TO QT1
END-IF.
DISPLAY "Q020:(" QT1 "):(PASS):"
"MOVE CORR MULTIPLE ITEMS OF GRP TO OTHER GRP .".
MOVE SPACE TO GRP-MOVE-CORR-R.
MOVE CORRESPONDING GRP-MOVE-CORR-1 TO GRP-MOVE-CORR-R.
DISPLAY "Q021:(" GRP-MOVE-CORR-R "):( 111222333XYZ ):"
"MOVE CORR ITEMS OF GRP TO ITEMS OF OTHER GRP."
MOVE SPACE TO GRP-TO-MOVE-CORR-TO.
MOVE CORRESPONDING GRP-TO-MOVE-CORR-1 TO
GRP-TO-MOVE-CORR-TO.
DISPLAY "Q022:(" GRP-TO-MOVE-CORR-TO
"):(111 123ABC45):"
"MOVE CORR ITEMS OF GRP TO ITEMS OF OTHER GRP."
MOVE CORR MOVE54 TO MOVE60.
DISPLAY "Q023:(" MOVE60 "):(XYA):"
"MOVE CORR ITEMS OF GRP TO ITEMS OF OTHER GRP."
MOVE "*" TO MOVE56 OF MOVE60 MOVE58 OF MOVE60 MOVE65.
DISPLAY "Q024:(" MOVE60 "):(***):"
"MOVE TO MULTIPLE QUAL. ITEMS OF GRP." .
MOVE-EXIT.
EXIT.
+37
View File
@@ -0,0 +1,37 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST08A.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-STRING PIC X(40).
01 WS-PART1 PIC X(10).
01 WS-PART2 PIC X(10).
PROCEDURE DIVISION.
A-000.
MOVE "123.45" TO WS-STRING.
UNSTRING WS-STRING DELIMITED BY "." INTO WS-PART1 WS-PART2.
DISPLAY "US01A:(" WS-PART1 "):(123 ):DEL '.'".
DISPLAY "US01B:(" WS-PART2 "):(45 ):DEL '.'".
MOVE "123 45" TO WS-STRING.
UNSTRING WS-STRING DELIMITED BY SPACE INTO WS-PART1 WS-PART2.
DISPLAY "US02A:(" WS-PART1 "):(123 ):DEL SP".
DISPLAY "US02B:(" WS-PART2 "):(45 ):DEL SP".
MOVE "123045" TO WS-STRING.
UNSTRING WS-STRING DELIMITED BY ZERO INTO WS-PART1 WS-PART2.
DISPLAY "US03A:(" WS-PART1 "):(123 ):DEL ZR".
DISPLAY "US03B:(" WS-PART2 "):(45 ):DEL ZR".
UNSTRING WS-STRING DELIMITED BY "0" INTO WS-PART1 WS-PART2.
DISPLAY "US04A:(" WS-PART1 "):(123 ):DEL '0'".
DISPLAY "US04B:(" WS-PART2 "):(45 ):DEL '0'".
MOVE "123 45" TO WS-STRING.
UNSTRING WS-STRING DELIMITED BY " " INTO WS-PART1 WS-PART2.
DISPLAY "US05A:(" WS-PART1 "):(123 ):DEL ' '".
DISPLAY "US05B:(" WS-PART2 "):(45 ):DEL ' '".
STOP RUN.
+73
View File
@@ -0,0 +1,73 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1-FORMATS.
AUTHOR. GLEN COLBERT.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-ALPHANUM-FIELDS.
05 WS-ALPHANUM-1 PIC X(01).
05 WS-ALPHANUM-2 PIC X(02).
05 WS-ALPHANUM-3 PIC X(03).
05 WS-ALPHANUM-4 PIC X(04).
05 WS-ALPHANUM-5 PIC X(05).
05 WS-ALPHANUM-6 PIC X(06).
05 WS-ALPHANUM-36 PIC X(36).
05 WS-AB-5 PIC XXBXXX.
05 WS-AB-3 PIC XBXX.
01 WS-NUMERIC-FIELDS.
05 WS-DISPLAY-NUM-1 PIC 9.
05 WS-DISPLAY-NUM-5 PIC 9(5).
05 WS-DISPLAY-NUM-V5 PIC 9(3)V99.
PROCEDURE DIVISION.
0000-PROGRAM-ENTRY-POINT.
DISPLAY "TEST02 FORMATS program entry."
PERFORM A000-ALPHANUMERIC-TESTS THRU A000-EXIT.
STOP RUN.
A000-ALPHANUMERIC-TESTS.
AN01-TEST.
MOVE 1 TO WS-DISPLAY-NUM-1.
MOVE WS-DISPLAY-NUM-1 TO WS-ALPHANUM-6.
DISPLAY "AN01:(" WS-ALPHANUM-6 "):(1 ):"
"MOVE TEST MOVE 9(1) TO X(6)".
MOVE 12345 TO WS-DISPLAY-NUM-5.
MOVE WS-DISPLAY-NUM-5 TO WS-ALPHANUM-2.
DISPLAY "AN02:(" WS-ALPHANUM-2 "):(12):"
"MOVE TEST MOVE 9(5) TO X(2)".
MOVE 12345 TO WS-DISPLAY-NUM-5.
MOVE WS-DISPLAY-NUM-5 TO WS-ALPHANUM-6.
DISPLAY "AN03:(" WS-ALPHANUM-6 "):(12345 ):"
"MOVE TEST MOVE 9(5) TO X(6)".
MOVE 12345 TO WS-DISPLAY-NUM-5.
MOVE WS-DISPLAY-NUM-5 TO WS-AB-5.
DISPLAY "AB01:(" WS-AB-5 "):(12 345):"
"MOVE TEST MOVE 9(5) TO XXBXXX".
MOVE 12345 TO WS-DISPLAY-NUM-5.
MOVE WS-DISPLAY-NUM-5 TO WS-AB-3.
DISPLAY "AB02:(" WS-AB-3 "):(1 23):"
"MOVE TEST MOVE 9(5) TO XBXX".
MOVE 123.45 TO WS-DISPLAY-NUM-V5.
DISPLAY "AV01:(" WS-DISPLAY-NUM-V5 "):(12345):"
"MOVE TEST MOVE 123.45 9(3)V99".
MOVE 123.45 TO WS-DISPLAY-NUM-5.
DISPLAY "AV02:(" WS-DISPLAY-NUM-5 "):(00123):"
"MOVE TEST MOVE 123.45 TO 9(5)".
A000-EXIT.
EXIT.