演算項目 1 に *DTAARA がある DEFINE (フィールド定義)命令は、フィールド、データ構造、データ構造サブフィールド、またはデータ域データ構造 (ユーザーの ILE RPG プログラム内の) を、AS/400 データ域 (ユーザーの ILE RPG プログラムの外部にある) と関連付けます。
演算項目 2 にはデータ域の外部名を指定します。 内部データ域の名前には *LDA を使用し、プログラム初期化パラメーター (PIP) データ域には *PDA を使用します。 演算項目 2 をブランクのままにした場合には、結果フィールドの指定は RPG IV 名とそのデータ域の外部名の両方になります。
結果フィールドには、プログラム内で定義したフィールド、データ構造、デ ータ構造サブフィールド、またはデータ域データ構造のいずれかの名前を指定 します。 演算項目 2 に指定されたデータ域からデータを検索したりこのデータ域にデータを書き出すためには、この名前を IN および OUT 命令と一緒に使用します。 結果フィールドにデータ域データ構造を指定すると、ILE RPG プログラムは、暗黙のうちにプログラムの開始時にデータ域からデータを検索して、プログラムの終了時にデータ域にデータを書き出します。
結果フィールドの指定を、プログラム状況データ構造、ファイル情報データ 構造 (INFDS)、複数オカレンス・データ構造、入力レコード・フィールド、配列、 配列要素、またはテーブルの名前にすることはできません。 また、複数オカレンス・データ構造のサブフィールド、データ域データ構造、プログラム状況データ 構造、ファイル情報データ構造 (INFDS)、またはすでに *DTAARA DEFINE ステ ートメントに現れているかあるいは定義仕様書で DTAARA キーワードを使用し てすでにデータ域として定義されているデータ構造の名前にすることもできま せん。
3 種類のデータ域を作成することができます。
さらに、リモート・システム上の上記の 3 つのタイプのいずれかのデータ域を 指し示す DDM データ域 (タイプ *DDM) も作成することができます。
データ域に関連付けることができるのは、文字と数値タイプ (浮動数値を除く) だけ です。 システム上の実際のデータ域は、プログラム内のフィールドと同じタイプ で、長さと小数点以下の桁数も同じでなければなりません。 標識フィールドは論理データ域または文字データ域と 関連付けることができます。
数値データ域の場合、最大長は、9 桁の小数部を含む 24 桁です。 小数部の左側には、小数部の桁数が 9 桁に満たない場合でも、最大 15 桁は あることに注意してください。
64 から 70 桁目には、結果フィールドの指定項目の長さおよび小数点以下の桁数 を定義することができます。 これらの指定は、演算項目 2 に指定されたデータ 域の外部記述と一致していなければなりません。 内部データ域は長さが 1024 桁の文字データですが、ユーザー・プログラムの 中では長さが 1024 桁またはそれ以下のものとして内部データ域にアクセスす ることができます。
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... * * The attributes (length and decimal positions) of * the data area (TOTGRS) must be the same as those for the * external data area. C C *DTAARA DEFINE TOTGRS 10 2 C * * The result field entry (TOTNET) is the name of the data area to * be used within the ILE RPG program. The factor 2 entry (TOTAL) * is the name of the data area as defined to the system. C C *DTAARA DEFINE TOTAL TOTNET C * * The result field entry (SAVTOT) is the name of the data area to * be used within the ILE RPG program. The factor 2 entry (*LDA) * indicates the use of the local data area. C C *DTAARA DEFINE *LDA SAVTOT
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.