9.199 SELECT_IN_SPACE
指定されたキー値と一致するセルの最初の行を選択し、指定されたフィールドにセル値を戻します。
各製品の対応
LANSA/AD |
使用可 |
RDMLX のみで使用可能 |
Visual LANSA for Windows |
使用可 |
|
Visual LANSA for Linux |
使用可 |
引数
番号 |
タイプ A/N |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
R |
スペース名 |
1 |
256 |
||
2-20 |
w |
O |
必要な最初のセル行を検出するためのキー値を指定するフィールド |
1 |
無制限 |
0 |
無制限 |
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
O |
標準戻りコード OK = セル行が検出され、セル値が戻された NR = 指定のキー値に一致するセル行が検出されなかった ER = 選択が失敗した。発行されるメッセージに失敗の原因が示される |
2 |
2 |
||
2-20 |
w |
O |
選択されたセル行のセル値を受け取るフィールド |
1 |
無制限 |
0 |
無制限 |
技術ノート
戻りフィールドはスペースに定義されたセルと同じ順序で指定する必要があります。セルの仕様の順番通りに一致したセルは戻り値の2 -> 20に戻されます。使用されるフィールド名はセル・マッピングのロジックに何の関係もありません。
キー値はスペースに定義されたキーの数まで指定することができます。最初に一致したセル行が戻されます。つまり、部分キーによる操作が可能です。
キー値がスペースで定義されたキー・セルの個数より多く指定された場合、超過分の値は無視されます。検索結果に影響はありません。
指定した戻りフィールド値の数が、スペース内のセルの数よりも少ない場合、未指定のセル値はフィールドに割り当てられません。
指定した戻りフィールド値の数が、スペース内のセルの数よりも多い場合、超過分のフィールド値は無視され、検索操作では何も変更されません。
指定のキー値が 256バイトを超える場合、致命的なエラーが発生します。
例
以下の例では名字に一致する最初のレコードを選択します。
Define Field(#SpaceRC) Type(*Char) Length(2)
Def_Cond Name(*Okay) Cond('#SpaceRC = OK')
*
Use
Builtin(Select_in_Space) With_Args(TEST #SURNAME) To_Get(#SpaceRC #SURNAME
#GIVENAME #EMPNO)
Dowhile (*Okay)
Add_Entry To_List(#Emplist)
Use
Builtin(SelectNext_in_Space) With_Args(TEST #SURNAME) To_Get(#SpaceRC #SURNAME
#GIVENAME #EMPNO)
Endwhile