オブジェクト・データ・タイプおよび CLASS キーワード

オブジェクトを保管できるフィールドは、O データ・タイプを使って宣言します。タイプ O のフィールドを宣言するには、D 仕様書の 40 桁目 に O をコーディングし、オブジェクトのクラスを提供する CLASS キーワードを 使用します。CLASS キーワードは次のとおり 2 つのパラメーターを受け入れます。
CLASS(*JAVA:class_name)

*JAVA はオブジェクトが Java™ オブジェクトであることを示します。Class_name は、オブジェクトのクラスを指定するもので、文字リテラルまたは名前の付いた固定情報でなければならず、かつクラス名は完全修飾されている必要があります。 クラス名では、大文字と小文字が区別されます。

例えば、タイプ BigDecimal のオブジェクトを保持するフィールドを宣言するには、次のようにします。
D bdnum           S               O   CLASS(*JAVA:'java.math.BigDecimal')
タイプ String のオブジェクトを保持するフィールドを宣言するには、次のようにします。
D string          S               O   CLASS(*JAVA:'java.lang.String')

どちらのクラス名も完全に修飾されていること、および大文字小文字が Java クラスの大文字小文字と正確に一致していることに注意してください。

タイプ O のフィールドをデータ構造のサブフィールドとして定義することはできません。タイプ O のフィールドを持つ配列を定義することはできますが、タイプ O の実行時テーブルとコンパイル時テーブル、および実行時配列とコンパイル時配列は許されません。