9.35 DELETE_CHECKS

LANSA

9.35 DELETE_CHECKS


Þ 注:組 み込み関数の規則

妥当性検査の組み込み関数PUT_XXXXXXXで妥当性検査を置き換える前に、指定したフィールドから標準的なディクショナリ・レベルまたはファイル・ レベルの妥当性検査を削除します。

フィールドからファイル・レベルの妥当性検査を削除する場合、関連するファイルは事前に組み込み関数START_FILE_EDITで編集セッションに投 入しておく必要があります。

この組み込み関数の使用には、通常の権限とタスク追跡ルールが適用されます。

Þこ れは、 開発環境のみで使用される特殊BIF です。

各製品の対応

LANSA/AD

使 用可

IBM iのRDMLX区画では使用しないでください。

Visual LANSA for Windows

使 用可

 

Visual LANSA for Linux

未対応

 

 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必 須

削 除する妥当性検査のレベル

D = ディクショナリ・レベル

F = ファイル・レベル

1

1

 

 

2

A

必 須

妥 当性検査が削除されるディクショナリまたはファイルのフィールドの名前

1

10

 

 

3 *

N

必 須

削 除を制御する順序番号。妥当性検査の順序番号がこの引数の番号以上であれば削除します。この引数の指定がない場合に値はゼロ(0)とみなされるため、すべ ての妥当性検査がこの制御値と一致することになります。

1

3

0

0

4 *

A

必 須

削 除を制御する妥当性検査の汎用記述。妥当性検査の記述がこの引数の値と汎用的に一致すれば削除します。この引数の指定がない場合にデフォルト値はブランク とされるため、すべての妥当性検査がこの制御値と一致することになります。

1

30

 

 

 

* 削 除の制御条件である順序番号と記述の関係はAND条件です。例えば、500とIEWの値を渡した場合、順序番号が500番以上で、かつ記述がIEWで始ま る妥当性検査だけが削除されます。

戻り値

番号

タイプ

必須/任意

説明

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必 須

戻 りコード

OK = 妥当性検査が定義された

ER = 致命的なエラーが検出された

NR = 削除対象レコードが見つからなかった

"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')
GROUP_BY  NAME(#VALCHK) FIELDS((#LEVEL) (#FIELD) (#SEQNUM) (#DESCR))
********* Request Validation check details
BEGIN_LOOP 
REQUEST   FIELDS(#VALCHK)
********* Execute built-in-function - DELETE_CHECKS
USE       BUILTIN(DELETE_CHECKS) WITH_ARGS(#LEVEL #FIELD #SEQNUM 
          #DESCR) TO_GET(#RETCOD)
********* Deletion of validation checks was successful
IF        COND('#RETCOD *EQ ''OK''')
MESSAGE   MSGTXT('Deletion of validation check(s) was successful')
********* Deletion of validation checks failed
ELSE 
IF        COND('#RETCOD *EQ ''ER''')
MESSAGE   MSGTXT('Deletion of validation check(s) failed')
********* No records found eligible for deletion
ELSE 
IF        COND('#RETCOD *EQ ''NR''')
MESSAGE   MSGTXT('No Records found eligible for deletion')
ENDIF 
ENDIF 
ENDIF 
END_LOOP