式のオペランドによってサポートされるデータ・タイプ
表 1 は、各単項演算子に使用できるオペランドのタイプと結果の タイプを説明しています。 表 2 は、各 2 項演算子に使用できるオペランドのタイプと結果 のタイプを説明しています。 表 3 は、各組み込み関数に使用できるオペランドのタイプと結果 のタイプを説明しています。 プロトタイプ・プロシージャーは、プロトタイプ定義で定義されていればどのデータ・タイプもサポート します。
| 命令 | オペランド・タイプ | 結果のタイプ |
|---|---|---|
| - (否定) | 数値 | 数値 |
| + | 数値 | 数値 |
| NOT | 標識 | 標識 |
| 演算子 | オペランド 1 タイプ | オペランド 2 タイプ | 結果のタイプ |
|---|---|---|---|
| + (加算) | 数値 | 数値 | 数値 |
| + (加算) | 日付 | 期間 | 日付 |
| + (加算) | 時刻 | 期間 | 時刻 |
| + (加算) | タイム・スタンプ | 期間 | タイム・スタンプ |
| - (減算) | 数値 | 数値 | 数値 |
| - (減算) | 日付 | 期間 | 日付 |
| - (減算) | 時刻 | 期間 | 時刻 |
| - (減算) | タイム・スタンプ | 期間 | タイム・スタンプ |
| * (乗算) | 数値 | 数値 | 数値 |
| / (除算) | 数値 | 数値 | 数値 |
| ** (指数) | 数値 | 数値 | 数値 |
+ (連結) ![]() |
文字、図形、UCS-2![]() |
文字、図形、UCS-2![]() |
文字、図形、UCS-2![]() |
| + (ポインターへのオフの加算) | 基底ポインター | 数値 | 基底ポインター |
| - (減算ポインター) | 基底ポインター | 基底ポインター | 数値 |
| - (ポインターからのオフセットの減算) | 基底ポインター | 数値 | 基底ポインター |
| 注: 次の演算の場合は、オペランドは任意のタイプとすることができますが、
2 つのオペランドは同じタイプでなければなりません。
|
|||
| = (等しい) | 任意 | 任意 | 標識 |
| >= (より大きいか等しい) | 任意 | 任意 | 標識 |
| > (より大) | 任意 | 任意 | 標識 |
| <= (より小さいか等しい) | 任意 | 任意 | 標識 |
| < (より小) | 任意 | 任意 | 標識 |
| <> (等しくない) | 任意 | 任意 | 標識 |
| AND (論理 AND) | 標識 | 標識 | 標識 |
| OR (論理 OR) | 標識 | 標識 | 標識 |
| 命令 | オペランド | 結果のタイプ |
|---|---|---|
| %ABS | 数値 | 数値 |
| %ALLOC | 数値 | ポインター |
| %BITAND | 文字:文字 {: 文字... } | 文字 |
| %BITAND | 数値:数値 {: 数値... } | 数値 |
| %BITNOT | 文字 | 文字 |
| %BITNOT | 数値 | 数値 |
| %BITOR | 文字:文字 {: 文字... } | 文字 |
| %BITOR | 数値:数値 {:数値... } | 数値 |
| %BITXOR | 文字:文字 | 文字 |
| %BITXOR | 数値:数値 | 数値 |
%CHAR![]() |
文字、図形、UCS-2 {: ccsid }![]() |
指定された CCSID の可変長文字![]() |
%CHAR![]() |
数値![]() |
ジョブ CCSID の可変長文字![]() |
%CHAR![]() |
日付、時刻またはタイム・スタンプ {: 日付、時刻、またはタイム・スタンプの形式 }![]() |
ジョブ CCSID の文字![]() |
| %CHECK | 文字、図形、または UCS-2 {: 数値 } | 数値 |
| %CHECKR | 文字、図形、または UCS-2 {: 数値 } | 数値 |
| %DATE | {文字、数値、またはタイム・スタンプ {: 日付の形式 } } | 日付 |
| %DAYS | 数値 | 数値 (期間) |
| %DEC | 文字 : 数値定数 : 数値定数 | 数値 (パック) |
| %DEC | 数値 {: 数値定数 : 数値定数 } | 数値 (パック) |
| %DEC | 日付、時刻、またはタイム・スタンプ {: 形式 } | 数値 (パック) |
| %DECH | 文字 : 数値定数 : 数値定数 | 数値 (パック) |
| %DECH | 数値 : 数値定数 : 数値定数 | 数値 (パック) |
| %DECPOS | 数値 | 数値 (符号なし) |
| %DIFF | 日付、時刻、またはタイム・スタンプ : 日付、
時刻、またはタイム・スタンプ : 単位 {: 秒の小数部の桁数 }![]() |
数値 (期間) (双方に互換性のある) |
| %DIV | 数値 : 数値 | 数値 |
| %EDITC | 非浮動数値 : 長さ 1 の 文字定数 {:*CURSYM | *ASTFILL | 文字通貨記号 } | 文字 (固定長) |
| %EDITFLT | 数値 | 文字 (固定長) |
| %EDITW | 非浮動数値 : 文字定数 | 文字 (固定長) |
| %EOF | {ファイル名 } | 標識 |
| %EQUAL | {ファイル名 } | 標識 |
| %ERROR | 標識 | |
| %FLOAT | 文字 | 数値 (浮動) |
| %FLOAT | 数値 | 数値 (浮動) |
| %FOUND | {ファイル名 } | 標識 |
%GRAPH![]() |
文字、図形、または UCS-2 {: ccsid }![]() |
指定された CCSID のグラフィック![]() |
| %HOURS | 数値 | 数値 (期間) |
| %INT | 文字 | 数値 (整数) |
| %INT | 数値 | 数値 (整数) |
| %INTH | 文字 | 数値 (整数) |
| %INTH | 数値 | 数値 (整数) |
| %LEN | 任意 | 数値 (符号なし) |
| %LOOKUPxx | 任意 : 任意の配列 {: 数値 {: 数値 } } | 数値 (符号なし) |
| %MINUTES | 数値 | 数値 (期間) |
| %MONTHS | 数値 | 数値 (期間) |
| %MSECONDS | 数値 | 数値 (期間) |
| %OCCUR | 複数オカレンス・データ構造 | 複数オカレンス・データ構造 |
| %OPEN | ファイル名 | 標識 |
| %PARMS | 数値 (整数) | |
| %REALLOC | ポインター : 数値 | ポインター |
| %REM | 数値 : 数値 | 数値 |
| %REPLACE | 文字 : 文字 {: 数値 {: 数値 } } | 文字 |
| %REPLACE | 図形 : 図形 {: 数値 {: 数値 } } | グラフィック |
| %REPLACE | UCS-2 : UCS-2 {: 数値 {: 数値 } } | UCS-2 |
%SCAN![]() |
文字 : 文字 {: 数値 {: 長さ]}![]() |
数値 (符号なし)![]() |
%SCAN![]() |
図形 : 図形 {: 数値 {: 長さ}}![]() |
数値 (符号なし)![]() |
%SCAN![]() |
UCS-2 : UCS-2 {: 数値 {: 長さ}}![]() |
数値 (符号なし)![]() |
%SCANR![]() |
文字 : 文字 {: 数値 {: 長さ]}![]() |
数値 (符号なし)![]() |
%SCANR![]() |
図形 : 図形 {: 数値 {: 長さ}}![]() |
数値 (符号なし)![]() |
%SCANR![]() |
UCS-2 : UCS-2 {: 数値 {: 長さ}}![]() |
数値 (符号なし)![]() |
| %SCANRPL | 文字 : 文字 : 文字 {: 数値 {: 数値 } } | 文字 |
| %SCANRPL | 図形 : 図形 : 図形 {: 数値 {: 数値 } } | グラフィック |
| %SCANRPL | UCS-2 : UCS-2 : UCS-2 {: 数値 {: 数値 } } | UCS-2 |
| %SECONDS | 数値 | 数値 (期間) |
| %SHTDN | 標識 | |
| %SQRT | 数値 | 数値 |
| %STATUS | {ファイル名 } | 数字 (ゾーン 10 進) |
| %STR | 基底ポインター {: 数値 } | 文字 |
| 注: %STR が式の左辺に付いている場合、第 2 オペランドが必要です。
|
||
| %SUBARR | 任意: 数値 {:数値 } | 任意 (第 1 オペランドと同じタイプ) |
| %SUBDT | 日付、時刻、またはタイム・スタンプ : 単位 | 数値 (符号なし) |
%SUBDT![]() |
日付、時刻、またはタイム・スタンプ : 単位 : 桁数 { : 秒の小数部の桁数 }![]() |
数値 (パック 10 進数)![]() |
| %SUBST | 文字 : 数値 {: 数値 } | 文字 |
| %SUBST | 図形 : 数値 {: 数値 } | グラフィック |
| %SUBST | UCS-2 : 数値 {: 数値 } | UCS-2 |
| %THIS | オブジェクト | |
| %TIME | {文字、数値、あるいはタイム・スタンプ {: 時刻の形式 } } | 時刻 |
| %TIMESTAMP | {文字、数値 {: タイム・スタンプ形式 { : 秒の小数部の桁数 } } }![]() |
タイム・スタンプ |
%TIMESTAMP![]() |
{*SYS、タイム・スタンプ、日付 { 秒の小数部の桁数 } }![]() |
タイム・スタンプ![]() |
| %TLOOKUPxx | 任意のテーブル: 任意のテーブル {: 任意 } | 標識 |
| %TRIM | 文字 { : 文字 } | 文字 |
| %TRIM | 図形 { : 図形 } | グラフィック |
| %TRIM | UCS-2 { : UCS-2 } | UCS-2 |
| %TRIML | 文字 { : 文字 } | 文字 |
| %TRIML | 図形 { : 図形 } | グラフィック |
| %TRIML | UCS-2 { : UCS-2 } | UCS-2 |
| %TRIMR | 文字 { : 文字 } | 文字 |
| %TRIMR | 図形 { : 図形 } | グラフィック |
| %TRIMR | UCS-2 { : UCS-2 } | UCS-2 |
| %UCS2 | 文字、図形、または UCS-2 {: ccsid } | 指定された CCSID の可変長 UCS-2 値 |
| %UNS | 文字 | 数値 (符号なし) |
| %UNS | 数値 | 数値 (符号なし) |
| %UNSH | 文字 | 数値 (符号なし) |
| %UNSH | 数値 | 数値 (符号なし) |
| %XFOOT | 数値 | 数値 |
| %XLATE | 文字、図形、または UCS-2 : 文字、図形、または UCS-2 : 文字、図形、または UCS-2 {: 数値 } | 文字、図形、または UCS-2 |
| %YEARS | 数値 | 数値 (期間) |
| 注: 次の組み込み関数の場合は、引数はリテラル、名前付き定数、または変
数でなければなりません。
|
||
| %PADDR | 文字 | プロシージャーまたはプロトタイプ・ポインター |
| %SIZE | 任意 {: *ALL } | 数値 (符号なし) |
| 注: 次の組み込み関数の場合は、引数は変数でなければなりません。 しかし、配列指標が指定された場合には、有効な任意の数値式とすることができ
ます。
|
||
| %ADDR | 任意 | 基底ポインター |
| %ELEM | 任意 | 数値 (符号なし) |
| %NULLIND | 任意 | 標識 |
| 注: 次の組み込み関数は値を戻さないため、正確には組み込み関数ではありません。これらは、一部の自由形式演算で使用されます。
|
||
| %FIELDS | 任意{: 任意 {: 任意 ... } | 該当せず |
| %HANDLER | プロトタイプ名: 任意 | 該当せず |
| %KDS | データ構造 {: 数値 } | 該当せず |
| %XML | 文字、または UCS-2 { : 文字 } | 該当せず |
+ (連結) 