Formats under z/OS |
Numeric | |
Width range: | 1-16 bytes |
Default width: | 1 |
Decimal range: | 0-31 |
Alignment: | left |
z/OS specifics: | IBM packed decimal format |
See: | PDw.d Format in SAS Language Reference: Dictionary |
Details | |
See Also |
Details |
In packed decimal format, each byte represents two decimal digits. An IBM packed decimal number consists of a sign and up to 31 digits, thus giving a range of 1031 -1 to -1031 + 1. The sign is written in the rightmost nibble. (A nibble is four bits or half a byte.) A hexadecimal C indicates a plus sign, and a hexadecimal D indicates a minus sign. The rest of the nibbles to the left of the sign nibble represent decimal digits. The hexadecimal values of these digit nibbles correspond to decimal values. Therefore, only values between '0'x and '9'x can be used in the digit positions.
If an overflow occurs, the value that is written is the largest value that fits into the output field; the value will be positive, negative, or unsigned, as appropriate.
Here are several examples of packed decimal format:
Value | Format | Results (Hexadecimal) | Notes | |
---|---|---|---|---|
-1234 | pd3. |
01234D |
|
|
1234 | pd2. |
999C |
overflow occurred | |
1234 | pd4. |
0001234C |
|
|
1234 | pd4.2 |
0123400C |
a d value of 2 causes the number to be multiplied by 102 |
Note: In these examples, the Value column represents the value of the data, and the Results column shows a hexadecimal representation of the bit pattern written by the corresponding format. (You cannot view this data in a text editor, unless you can view it in hexadecimal representation.)
The PDw.d format writes missing numerical data as -0. When the PDw.d informat reads -0, the informat stores -0 as 0.See Also |
Format: S370FPDw.d in SAS Language Reference: Dictionary
Informat: PDw.d Informat: z/OS
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.