LIKE キーワードは、項目を既存の項目と類似させて定義するために使用されます。 LIKE をオブジェクトとともに使用する詳細は、LIKE(オブジェクト名)を参照してください。
LIKE キーワードを指定した場合には、定義されている項目はパラメーターとして指定された項目の長さおよびデータ・フォーマットを引き継ぎます。 独立フィールド、プロトタイプ、およびデータ構造サブフィールドはこのキーワ ードを使用して定義することができます。 LIKE のパラメーターは、独立フィールド、データ構造、データ構造サブフィール ド、プロシージャー・インターフェース定義中のパラメーター、またはプロトタ イプ名とすることができます。 データ・タイプ記入項目 (40 桁目) はブランクでなければなりません。
このキーワードは *LIKE DEFINE 命令コードと類似しています (*LIKE DEFINEを参照)。ただし、定義されたデータがその長さだけでなくデータ形式および CCSID を引き継ぐ点で *LIKE DEFINE とは異なっています。
LIKE のパラメーターがプロトタイプであった場合には、定義されている項目はそ のプロトタイプの戻り値と同じデータ・タイプになります。 戻り値がない場合には、エラー・メッセージが出されます。
以下は、LIKE キーワードを異なるデータ・タイプで使用する際のいくつかの考慮 事項です。
LIKE を使用して配列を定義する場合であっても、DIM キーワードは配列の次元を 定義するためにまだ必要です。 しかし、DIM(%elem(配列)) を使用して、別の配列と完全に類似の配列を定義する ことができます。
LIKEDS を使用して、別のデータ構造と同じサブフィールドを持つようデータ構造を定義することができます。
以下は、LIKE キーワードを使用してデータを定義する例です。
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++ D.....................................Keywords+++++++++++++++++++++++++++++ * * 長さを 5 文字増やして別のフィールドと類似のフィールドを定義します。 * D Name S 20 D Long_name S +5 LIKE(Name) * * 別のフィールドと類似の DIM(20) を持つデータ構造サブフィールド配列を * 定義し、各配列要素を値 *ALL'X' によって初期化します。 * また、最初のサブフィールドのすぐ後にタイプがポインターの別のサブ * フィールドを宣言します。ポインターには 16 バイトの長さが暗黙に * 定義されます。 * D Struct DS D Dim20 LIKE(Name) DIM(20) INZ(*ALL'X') D Pointer * * * *LDA で基本となるフィールドを定義します。フィールド 'Name' からフィールドの * 長さとタイプを選択します。 * D Lda_fld S LIKE(Name) DTAARA(*LDA)
LIKE キーワードを使用して、あるオブジェクトが以前に定義済みのオブジェクトと同じクラスを持つように指定することができます。CLASS キーワードの値だけが継承されます。
* Variables MyString and OtherString are both Java String objects. D MyString S O CLASS(*JAVA D :'java.lang.String') D OtherString S LIKE(MyString) * Proc is a Java method returning a Java String object D Proc PR EXTPROC(*JAVA:'MyClass':'meth') D LIKE(MyString)
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.