Picture Clauses
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIELD-X PIC 9V99.
01 FIELD-Y PIC 9.99.
PROCEDURE DIVISION.
MOVE FIELD-X TO FIELD-Y.
The MOVE statement copies the contents of FIELD-X into FIELD-Y.
Remember that the contents of FIELD-X are not changed by the MOVE statement.
FIELD-X takes up 3 bytes (characters) of storage
space while FIELD-Y takes up 4 bytes. The implied decimal place in
FIELD-X does not take up a storage byte, but the actual decimal point
in FIELD-Y does.
Numeric and non-numeric fields
Alphanumeric fields may contain letters, digits, or other characters.
Non-numeric literals are enclosed in
quotes.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A-NUMERIC-FIELD PIC 9(3).
01 AN-ALPHANUMERIC-FIELD PIC X(3).
PROCEDURE DIVISION.
MOVE 123 TO A-NUMERIC-FIELD.
MOVE '123' TO AN-ALPHANUMERIC-FIELD.
Alphanumeric literals, which are enclosed in quotes, may consist of all
digits. However, arithmetic cannot be performed on non-numeric fields.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIELD-123 PIC 9(3) VALUE 123.
01 FIELD-ONETWOTHREE PIC X(3) VALUE '123'.
Alphanumeric fields
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIELD-A PIC X(5).
|
|
FIELD-A |
| MOVE 'COBOL' TO FIELD-A.
|
|
| MOVE 'CS351' TO FIELD-A.
|
|
| MOVE 'ABCDEF' TO FIELD-A.
|
|
| MOVE '12345' TO FIELD-A.
|
|
| MOVE SPACES TO FIELD-A.
|
|
| MOVE '$$$$$' TO FIELD-A.
|
|
Numeric fields
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIELD-N PIC 9(5).
|
|
FIELD-N |
| MOVE 12345 TO FIELD-N.
|
|
| MOVE 123 TO FIELD-N.
|
|
| MOVE 123.45 TO FIELD-N.
|
|
| MOVE ZEROES TO FIELD-N.
|
|
| MOVE 123456 TO FIELD-N.
|
|
Numeric fields with decimal places
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIELD-D PIC 9(3)V9(2).
|
|
FIELD-D |
| MOVE 123.45 TO FIELD-D.
|
|
|
| MOVE 12345 TO FIELD-D.
|
|
|
| MOVE .12345 TO FIELD-D.
|
|
|
| MOVE 1 TO FIELD-D.
|
|
|
| MOVE .1 TO FIELD-D.
|
|
|
| MOVE 1.1 TO FIELD-D.
|
|
|
| MOVE ZERO TO FIELD-D.
|
|
|
Zero suppression
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIELD-0 PIC 9(5).
01 FIELD-Z PIC ZZZZ9.
PROCEDURE DIVISION.
MOVE FIELD-0 TO FIELD-Z.
| FIELD-0 |
FIELD-Z |
| 12345 |
12345 |
| 00123 |
123 |
| 00001 |
1 |
| 00000 |
0 |
| 10022 |
10022 |
| 10000 |
10000 |
Spaces are printed instead of leading zeroes.
Cobol Home