SHRSTAMPw. Informat

Reads date and time values of SHR records.

Category: Date and Time

Syntax

SHRSTAMPw.

Syntax Description

w

specifies the width of the input field.

Requirement w must be 8 because packed decimal date and time values in SHR records contain eight bytes of information: four bytes of date data that are followed by four bytes of time data.

Details

The SHRSTAMPw. informat reads packed decimal date and time values of SHR records that are produced by IBM mainframe environments and converts the date and time values to SAS datetime values.
The general form of the date and time information in an SHR record in hexadecimal notation is ccyydddFhhmmssth, where
ccyy
is the two-byte representation of the year. The cc portion is the one-byte representation of a two-digit integer that represents the century. The yy portion is the one-byte representation of two digits that correspond to the year.
The cc portion is the century indicator where 00 indicates 19yy, 01 indicates 20yy, 02 indicates 21yy, and so on. A hexadecimal year value of 0115 is equal to the year 2015.
ddd
is the one-and-a-half bytes that contain three digits that correspond to the day of the year.
F
is the half-byte that contains all binary 1s.
hh
is the one-byte representation of two digits that correspond to the hour of the day.
mm
is the one-byte representation of two digits that correspond to minutes.
ss
is the one-byte representation of two digits that correspond to seconds.
th
is the one-byte representation of two digits that correspond to a 100th of a second.
The SHRSTAMPw. informat enables you to read, on any operation environment, packed decimal date and time values from files that are created on an IBM mainframe.

Example

input begin: $hex16.;
y=input(begin, shrstamp8.);
Data Line 1
Result
----+----1----+----2
0110239F12403576
1598532035.8
1The data line is a hexadecimal representation of a packed decimal date and time value that is stored as it would appear in an SHR record. Each byte occupies one column of the input field. The result is a SAS datetime value that corresponds to August. 27, 2010 12:40:36.