オブジェクト・フィールドを指定できる場所

オブジェクト・フィールドは、次の状態のときに使用できます。

自由形式の評価
EVAL 命令を使用して、ある Object 項目 (フィールドまたはプロトタイプされたプロシージャー) を、タイプ Object のフィールドに割り当てることができます。
自由形式の比較
あるオブジェクトを他のオブジェクトと比較することができます。 どんな比較でも指定することができますが、意味を持つのは次の比較のみです。
自由形式の呼び出しパラメーター
プロトタイプの中のパラメーターがオブジェクトである場合は、オブジェクトを CALL 命令のパラメーターとしてコーディングできます。
注:
  1. オブジェクトは、入力フィールドまたは出力フィールドとしては無効です。
  2. 妥当性検査の割り当てはチェックされません。たとえば RPG では、クラス「数」のオブジェクトをクラス「ストリング」で定義されているオブジェクト変数に割り当てることができます。これが正しくなかった場合は、Java エラーはユーザーが「ストリング」変数を使用しようとした時点で発生します。
図 92. オブジェクト・データ・タイプの例
D Obj             S               O   CLASS(*JAVA
D                                          :'java.lang.Object')
D Str             S               O   CLASS(*JAVA
D                                          :'java.lang.String')
D Num             S               O   CLASS(*JAVA
D                                          :'java.math.BigDecimal')

 * Since all Java classes are subclasses of class 'java.lang.Object',
 * any object can be assigned to a variable of this class.
 * The following two assignments are valid.
C                   EVAL      Obj = Str
C                   EVAL      Obj = Num
 * However, it would probably not be valid to assign Str to Num.