通知または警告としてメッセージを表示しますが、作業の続行は妨げられません。
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 でトランザクションルールに使用できる事前定義済みのイベントです。これにより、ルールを実行する正確なタイミングを定義できます。
オブジェクト: Transaction
このルールは、条件が満たされた場合に、処理を続行可能な通知または警告をメッセージとして表示するために使用します。言い換えれば、
Error ルールのようにプロセスが停止されることはありません。
例 1
Customer
{
CustomerId*
CustomerName
CustomerLastName
CustomerAddress
CustomerPhone
}
Customer のルールは次のとおりです:
msg('住所が入力されていません') if CustomerAddress.isempty();
msg('電話番号が入力されていません') if CustomerPhone.isempty();
error('顧客名を入力してください') if CustomerName.isempty();
error('顧客の姓を入力してください') if CustomerLastName.isempty();
例 2
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.
Message コマンド
トランザクションルール