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
