Page History
[ |../../index.htm#lansa/put_date_check.htm]
現在地:
...
9.155 PUT_DATE_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)時の検査を有効にする | 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 | A | 必須 | 日付の検査に用いる形式 | 1 | 8 |
13 | N | 任意 |
指定の日付から過去に向かって許容される日数 指定がない場合、値は9999999が仮定されます。 | 1 | 7 | 0 | 0 |
14 | N | 任意 | 指定の日付から未来に向かって許容される日数 |
指定がない場合、値は9999999が仮定されます。 | 1 | 7 | 0 | 0 |
戻り値
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
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(#DATFMT)
...
TYPE(*CHAR)
...
LENGTH(8)
...
LABEL('
...
Date format')
...
DEFINE FIELD(#DAYPST)
...
TYPE(*DEC)
...
LENGTH(7)
...
DECIMALS(0)
...
LABEL('
...
Days Past')
...
DEFINE FIELD(#DAYFUT)
...
TYPE(*DEC)
...
LENGTH(7)
...
DECIMALS(0)
...
LABEL('
...
Days Future')
GROUP_
...
BY NAME(#VALCHK)
...
FIELDS((#LEVEL)
...
(#FIELD)
...
(#SEQNUM)
...
(#DESCR)
...
(#ENBADD)
...
(#ENBCHG)
...
(#ENBDLT)
...
(#TRUE)
...
(#FALSE)
...
(#MSGDET)
...
(#MSGTXT)
...
(#DATFMT)
...
(#DAYPST)
...
(#DAYFUT))
*********
...
Request Validation check details
BEGIN_LOOP
REQUEST FIELDS((#VALCHK))
*********
...
Execute Built-In Function - PUT_DATE_CHECK
...
USE BUILTIN(PUT_DATE_CHECK)
...
WITH_ARGS(
...
#LEVEL #FIELD #SEQNUM #DESCR #ENBADD #ENBCHG #ENBDLT #TRUE #FALSE #MSGDET #MSGTXT #DATFMT #DAYPST #DAYFUT) TO_GET(#RETCOD)
...
*********
...
Put "date range/format"
...
validation check was successful
IF COND('#RETCOD *EQ ''OK''')
...
MESSAGE MSGTXT('
...
Put "date range/format"
...
validation check(s)
...
was successful')
*********
...
Put "date range/format" failed
ELSE
IF COND('#RETCOD *EQ ''ER''')
...
MESSAGE MSGTXT('
...
Put "date range/format"
...
validation check(s)
...
failed')
ENDIF
ENDIF
END_LOOP