条件が満たされた場合に、処理を続行できるかどうかを通知または警告のメッセージとして表示します。Error ルールのようにプロセスが停止されることはありません。
Msg('message' | &var | character_expression [ ,ExceptionName ] ) [ IF condition ] [ ON triggering event ] ;
入力値の説明:
'message' (または &var、あるいは character_expression)
条件を満たす場合に表示する文 (文字列) です。
変数または character_expression を使用する場合は、結果のタイプが Character の GeneXus コントロールです (それ以外の場合は、ナビゲーションレポートで通知されます)。
ExceptionName
トランザクションがビジネスコンポーネントとして設定される場合は、ExceptionName パラメーターをメッセージの ID として設定し、ビジネスコンポーネントのエラー処理を解決できます。
condition
有効な論理条件です。
triggering event
GeneXus でトランザクションルールに使用できる事前定義済みのイベントです。これにより、ルールを実行する正確なタイミングを定義できます。
例
1)
Customer
{
CustomerId*
CustomerName
CustomerLastName
CustomerAddress
CustomerPhone
}
Customer のルールは次のとおりです:
msg('住所が入力されていません') if CustomerAddress.isempty();
msg('電話番号が入力されていません') if CustomerPhone.isempty();
error('顧客名を入力してください') if CustomerName.isempty();
error('顧客の姓を入力してください') if CustomerLastName.isempty();
Customer トランザクションがビジネスコンポーネントとして設定されており、トランザクションに次のルールが定義されているとします。
msg('電話番号が入力されていません',CustomerPhoneIsEmpty) if CustomerPhone.isempty();
ExceptionName パラメーターで参照される値は Messages SDT ( [ ID ] プロパティ) に基づく &Messages コレクション変数に入れられ、GetMessages() メソッドを使用してロードできます。
サンプルコード:
&CustomerBc is a Customer variable
&CustomerBc.save()
If &CustomerBc.Fail()
&Messages = &CutomerBc.GetMessages()
If &Messages.Item(1).ID = CustomerPhoneIsEmpty
.......
ExceptionName パラメーターは識別子であるため、空白や次の特殊文字は使用できません: / : ” | = < > |
関数も使用できません。
構文が正しくない場合はコンパイルエラーが表示されます:
xxx.cs(yy,yy): error CS0103: the name 'pushError' does not exist in the actual context.
適用範囲
オブジェクト Transaction オブジェクト
Message コマンド (X Evolution 1、2、3)
トランザクションルール
|