9.158 PUT_FILE_CHECK
注意: 9.1 組み込み関数の規則 &<a href="ladtgub1_0021.htm"&>利用オプション&</a&>
指定されたフィールドのデータ・ディクショナリ(またはファイル定義)に、DICTIONARY(またはFILE)レベルの「コード/テーブル・ファイル検索」の妥当性検査を作成/修正します。
フィールドにファイル・レベルの妥当性検査を追加する場合、関連するファイルは事前に組み込み関数START_FILE_EDITで編集セッションに投入しておく必要があります。
この組み込み関数に渡されるすべての引数値は、その値がオンライン妥当性検査定義のスクリーン・パネルを通じて入力された場合と同じように有効な値です。
この組み込み関数の使用には、通常の権限とタスク追跡ルールが適用されます。
詳細については、『LANSA/AD ユーザーガイド』の&<a href="../../../lansa010/content/lansa/ugub_20007.htm"&>「フィールドのルールとトリガー」 &</a&>を参照してください。
この BIF は、9.2 開発環境のみで使用される組み込み関数です。
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
1 |
A |
必須 |
妥当性検査のレベル |
1 |
1 |
|
|
2 |
A |
必須 |
妥当性検査のルールを適用するディクショナリ内のフィールド名 |
1 |
10 |
|
|
3 |
N |
必須 |
検査の順序番号 |
1 |
3 |
0 |
0 |
4 |
A |
必須 |
検査の記述 |
1 |
30 |
|
|
5 |
A |
必須 |
追加(ADD)時の検査を有効にする |
1 |
1 |
|
|
6 |
A |
必須 |
変更(CHANGE)時の検査を有効にする |
1 |
1 |
|
|
7 |
A |
必須 |
削除(DELETE)時の検査を有効にする |
1 |
1 |
|
|
8 |
A |
必須 |
検査がTRUEのときの対応 |
4 |
6 |
|
|
9 |
A |
必須 |
検査が偽のときの対応 |
4 |
6 |
|
|
10 |
A |
必須 |
メッセージ・ファイル詳細 |
27 |
27 |
|
|
11 |
A |
必須 |
メッセージ・テキスト |
1 |
80 |
|
|
12 |
A |
必須 |
検査されるファイルの名前 |
1 |
10 |
|
|
13 |
L |
必須 |
ファイル内を検査する時に使用するキー・フィールド/値を含めるリスト |
1 |
20 |
|
|
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
1 |
A |
必須 |
戻りコード |
2 |
2 |
|
|
例
ユーザーは、フィールド制御メニューで提供されているLANSAオプションで「コード/テーブル・ファイル検索」妥当性検査を追加できますが、これを使わずに特定のフィールドの「コード/テーブル・ファイル検索」妥当性検査を追加する場合は次のように行います。
********* Define arguments and lists DEFINE FIELD(#FILNAM) TYPE(*CHAR) LENGTH(10) DEFINE FIELD(#LIBNAM) TYPE(*CHAR) LENGTH(10) 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(#CODFIL) TYPE(*CHAR) LENGTH(10) LABEL('File name') DEFINE FIELD(#KEYFLD) TYPE(*CHAR) LENGTH(20) LABEL('Key field') DEF_LIST NAME(#KEYWRK) FIELDS((#KEYFLD)) TYPE(*WORKING) ENTRYS(10) DEF_LIST NAME(#KEYBRW) FIELDS((#KEYFLD)) ENTRYS(10) GROUP_BY NAME(#VALCHK) FIELDS((#LEVEL) (#FIELD) (#SEQNUM) (#DESCR) (#ENBADD) (#ENBCHG) (#ENBDLT) (#TRUE) (#FALSE) (#MSGDET) (#MSGTXT) (#CODFIL)) ********* Initialize Browse list CLR_LIST NAMED(#KEYBRW) INZ_LIST NAMED(#KEYBRW) NUM_ENTRYS(10) WITH_MODE(*CHANGE) ********* Start file edit REQUEST FIELDS(#FILNAM #LIBNAM) ********** USE BUILTIN(START_FILE_EDIT) WITH_ARGS(#FILNAM #LIBNAM 'DEM') TO_GET(#RETCOD) ********* Clear Working lists BEGIN_LOOP CLR_LIST NAMED(#KEYWRK) ********* Request Validation check details REQUEST FIELDS((#VALCHK)) BROWSELIST(#KEYBRW) ********* Load key field working list SELECTLIST NAMED(#KEYBRW) ADD_ENTRY TO_LIST(#KEYWRK) ENDSELECT ********* Execute Built-In Function - PUT_FILE_CHECK USE BUILTIN(PUT_FILE_CHECK) WITH_ARGS(#LEVEL #FIELD #SEQNUM #DESCR #ENBADD #ENBCHG #ENBDLT #TRUE #FALSE #MSGDET #MSGTXT #CODFIL #KEYWRK) TO_GET(#RETCOD) ********* Put "code/table file lookup" validation successful IF COND('#RETCOD *EQ ''OK''') MESSAGE MSGTXT('Put "code/table file lookup" validation check(s) was successful') ********* Put "code/table file lookup" failed ELSE IF COND('#RETCOD *EQ ''ER''') MESSAGE MSGTXT('Put "code/table file lookup" validation check(s) failed') ENDIF ENDIF END_LOOP USE BUILTIN(END_FILE_EDIT) ('Y')