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.

Example

17 % 3 yields 5. Any remainder is ignored. Division by zero yields zero.

*

Multiplication.

Signs are handled algebraically.

Example

5 * -3 yields -15; -5 * -3 yields 15.

+

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.

Example

17 / 3 yields 6; -5 / 3 yields -2; ‑5 / -3 yields 2. Division by zero yields zero.

//

Modulus or remainder on division of the first term by the second term.

Example

17 // 3 yields 2, the remainder when 17 is divided by 3. If the second term is zero, the result is zero.

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
Extended

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: 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*