8.5.2 DEFINE_EVTの使用例

LANSA

8.5.2 DEFINE_EVTの使用例


このコマンドは、以下のように、フォームでADRESSCHANGEDというイベントを定義します。

define_evt name(ADDRESSCHANGED) help('This event tells that the #ADDRESS1 field on this form has changed.')
 

フォームには、SIGNALコマンドも含まれていて、フォーム上の#ADDRESS1フィールドの内容が変更されると、このイベントがトリガーされます。

EVTROUTINE HANDLING(#address1.changed)
   signal event(ADDRESSCHANGED)
ENDROUTINE 
 

この方法では、これらのコマンドが指定されているフォームは、#ADDRESSフィールドの内容が変更されているオーナー・フォームと対話することができます。オーナー・フォームは、以下のように、イベント・ルーチンによってこのイベントに応えることができます。

EVTROUTINE HANDLING(#FormB.ADDRESSCHANGED)
   execute RfrshDtls
ENDROUTINE 
 

「DEFINE_EVTで使用するDEFINE_MAP」も参照してください。