PICTURE Symbols and Character Strings


What is PICTURE symbol?


The PICTURE symbol (PIC/PICTURE) is the letter used to specify the type of the variable during its declaration. PICTURE character strings are delimited only by space, comma, semicolon, or period.

These are not case-sensitive (lowercase and uppercase letters are considered as equivalent). These are two types -

  • PICTURE symbol for data types
  • PICTURE symbol for editing.

For example -

A, B, E, G, N, P, S, V, X, Z, CR, DB.

PICTURE symbol for data types -


PICTURE symbol for data types specifies the PICTURE symbols assigned for each data type in COBOL. Those are -

Data Type PICTURE Symbol Declaration Meaning
Alphabetic A Alphabetic character or space. Represents alphabetic data type. For example -
Input PICTURE Clause Output
HELLO PIC A(5) HELLO
Numeric 9 Numeric character. Represents numeric data type. For example -
Input PICTURE Clause Output
123 PIC 9(5) 00123
000123 PIC 9(4) 0123
Alphanumeric X Alphanumeric character or space. Represents alphanumeric data type. For example -
Input PICTURE Clause Output
HELLO PIC X(5) HELLO
HI PIC X(5) HI
Assumed decimal point V Represents the decimal point. It is not counted in the size of the variable/variable. For example -
Input PICTURE Clause Output
123.45 PIC 999V99 12345
123.45 PIC 99V99 2345
Operational sign S Represents the Sign of the value. It is not counted in the size of the variable unless a SIGN clause with the SEPARATE CHARACTER phrase is specified. For example -
Input PICTURE Clause Output
-123 PIC S999 12L
+123 PIC S999 12C
-123 PIC S999 SIGN IS LEADING SEPERATE CHARACTER -123
-123 PIC S999 SIGN IS TRAILING SEPERATE CHARACTER 123-

PICTURE symbol for editing -


The PICTURE symbol for editing is used to represent the data in the user's desired format. These are classified into two types, and those are -

Insertion editing -

Type Description PIC Symbols
Simple insertion Simple insertion editing is inserting a character(s) in the PICTURE string.
B
0
/
  (Space)
Special insertion Special insertion editing represents the decimal point for alignment purposes.
. (Dot)
Fixed insertion Fixed insertion editing is a method used to insert fixed characters into a numeric edited item.
cs 
+ 
- 
CR 
DB
Floating insertion Floating insertion editing is used for formatting numeric data items, mainly when dealing with currency values.
cs 
+ 
-

ZERO suppression and replacement editing -

Type Description PIC Symbols
Zero suppression and replacement with spaces Zero Suppression involves omitting leading zeros from a number, and replacement editing involves replacing leading zeros with a space.
Z 
*
Zero suppression and replacement with asterisks Zero Suppression involves omitting leading zeros from a number, and replacement editing involves replacing leading zeros with an asterisk (*).
Z 
* 
+ 
- 
cs

Examples -

Below are the total PICTURE clause symbol list -

Symbol Declaration Meaning
B Space insertion character that represents numeric-edited and alphanumeric-edited character. For example -
Input PICTURE Clause Output
150682 PIC 99B99B99 15 06 82
15061982 PIC XXBXXBXXXX 15 06 1982
P Decimal scaling position but not counted in size of variable. For example -
Input PICTURE Clause Output
77 PIC 99P 77
77 PIC P99 77
Z Zero suppression character. For example -
Input PICTURE Clause Output
123 PIC ZZZZZ. 123
000123 PIC ZZZZZZ. 123
0 Zero insertion character. For example -
Input PICTURE Clause Output
1234 PIC 990099. 120034
1234 PIC 999900. 123400
/ Slash insertion character. For example -
Input PICTURE Clause Output
150682 PIC 99/99/99. 15/06/82
, Comma insertion character. For example -
Input PICTURE Clause Output
123456 PIC 999,999. 123,456
12345 PIC zzz,999. 12345
. Decimal point or period editing control character. For example -
Input PICTURE Clause Output
1234.56 PIC 9999.99. 1234.56
1234.56 PIC 999.99. 234.56
1234.56 PIC 9999.9. 1234.5
+ Plus sign insertion editing control character. For example -
Input PICTURE Clause Output
+12345 PIC +9(5). +12345
-123 PIC +9(3). -123
-123 PIC 9(3)+. 123-
- Minus sign editing control character. For example -
Input PICTURE Clause Output
-123 PIC -9(3). -123
+123 PIC +9(3). 123
-123 PIC 9(3)-. 123-
CR Credit editing control character. For example -
Input PICTURE Clause Output
+123 PIC 9(3)CR. 123
-123 PIC 9(3)CR. 123CR
DB Debit editing control character or Check protect insertion character.For example -
Input PICTURE Clause Output
+123 PIC 9(3)DB. 123
-123 PIC 9(3)DB. 123DB
$ Currency symbol insertion character. $ is the default. For example -
Input PICTURE Clause Output
000 PIC $,$$9.99. 0.00
90 PIC $$9.00. $90.00
12345 PIC $$,$$9. $2,345