Page History
[ |../../index.htm#lansa/put_value_check.htm]
現在地:
...
9.175 PUT_VALUE_CHECK
| Note |
|---|
注意 |
...
: 9.1 |
...
指定されたフィールドのデータ・ディクショナリ(またはファイル定義)に、DICTIONARY(またはFILE)レベルの「値リスト」の妥当性検査を作成/修正します。 修正します。
フィールドにファイル・レベルの妥当性検査を追加する場合、関連するファイルは事前に組み込み関数START_FILE_EDITで編集セッションに投入しておく必要があります。 EDITで編集セッションに投入しておく必要があります。 この組み込み関数に渡されるすべての引数値は、その値がオンライン妥当性検査定義のスクリーン・パネルを通じて入力された場合と同じように有効な値です。
この組み込み関数に渡されるすべての引数値は、その値がオンライン妥当性検査定義のスクリーン・パネルを通じて入力された場合と同じように有効な値です。
この組み込み関数の使用には、通常の権限とタスク追跡ルールが適用されます。 この組み込み関数の使用には、通常の権限とタスク追跡ルールが適用されます。 詳細については、『LANSA
詳細については、『LANSA/AD ユーザーガイド』の「フィールドの妥当性検査/トリガー」 を参照してください。 ユーザーガイド』の「フィールドの妥当性検査/トリガー」を参照してください。
この BIF は、9.2 開発環境のみで使用される組み込み関数です。
です。
引数
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 妥当性検査のレベル D = |
ディクショナリ・レベル | 1 | 1 |
2 | A | 必須 | 妥当性検査のルールを適用するディクショナリ内のフィールド名 | 1 | 10 |
3 | N | 必須 | 検査の順序番号 | 1 | 3 | 0 | 0 |
4 | A | 必須 | 検査の記述 | 1 | 30 |
5 | A | 必須 | 追加(ADD)時の検査を有効にする Y = 追加(ADD) |
時に検査を実行する | 1 | 1 |
6 | A | 必須 | 変更(CHANGE)時の検査を有効にする Y = 変更(CHG) |
時に検査を実行する | 1 | 1 |
7 | A | 必須 | 削除(DELETE)時の検査を有効にする Y = |
検査を有効にする | 1 | 1 |
8 | A | 必須 | 検査がTRUEのときの対応 NEXT = |
次の検査を実行する | 4 | 6 |
9 | A | 必須 | 検査が偽のときの対応 NEXT = |
次の検査を実行する | 4 | 6 |
10 | A | 必須 | メッセージ・ファイル詳細 |
メッセージ・ファイルから送信されるエラー・メッセージの詳細です。メッセージ・ファイルの詳細は次のようなフォーマットにする必要があります。 開始 - |
終了 説明 |
7 エラー・メッセージ番号 |
17 メッセージ・ファイル名 |
27 メッセージ・ファイル・ライブラリ メッセージ・テキストを使用する場合は、この引数をブランクで渡します。 | 27 | 27 |
11 | A | 必須 | メッセージ・テキスト | 1 | 80 |
12 | L | 必須 | リスト値を含める作業リスト |
呼び出し元のRDMLファンクションは、項目の長さの合計が正確に20バイトで、かつリスト値が最大で50エントリー指定できる作業リストを提供しなければなりません。 |
送信する各リスト項目は、次のような形式にする必要があります。 1- 20バイト:リスト値 | 20 | 20 |
戻り値
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 戻りコード OK = |
妥当性検査が定義された ER = |
致命的なエラーが検出された "ER" の場合は、戻りコード・エラー・メッセージが自動的に発行されます。ファイル編集セッションが関係していた場合、ファイル編集セッションはコミットメントされずに終了します。 | 2 | 2 |
例
ユーザーは、フィールド制御メニューに提供されたLANSAオプションで「値リスト」妥当性検査を追加できますが、これを使わずに特定のフィールドの「値リスト」妥当性検査を追加する場合は次のように行います。 ユーザーは、フィールド制御メニューに提供されたLANSAオプションで「値リスト」妥当性検査を追加できますが、これを使わずに特定のフィールドの「値リスト」妥当性検査を追加する場合は次のように行います。
*********
...
Define arguments and lists
DEFINE FIELD(#LEVEL)
...
TYPE(*CHAR)
...
LENGTH(1)
...
LABEL('Level')
...
DEFINE FIELD(#FIELD)
...
TYPE(*CHAR)
...
LENGTH(10)
...
LABEL('Field')
...
DEFINE FIELD(#SEQNUM)
...
TYPE(*DEC)
...
LENGTH(3)
...
DECIMALS(0)
...
LABEL('
...
Sequence #')
...
DEFINE FIELD(#DESCR)
...
TYPE(*CHAR)
...
LENGTH(30)
...
LABEL('Description')
...
DEFINE FIELD(#RETCOD)
...
TYPE(*CHAR)
...
LENGTH(2)
...
LABEL('
...
Return code')
...
DEFINE FIELD(#ENBADD)
...
TYPE(*CHAR)
...
LENGTH(1)
...
LABEL('
...
Enable ADD')
...
DEFINE FIELD(#ENBCHG)
...
TYPE(*CHAR)
...
LENGTH(1)
...
LABEL('
...
Enable CHG')
...
DEFINE FIELD(#ENBDLT)
...
TYPE(*CHAR)
...
LENGTH(1)
...
LABEL('
...
Enable DLT')
...
DEFINE FIELD(#TRUE)
...
TYPE(*CHAR)
...
LENGTH(6)
...
LABEL('
...
Action if True')
...
DEFINE FIELD(#FALSE)
...
TYPE(*CHAR)
...
LENGTH(6)
...
LABEL('
...
Action if False')
...
DEFINE FIELD(#MSGDET)
...
TYPE(*CHAR)
...
LENGTH(27)
...
LABEL('
...
Message Detail')
...
DEFINE FIELD(#MSGTXT)
...
TYPE(*CHAR)
...
LENGTH(80)
...
LABEL('
...
Message Text')
...
DEFINE FIELD(#LSTVAL)
...
TYPE(*CHAR)
...
LENGTH(20)
...
LABEL('
...
List value')
DEF_
...
LIST NAME(#VALWRK)
...
FIELDS((#LSTVAL))
...
TYPE(*WORKING)
...
ENTRYS(50)
DEF_
...
LIST NAME(#VALBRW)
...
FIELDS((#LSTVAL))
...
ENTRYS(50)
GROUP_
...
BY NAME(#VALCHK)
...
FIELDS((#LEVEL)
...
(#FIELD)
...
(#SEQNUM)
...
(#DESCR)
...
(#ENBADD)
...
(#ENBCHG)
...
(#ENBDLT)
...
(#TRUE)
...
(#FALSE)
...
(#MSGDET)
...
(#MSGTXT))
*********
...
Initialize Browse list
CLR_
...
LIST NAMED(#VALBRW)
INZ_
...
LIST NAMED(#VALBRW)
...
NUM_ENTRYS(50)
...
WITH_MODE(*CHANGE)
*********
...
Clear Working list
BEGIN_LOOP
CLR_LIST NAMED(#VALWRK)
*********
...
Request Validation check details
REQUEST FIELDS((#VALCHK))
...
BROWSELIST(#VALBRW)
*********
...
Load list of values working list
SELECTLIST NAMED(#VALBRW)
ADD_
...
ENTRY TO_LIST(#VALWRK)
...
ENDSELECT
*********
...
Execute Built-In Function - PUT_VALUE_CHECK
...
USE BUILTIN(PUT_VALUE_CHECK)
...
WITH_ARGS(
...
#LEVEL #FIELD #SEQNUM #DESCR #ENBADD #ENBCHG #ENBDLT #TRUE #FALSE #MSGDET #MSGTXT #VALWRK) TO_GET(#RETCOD)
*********
...
Put "list of values" validation check was successful
IF COND('#RETCOD *EQ ''OK''')
...
MESSAGE MSGTXT('
...
Put "list of values" validation check(s)
...
was successful')
*********
...
Put "list of values" failed
ELSE
IF COND('#RETCOD *EQ ''ER''')
...
MESSAGE MSGTXT('
...
Put "list of values" validation check(s)
...
failed')
ENDIF
ENDIF
END_LOOP