Page History
7.33.1 DEFINE_MAPのパラメータ
|
|---|
パラメータを関連ルーチンから受け取ります。
以下の値が使用可能です。
...
DEFINE_MAPに*Resultが指定されている場合は、メソッド・ルーチンに定義済みの結果パラメータがあることを示します。これは、固有ファンクションの概念に似ているため、メソッド・ルーチンを式の一部として使用するようにできます。
|
|---|
CLASSは、渡される値のタイプを定義します。CLASSの値は、リポジトリに定義されているフィールドにすることができます。フィールドは、#SALARYなどの単純なフィールドにするか、#SALARY.VISUALまたは#SALARY.MYPARTなどの表示方法にすることができます。
*VARIANTは、バリアント型変数を使用できます。バリアント型変数から値を読み書きできますが、プロパティはありません。今のところ、バリアント型変数 (#PRIM_VAR) を使用するのがより望ましい選肢です。
1つのDEFINE_MAPステートメントでは1つの値のみを渡すことができることに注意してください。
|
|---|
名前によって、マップされた値を固有に識別します。名前は最大20文字まで入力することができ、フィールド名と同様、ハッシュ(#)で始まっている必要があります。
...
- フィールドに対する値を設定するためにCHANGEコマンドを使用する場合は、以下のように値のプロパティを参照する必要があります。
change #empno #curemp.value
- 値を変更する場合は、以下のようにSETコマンドを使用してください。
set com(#curemp) value('A0070') - サブルーチンおよび組み込み関数では、以下のように、値のプロパティなしで名前を参照することができます。
use builtin(reverse) with_args(#curemp) to_get(#revname)
- 同じ名前を異なるイベント、メソッド、およびプロパティ・ルーチンで使用することができます。
- 名前には、LANSA専用として予約されている、#PRIM_、#LANSA、#SYS、#COM、および#LPの接頭辞を含まないようにしてください。
|
|---|
このパラメータを使用して、提供されているパラメータを変数名にマッピングする方法を指定します。
...
値が*BY_REFERENCEとして渡されると、ルーチンでフィールド値にアクセスし、フィールド値を変更することができます。
|
|---|
このパラメータを使用して、指定されるパラメータを必須指定(*YES)に設定します。
...
任意指定の出力パラメータに値を指定することもできます。この値は、ルーチンの開始時に変数を初期化するために使用されます。ルーチンの呼び出し時にパラメータが指定されている場合は、この値は置き換えられます。
以下のコードでは、#mNumberOfTimesをデフォルト値99に初期化し、#mValidをfalseに設定します。
define_map *output class(#std_count) name(#mNumberofTimes) mandatory(99)
define_map *result class(#prim_boln) name(#mValid) mandatory(false)
|
|---|
マッピングされた値について、DESCパラメータを使用して短い記述を指定できます。40文字が最長です。
|
|---|
HELPパラメータを使用して、マッピングされた値の長い記述を指定することができます。ヘルプ・テキストは、ヘルプメニューの機能オプションを使用して表示することができます。250文字が最長です。