You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

9.171 PUT_RANGE_CHECK

注意: 9.1 組み込み関数の規則      &<a href="ladtgub1_0021.htm"&>利用オプション&</a&>
指定されたフィールドのデータ・ディクショナリ (またはファイル定義) に、DICTIONARY (またはFILE) レベルの「値範囲」の妥当性検査を作成/修正します。
フィールドにファイル・レベルの妥当性検査を追加する場合、関連するファイルは事前に組み込み関数START_FILE_EDITで編集セッションに投入しておく必要があります。
この組み込み関数に渡されるすべての引数値は、その値がオンライン妥当性検査定義のスクリーン・パネルを通じて入力された場合と同じように有効な値です。
この組み込み関数の使用には、通常の権限とタスク追跡ルールが適用されます。
詳細については、『LANSA/AD ユーザーガイド』の&<a href="../../../lansa010/content/lansa/ugub_20001.htm"&>「フィールド妥当性検査」&</a&>を参照してください。
この BIF は、9.2 開発環境のみで使用される組み込み関数です。
 
引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

妥当性検査のレベル
D = ディクショナリ・レベル
F = ファイル・レベル

1

1

 

 

2

A

必須

妥当性検査のルールを適用するディクショナリ内のフィールド名

1

10

 

 

3

N

必須

検査の順序番号

1

3

0

0

4

A

必須

検査の記述

1

30

 

 

5

A

必須

追加 (ADD) 時の検査を有効にする
Y = 追加 (ADD) 時に検査を実行する
U = 追加使用 (ADDUSE) 時に検査を実行する
N = 追加 (ADD) 時に検査を実行しない

1

1

 

 

6

A

必須

変更 (CHANGE) 時の検査を有効にする
Y = 変更 (CHG) 時に検査を実行する
U = 変更使用 (CHGUSE) 時に検査を実行する
N = 変更 (CHG) 時に検査を実行しない

1

1

 

 

7

A

必須

削除 (DELETE) 時の検査を有効にする
Y = 検査を有効にする
N = 検査を有効にしない

1

1

 

 

8

A

必須

検査がTRUEのときの対応
NEXT = 次の検査を実行する
ERROR = 致命的なエラーを送信する
ACCEPT = 値を受け入れ、検査を終了する

4

6

 

 

9

A

必須

検査が偽のときの対応
NEXT = 次の検査を実行する
ERROR = 致命的なエラーを送信する
ACCEPT = 値を受け入れ、検査を終了する

4

6

 

 

10

A

必須

メッセージ・ファイル詳細
メッセージ・ファイルから送信されるエラー・メッセージの詳細です。
メッセージ・ファイルの詳細は次のようなフォーマットにする必要があります。
開始 - 終了   説明
1 - 7   エラー・メッセージ番号
8 - 17   メッセージ・ファイル名
18 - 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オプションで「値範囲」妥当性検査を追加できますが、これを使わずに特定のフィールドの「値範囲」妥当性検査を追加する場合は次のように行います。
*********  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       

  • No labels