Page History
[ |../../index.htm#lansa/put_range_check.htm]
現在地:
...
9.171 PUT_RANGE_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バイトで、かつ値範囲の「開始値」が最大で20エントリー指定できる作業リストを提供しなければなりません。値範囲の各「開始値」エントリーは、値範囲の「終了値」エントリーと対応させる必要があります。対応していない場合は予期しない結果が発生する場合があります。 |
送信する各リスト項目は、次のような形式にする必要があります。 1- 20バイト:値範囲の「開始値」 | 1 | 20 |
13 | L | 必須 | 値範囲の「終了値」を含める作業リスト |
呼び出し元のRDMLファンクションは、項目の長さの合計が正確に20バイトで、かつ値範囲の「終了値」が最大で20エントリーが指定できる作業リストを提供しなければなりません。値範囲の各「終了値」エントリーは、値範囲の「開始値」エントリーと対応させる必要があります。対応していない場合は予期しない結果が発生する場合があります。 |
送信する各リスト項目は、次のような形式にする必要があります。 1- 20バイト:値範囲の「終了値」 | 1 | 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(#FRMRNG)
...
TYPE(*CHAR)
...
LENGTH(20)
...
LABEL('
...
From range')
...
DEFINE FIELD(#TORNG)
...
TYPE(*CHAR)
...
LENGTH(20)
...
LABEL('
...
To range')
DEF_
...
LIST NAME(#FRMWRK)
...
FIELDS((#FRMRNG))
...
TYPE(*WORKING)
...
ENTRYS(20)
DEF_
...
LIST NAME(#TOWRK)
...
FIELDS((#TORNG))
...
TYPE(*WORKING)
...
ENTRYS(20)
DEF_
...
LIST NAME(#RNGBRW)
...
FIELDS((#FRMRNG)
...
(#TORNG))
...
ENTRYS(20)
GROUP_
...
BY NAME(#VALCHK)
...
FIELDS((#LEVEL)
...
(#FIELD)
...
(#SEQNUM)
...
(#DESCR)
...
(#ENBADD)
...
(#ENBCHG)
...
(#ENBDLT)
...
(#TRUE)
...
(#FALSE)
...
(#MSGDET)
...
(#MSGTXT))
*********
...
Initialize Browse list
CLR_
...
LIST NAMED(#RNGBRW)
INZ_
...
LIST NAMED(#RNGBRW)
...
NUM_ENTRYS(20)
...
WITH_MODE(*CHANGE)
*********
...
Clear Working lists
BEGIN_LOOP
CLR_LIST NAMED(#FRMWRK)
CLR_LIST NAMED(#TOWRK)
*********
...
Request Validation check details
REQUEST FIELDS((#VALCHK))
...
BROWSELIST(#RNGBRW)
*********
...
Load From and To range value working lists
SELECTLIST NAMED(#RNGBRW)
ADD_
...
ENTRY TO_LIST(#FRMWRK)
ADD_
...
ENTRY TO_LIST(#TOWRK)
...
ENDSELECT
*********
...
Execute Built-In Function - PUT_RANGE_CHECK
...
USE BUILTIN(PUT_RANGE_CHECK)
...
WITH_ARGS(
...
#LEVEL #FIELD #SEQNUM #DESCR #ENBADD #ENBCHG #ENBDLT #TRUE #FALSE #MSGDET #MSGTXT #FRMWRK #TOWRK) TO_GET(#RETCOD)
*********
...
Put "range of values" validation check was successful
IF COND('#RETCOD *EQ ''OK''')
...
MESSAGE MSGTXT('
...
Put "range of values" validation check(s)
...
was successful')
*********
...
Put "range of values" failed
ELSE
IF COND('#RETCOD *EQ ''ER''')
...
MESSAGE MSGTXT('
...
Put "range of values" validation check(s)
...
failed')
ENDIF
ENDIF
END_LOOP