参照変数

パラメーターや変数は、ストレージの一領域です。 変数には、例えば特定の名前や従業員 ID などの値が含まれている場合があります。 また、変数が参照変数 であり、実行時に値を保持するアドレスを含む場合もあります。 参照型をベースにしたすべての変数は、参照変数です。 以下のような参照型があります。
以下の ConsoleUI パーツは、ExternalType パーツとしてモデル化されるので、 参照です。
同じ理由で、以下の JasperReport パーツも参照です。
加えて、次の 2 つの特殊 Record ステレオタイプが参照型として定義されています。

これらの型をベースにしたすべての変数は、参照変数です。

参照変数は、初期化するまで使用することはできません。新規の参照変数は、デフォルトで NULL 値を持っており、値、フィールド、または関数にアクセスしようとしてこれを使用すると、NullValueException が発生します。 参照変数を初期化するには、new 演算子または値の設定ブロック (こちらの方が多少効率がよい) を使用します (値の設定ブロックを参照)。
// new 演算子により、変数を NULL 以外にします
myDictionary Dictionary = new Dictionary;

// 空の値の設定ブロックで、変数を NULL 以外にします
myDictionary Dictionary{};

また、配列変数も初めは NULL ですが、サイズを指定することで初期化することができます。 詳しくは、配列を参照してください。

参照変数の割り当てと比較は、値ベースの変数に対する規則とは異なる規則に従います。 詳しくは、EGL での参照の互換性を参照してください。

互換性

表 1. 参照変数の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 ラージ・オブジェクト型である BLOB と CLOB は、サポートされません。
JavaScript 生成 サポートされるデータ型は、ANY、BIGINT、BIN (ただし、小数点以下の桁を含まない場合に限る)、Boolean、DataItem、DATE、DECIMAL、Delegate、Dictionary、FLOAT、INT、NUM、NUMBER、SMALLFLOAT、SMALLINT、STRING (ただし、サイズ制限を含まない場合に限る)、TIME、TIMESTAMP、NUM、MONEY、サービス・パーツ、インターフェース・パーツ、外部型 (ステレオタイプ JavaScript)、サポートされるデータ型による配列、 および非構造化の基本、例外、および SQL レコード・パーツです。

サポートされないデータ型は、ArrayDictionary、BIN (小数点以下の桁数を含むもの)、BLOB、CHAR、CLOB、DBCHAR、HEX、INTERVAL、MBCHAR、NUMC、STRING (サイズ制限を含むもの)、PACF、UNICODE、および構造化されたレコード・パーツです。

JSF JSF ハンドラーの onConstructionFunction プロパティーに指定された関数に参照変数を渡すことはできません。 また、参照変数をセッション・オブジェクトまたは要求オブジェクトに入れたり、セッション・オブジェクトまたは要求オブジェクトから参照変数を取り出したりすることはできません。

フィードバック