注意: 9.1 組み込み関数の規則 利用オプション
指定されたフィールドのデータ・ディクショナリ(またはファイル定義)に、DICTIONARY(またはFILE)レベルの「簡易条件ロジック」の妥当性検査を作成/修正します。
フィールドにファイル・レベルの妥当性検査を追加する場合、関連するファイルは事前に組み込み関数START_FILE_EDITで編集セッションに投入しておく必要があります。
この組み込み関数に渡されるすべての引数値は、その値がオンライン妥当性検査定義のスクリーン・パネルを通じて入力された場合と同じように有効な値です。
この組み込み関数の使用には、通常の権限とタスク追跡ルールが適用されます。
詳細については、『LANSA/AD ユーザーガイド』の「フィールドのルールとトリガー」を参照してください。
この BIF は、9.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(#CONLIN) TYPE(*CHAR) LENGTH(79) LABEL('Condition line')
DEF_LIST NAME(#CONWRK) FIELDS((#CONLIN)) TYPE(*WORKING) ENTRYS(5)
DEF_LIST NAME(#CONBRW) FIELDS((#CONLIN)) ENTRYS(5)
GROUP_BY NAME(#VALCHK) FIELDS((#LEVEL) (#FIELD) (#SEQNUM) (#DESCR) (#ENBADD) (#ENBCHG) (#ENBDLT) (#TRUE) (#FALSE) (#MSGDET) (#MSGTXT))
********* Initialize Browse list
CLR_LIST NAMED(#CONBRW)
INZ_LIST NAMED(#CONBRW) NUM_ENTRYS(5) WITH_MODE(*CHANGE)
********* Clear Working lists
BEGIN_LOOP
CLR_LIST NAMED(#CONWRK)
********* Request Validation check details
REQUEST FIELDS((#VALCHK)) BROWSELIST(#CONBRW)
********* Load key field working list
SELECTLIST NAMED(#CONBRW)
ADD_ENTRY TO_LIST(#CONWRK)
ENDSELECT
********* Execute Built-In Function - PUT_COND_CHECK
USE BUILTIN(PUT_COND_CHECK) WITH_ARGS(#LEVEL #FIELD #SEQNUM #DESCR #ENBADD #ENBCHG #ENBDLT #TRUE #FALSE #MSGDET #MSGTXT #CONWRK) TO_GET(#RETCOD)
********* Put "simple conditional logic" successful
IF COND('#RETCOD *EQ ''OK''')
MESSAGE MSGTXT('Put "simple conditional logic" validation check(s) was successful')
********* Put "simple conditional logic" failed
ELSE
IF COND('#RETCOD *EQ ''ER''')
MESSAGE MSGTXT('Put "simple conditional logic" validation check(s) failed')
ENDIF
ENDIF
END_LOOP