General definition statements
Type specifiers
Arithmetic operator types
The meaning of the various operators might not conform to your experience with other programming languages.
Operator | Comparison is True If |
---|---|
% | Integer division. The first term is divided by the second term. |
* | Multiplication. Signs are handled algebraically. |
+ | Addition. |
- | Subtraction. The second term is subtracted from the first term. |
/ | Rounded division. The first term is divided by the second term and the result is rounded using the round half away from zero or commercial rounding method. |
// | Modulus or remainder on division of the first term by the second term. |
Comparison relationship types
Operator | Comparison is True If |
---|---|
= | First value is equal to second value. |
== | First value is equal to second value. |
EQ | First value is equal to second value. |
> | First value is greater than second value. |
GT | First value is greater than second value. |
>= | First value is greater than or equal to second value. |
GE | First value is greater than or equal to second value. |
< | First value is less than second value. |
LT | First value is less than second value. |
<= | First value is less than or equal to second value. |
LE | First value is less than or equal to second value. |
!= | First value is not equal to second value. |
<> | First value is not equal to second value. |
NE | First value is not equal to second value. |
Float types
float_type | Description |
---|---|
Short | A hexadecimal (traditional S/390) floating point number occupying four bytes. |
Long | A hexadecimal (traditional S/390) floating point number occupying eight bytes. |
Ext | A hexadecimal (traditional S/390) floating point number occupying sixteen bytes. |
Integer types
A number of the format and condition specifications require the specification of an integer type or int_type. The following are the integer types:
int_type | Description |
---|---|
Char | A signed 8-bit integer occupying one byte. |
Double or LongLong | A signed 64-bit integer occupying eight bytes. |
Full or Long | A signed 32-bit integer occupying four bytes. |
Half or Short | A signed 16-bit integer occupying two bytes. |
UChar | An unsigned 8-bit integer occupying one byte. |
UCharUChar | A pair of unsigned 8-bit integers to be formatted as mmm.nnn and occupying two bytes. |
UDouble or ULongLong | An unsigned 64-bit integer occupying eight bytes. |
UFull or ULong | An unsigned 32-bit integer occupying four bytes. |
UHalf or UShort | An unsigned 16-bit integer occupying one byte. |
UInt24 | An unsigned integer occupying three bytes. |
UNiblUNibl | A pair of 4-bit unsigned integers to be formatted as mm.nn and occupying one byte. |
Time types
time_type | Description |
---|---|
ChangeMan | Local time of day in the format used in ChangeMan events, character YYYY/MM/DD HH:MM:SS |
Compuware | Time of day YYYYMMDDHHMMSS as written by Compuware Application Audit. |
CompuwareMS | Time of day YYYYMMDDHHMMSSmmm as written by Compuware Abend-AID. |
DMicro | Duration in microseconds and occupying four bytes. The low-order bit represents 1/1000000 of a second or 1 microsecond. |
DMicro64 | Duration in microseconds and occupying eight bytes. The low-order bit represents 1/1000000 of a second or 1 microsecond. |
DMilli64 | Duration in milliseconds and occupying eight bytes. The low-order bit represents 1/1000 of a second or 1 millisecond. |
DMilliPack | Duration in packed milliseconds occupying four bytes mmmmmmmF. |
DSec100 | Duration in seconds * 100 and occupying four bytes. The low-order bit represents 1/100 of a second or 10 milliseconds. |
DSec1000 | Duration in seconds * 1000 and occupying four bytes. The low-order bit represents 1/1000 of a second or 1 millisecond. |
DSec1024 | Duration in units of 1.024 milliseconds and occupying four bytes. |
DSec1048 | Duration in units of 1.04876 seconds and occupying four bytes. |
DSec62500 | Duration in seconds * 62500, sometimes phrased as units of 16 microseconds, and occupying four bytes. |
DRMF | Duration in the format of SMF7xINT as written by RMF: Four bytes of packed time 0hhmmssF. |
DSTCK | Duration in z/Architecture STCK format; in other words, in units of microseconds times 4096 and occupying eight bytes. |
Hex3 | Date-only expressed as three hex (binary, really) bytes yydddd as in the JFCB date fields. |
IMS | IMS timestamps: packed yyyy dddF hh mm ss uuuuuu occupying eight bytes. |
RMF | Date and time in the format of SMF7xIST and SMF7xDAT as written by RMF: Four bytes of packed time 0hhmmssF and four bytes of packed date 0cyydddF. |
SMF | Time of day in SMF format: seconds*100 and 0cyydddF packed date, local time, used by most SMF timestamps and occupying eight bytes |
SMFdate | 0cyydddF with no time occupying four bytes. |
SMFdt, | 0cyydddF tttttttt seconds * 100 (reversed order relative to SMF) and occupying eight bytes. |
SMFUTC | Time of day in SMF format: seconds*100 and 0cyydddF packed date, UTC time, used by Telnet SNA Init and Terminate, and occupying eight bytes. |
STCK | Time of day in z/Architecture STCK format, occupying eight bytes. The value is windowed as suggested by IBM. Values indicating times before 11-May-1971 11:56:54 are assumed to refer instead to times after 17-Sep-2042 23:53:46. New applications should consider using STCKE instead. |
STCKE | Time of day in z/Architecture STCKE format, occupying sixteen bytes. Only the leftmost 64 bits are examined, yielding a resolution finer than one microsecond. |
STCKDB2 | DB2's shifted z/Architecture STCK value, occupying eight bytes. |
STCKwLSO | Time of day in z/Architecture STCK format, occupying eight bytes, and already adjusted for any Leap Second Offset (LSO). The value is windowed as suggested by IBM. Values indicating times before 11-May-1971 11:56:54 are assumed to refer instead to times after 17-Sep-2042 23:53:46. |
TSec100 | Time of Day in seconds * 100 and occupying four bytes. The low-order bit represents 1/100 of a second or 10 milliseconds. |
This section contains the following topics:
Related topic