式のオペランドによってサポートされるデータ・タイプ

表 63 は、各単項演算子に使用できるオペランドのタイプと結果の タイプを説明しています。 表 64 は、各 2 項演算子に使用できるオペランドのタイプと結果 のタイプを説明しています。 表 65 は、各組み込み関数に使用できるオペランドのタイプと結果 のタイプを説明しています。 プロトタイプ・プロシージャー は、プロトタイプ定義で定義されていればどのデータ・タイプもサポート します。

表 63. 単項演算にサポートされるタイプ
演算 オペランド・タイプ 結果のタイプ
- (否定) 数値 数値
+ 数値 数値
NOT 標識 標識
表 64. 2 項演算にサポートされるオペランド
演算子 オペランド 1 タイプ オペランド 2 タイプ 結果のタイプ
+ (加算) 数値 数値 数値
+ (加算) 日付 期間 日付
+ (加算) 時刻 期間 時刻
+ (加算) タイム・スタンプ 期間 タイム・スタンプ
- (減算) 数値 数値 数値
- (減算) 日付 期間 日付
- (減算) 時刻 期間 時刻
- (減算) タイム・スタンプ 期間 タイム・スタンプ
* (乗算) 数値 数値 数値
/ (除算) 数値 数値 数値
** (指数) 数値 数値 数値
+ (連結) 文字 文字 文字
+ (連結) グラフィック グラフィック グラフィック
+ (連結) UCS-2 UCS-2 UCS-2
+ (ポインターへのオフの加算) 基底ポインター 数値 基底ポインター
- (減算ポインター) 基底ポインター 基底ポインター 数値
- (ポインターからのオフセットの減算) 基底ポインター 数値 基底ポインター
注:
次の演算の場合は、オペランドは任意のタイプとすることができますが、 2 つのオペランドは同じタイプでなければなりません。
= (等しい) 任意 任意 標識
>= (より大きいか等しい) 任意 任意 標識
> (より大) 任意 任意 標識
<= (より小さいか等しい) 任意 任意 標識
< (より小) 任意 任意 標識
<> (等しくない) 任意 任意 標識
AND (論理 AND) 標識 標識 標識
OR (論理 OR) 標識 標識 標識
表 65. 組み込み関数にサポートされるタイプ
演算 オペランド 結果のタイプ
%ABS 数値 数値
%ALLOC 数値 ポインター
%BITAND 文字:文字{:文字...} 文字
%BITAND 数値:数値{:数値...} 数値
%BITNOT 文字 文字
%BITNOT 数値 数値
%BITOR 文字:文字{:文字...} 文字
%BITOR 数値:数値{:数値...} 数値
%BITXOR 文字:文字 文字
%BITXOR 数値:数値 数値
%CHAR 図形、数値、UCS-2、日付、時刻またはタイム・スタンプ {: 日付、時刻、またはタイム・スタンプの形式} 文字
%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} グラフィック
%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 {: 数値} 数値 (符号なし)
%SECONDS 数値 数値 (期間)
%SHUTDOWN 標識
%SQRT 数値 数値
%STATUS {ファイル名} 数字 (ゾーン 10 進)
%STR 基底ポインター {: 数値} 文字
注:
%STR が式の左辺に付いている場合、第 2 オペランドが必要です。
%SUBARR 任意: 数値 {:数値} 任意 (第 1 オペランドと同じタイプ)
%SUBDT 日付、時刻、またはタイム・スタンプ : 単位 数値
%SUBST 文字 : 数値 {: 数値} 文字
%SUBST 図形 : 数値 {: 数値} グラフィック
%SUBST UCS-2 : 数値 {: 数値} UCS-2
%THIS オブジェクト
%TIME {文字、数値、あるいはタイム・スタンプ {: 時刻の形式}} 時刻
%TIMESTAMP {文字、数値、あるいは日付 {: タイム・スタンプの形式}} タイム・スタンプ
%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} 可変長 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 { : 文字 } 該当せず