ZDVw.d Informat

Reads and validates zoned decimal data.

Category: Numeric
Restriction: This option does not perform validation on z/OS.
Interaction: List input is incompatible with binary input when this informat is specified in an INFORMAT= statement or an ATTRIB= statement using the INFORMAT= argument. SAS issues a warning and uses formatted input to read the data.

Syntax

ZDVw.d

Syntax Description

w

specifies the width of the input field.

Default 1
Range 1–32

d

specifies the power of 10 by which to divide the value. This argument is optional.

Range 1–31

Details

The ZDVw.d informat reads data in which every digit requires one byte and in which the last byte contains the value's sign along with the last digit. It also validates the input string and disallows invalid data.
ZDVw.d is dependent on the operating environment. For example, on IBM mainframes, the ZDVw.d informat requires an F for all high-order nibbles except the last. (In contrast, the ZDw.d informat ignores the high-order nibbles for all bytes except for the nibbles that are associated with the sign.) The last high-order nibble accepts values ranging from A-F, where A, C, E, and F are positive values and B and D are negative values. The low-order nibble on IBM mainframes must be a numeric digit that ranges from 0-9, as with ZD.
Note: Different operating environments store zoned decimal values in different ways. However, the ZDVw.d informat reads zoned decimal values with consistent results if the values are created in the same type of operating environment that you use to run SAS.

Comparisons

The ZDVw.d informat functions like the ZDw.d informat with one exception: ZDVw.d validates the input string and disallows invalid data.

Example

input @1 test zdv4.;
Data Line 1
Result
----+----1
F0F1F2C8
128
1The data line contains a hexadecimal representation of a binary number stored in zoned decimal form. The example was run on an IBM mainframe. The results might vary depending on your operating environment.

See Also