Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../index.htm#lansa/put_program_check.htm]
現在地:

...

9.170 PUT_PROGRAM_CHECK

Note

注意

...

 9.1

...

組み込み関数の規則     利用オプション

指定されたフィールドのデータ・ディクショナリ(またはファイル定義)に、DICTIONARY(またはFILE)レベルの「ユーザー・プログラム呼び出し」の妥当性検査を作成/修正します。 修正します。 

フィールドにファイル・レベルの妥当性検査を追加する場合、関連するファイルは事前に組み込み関数START_FILE_EDITで編集セッションに投入しておく必要があります。 EDITで編集セッションに投入しておく必要があります。  この組み込み関数に渡されるすべての引数値は、その値がオンライン妥当性検査定義のスクリーン・パネルを通じて入力された場合と同じように有効な値です。

この組み込み関数に渡されるすべての引数値は、その値がオンライン妥当性検査定義のスクリーン・パネルを通じて入力された場合と同じように有効な値です。 

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

詳細については、『LANSA/AD ユーザーガイド』の「フィールド妥当性検査」 を参照してください。 ユーザーガイド』の「フィールド妥当性検査/トリガー」を参照してください。

この 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 エラー・メッセージ番号

7              エラー・メッセージ番号
8 -

17 メッセージ・ファイル名

17            メッセージ・ファイル名
18 -

27 メッセージ・ファイル・ライブラリ

27          メッセージ・ファイル・ライブラリ

メッセージ・テキストを使用する場合は、この引数をブランクで渡します。

27

27

 

 



11

A

必須

メッセージ・テキスト

1

80

 

 



12

A

必須

この検査を実行するために呼び出されるプログラムの名前。ファンクションを呼び出す場合は、名前の前に"LF="を付けます。

Note
注:ファンクションで検査を実行する場合は、追加のパラメータを指定することはできません。

注:ファンクションで検査を実行する場合は、追加のパラメータを指定することはできません。

1

10

 

 



13

L

必須

指定されたプログラムに渡される追加のパラメータを含める作業リスト

呼び出し元のRDMLファンクションは、項目の長さの合計が正確に20バイトで、かつ10個のパラメータ・エントリーを持つ作業リストを提供しなければなりません。

呼び出し元のRDMLファンクションは、項目の長さの合計が正確に20バイトで、かつ10個のパラメータ・エントリーを持つ作業リストを提供しなければなりません。 

送信する各リスト項目は、次のような形式にする必要があります。

送信する各リスト項目は、次のような形式にする必要があります。 

開始 -

終了 説明

終了    説明
1 -

20 追加のパラメータ

20             追加のパラメータ

1

20

 

 



戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

戻りコード

OK =

妥当性検査が定義された

妥当性検査が定義された 

ER =

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

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

"ER" の場合は、戻りコード・エラー・メッセージが自動的に発行されます。ファイル編集セッションが関係していた場合、ファイル編集セッションはコミットメントされずに終了します。

2

2

 

 



ユーザーは、フィールド制御メニューに提供されたLANSAオプションで「ユーザー・プログラム呼び出し」妥当性検査を追加できますが、これを使わずに特定のフィールドの「ユーザー・プログラム呼び出し」妥当性検査を追加する場合は次のように行います。 ユーザーは、フィールド制御メニューに提供された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(#USRPGM)

...

 TYPE(*CHAR)

...

 LENGTH(10)

...

 LABEL('

...

User program')

...


DEFINE     FIELD(#PGMPRM)

...

 TYPE(*CHAR)

...

 LENGTH(20)

...

 LABEL('

...

program parms')
DEF_

...

LIST   NAME(#PRMWRK)

...

 FIELDS((#PGMPRM))

...

 TYPE(*WORKING)

...

 ENTRYS(10)
DEF_

...

LIST   NAME(#PRMBRW)

...

 FIELDS((#PGMPRM))

...

 ENTRYS(10)
GROUP_

...

BY   NAME(#VALCHK)

...

 FIELDS((#LEVEL)

...

 (#FIELD)

...

 (#SEQNUM)

...

 (#DESCR)

...

 (#ENBADD)

...

 (#ENBCHG)

...

 (#ENBDLT)

...

 (#TRUE)

...

 (#FALSE)

...

 (#MSGDET)

...

 (#MSGTXT)

...

 (#USRPGM))
*********

...

  Initialize Browse list
CLR_

...

LIST   NAMED(#PRMBRW)
INZ_

...

LIST   NAMED(#PRMBRW)

...

 NUM_ENTRYS(10)

...

 WITH_MODE(*CHANGE)
*********

...

  Clear Working lists
BEGIN_LOOP  
CLR_LIST   NAMED(#PRMWRK)
*********

...

  Request Validation check details
REQUEST    FIELDS((#VALCHK))

...

 BROWSELIST(#PRMBRW)
*********

...

  Load key field working list
SELECTLIST NAMED(#PRMBRW)
ADD_

...

ENTRY  TO_LIST(#PRMWRK)

...


ENDSELECT  
*********

...

  Execute Built-In Function - PUT_PROGRAM_CHECK

...


USE        BUILTIN(PUT_PROGRAM_CHECK)

...

 WITH_ARGS(

...

#LEVEL #FIELD #SEQNUM #DESCR #ENBADD #ENBCHG #ENBDLT #TRUE #FALSE #MSGDET #MSGTXT #USRPGM #PRMWRK) TO_GET(#RETCOD)
*********

...

  Put "call user program" validation successful
IF         COND('#RETCOD *EQ ''OK''')

...


MESSAGE    MSGTXT('

...

Put "call user program" validation check(s)

...

 was successful')
*********

...

  Put "call user program" failed
ELSE  
IF         COND('#RETCOD *EQ ''ER''')

...


MESSAGE    MSGTXT('

...

Put "call user program" validation check(s)

...

 failed')
ENDIF  
ENDIF  
END_LOOP