Informats under z/OS |
Numeric | |
Width range: | 1-16 bytes |
Default width: | 1 |
Decimal range: | 0-31 |
z/OS specifics: | IBM packed decimal format |
See: | PDw.d Informat in SAS Language Reference: Dictionary |
Details | |
See Also |
Details |
The w value specifies the number of bytes, not the number of digits. If the informat specification includes a d value, the number is divided by 10d.
In packed decimal format, each byte except for the last byte represents two decimal digits. (The last byte represents one digit and the sign.) An IBM packed decimal number consists of a sign and up to 31 digits, thus giving a range from -1031 + 1 to 1031 - 1. The sign is written in the rightmost nibble. (A nibble is 4 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.
Here are several examples of how data is read using the PDw.d informat:
Data Line (Hexadecimal) | Informat | Value | Notes | |
---|---|---|---|---|
01234D | pd3. | -1234 |
|
|
0123400C | pd4.2 | 1234 | the d value of 2 causes the number to be divided by 102 |
Note: In these examples, Data Line (Hexadecimal) represents the bit pattern stored, which is the value you see if you view it in a text editor that displays values in hexadecimal representation. Value is the number that is used by SAS after the data pattern has been read using the corresponding informat.
The PDw.d format writes missing numerical data as -0. When the PDw.d informat reads -0, it stores it 0.See Also |
Informat: S370FPDw.d in SAS Language Reference: Dictionary
Format: PDw.d Format: z/OS
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.