Page History
...
MthRoutine RegisterInitialize
Define_map *input #VF_AC007O #Filter Pass(*By_Reference) Mandatory(null)
Define_map *input #VF_AC010O #Handler Pass(*By_Reference) Mandatory(null)
* 登録され、アクティブなフィルターの履歴管理
IfIf_ref #Filter is_not(*null)
Invoke #ActiveFilters.Insert Item(#Filter)
Endif
*登録され、アクティブなコマンド・ハンドラーすべての履歴管理
IfIf_ref #Handler is_not(*null)
Invoke #ActiveHandlers.Insert Item(#Handler)
Endif
Endroutine
MthRoutine RegisterTerminate
Define_map *input #VF_AC007O #Filter Pass(*By_Reference) Mandatory(null)
Define_map *input #VF_AC010O #Handler Pass(*By_Reference) Mandatory(null)
*アクティブ・コレクションから指定のフィルターを削除
If_ref #Filter is_not(*null)
Invoke #ActiveFilters.Remove Object(#Filter)
Endif
*アクティブ・コレクションから指定のコマンド・ハンドラーを削除。
If_ref #Handler is_not(*null)
Invoke #ActiveHandlers.Remove Object(#Handler)
Endif
Endroutine
...
MthRoutine uInitialize Options(*Redefine)
Invoke # EmployeeController.RegisterInitialize Filter(#Com_Owner)
Endroutine
...
コマンド・ハンドラーで次の処理を行います。
MthRoutine MthRoutine uInitialize Options(*Redefine)
Invoke Invoke #EmployeeController.RegisterInitialize Handler(#Com_Owner)
Endroutine Endroutine
- 終了時にインスタンスリスト・コントローラーに登録(登録削除)。フィルターで次の処理を行います。
MthRoutine MthRoutine uTerminate Options(*Redefine)
Invoke Invoke #EmployeeController.RegisterTerminate Filter(#Com_Owner)
Endroutine
...
Endroutineコマンド・ハンドラーで次の処理を行います。
MthRoutine MthRoutine uTerminate Options(*Redefine)
Invoke Invoke #EmployeeController.RegisterTerminate Handler(#Com_Owner)
Endroutine Endroutine
| Note |
|---|
注意:使用したロジックを uTerminate で終了することが非常に大切です。 |
...
Evtroutine Handling(#ActiveFilters<>.avEvent) WithId(#EventId) WithAInfo1(#AInfo1) WithAInfo2(#AInfo2) WithAInfo3(#AInfo3) COM_Sender(#SendingFilter) Options(*NOCLEARMESSAGES *NOCLEARERRORS)
Case #EventId.ValueValue
When (= UPDATE_EMPLOYEE_5250)
#Com_Owner.UpdateListDetails ListManager(#SendingFilter.avListManager) ForEmpno(#AInfo1)
When (= DELETE_EMPLOYEE_5250)
#Com_Owner.DeleteListDetails ListManager(#SendingFilter.avListManager) ForEmpno(#AInfo1) inDepartment(#AInfo2) InSection(#AInfo3)
EndCase
Endroutine
インスタンスリスト・コントローラーは、すべてのフィルターの、RAMPスクリプトのイベントをリッスンするジョブを引き継ぎます。
...
Evtroutine Handling(#EmployeeController.EmployeeUpdate) EmployeeNumber EmployeeNumber(#EmployeeNumber)
Use Message_box_show (ok ok info *Component ("I have just been notified that employee number " + #EmployeeNumber + " has been updated"))
Endroutine
Evtroutine Handling(#EmployeeController.EmployeeDelete) EmployeeNumber(#EmployeeNUmber)
Use Message_box_show (ok ok info *Component ("I have just been notified that employee number " + #EmployeeNumber + " has been deleted"))
Endroutine
最後に、他のものにイベントを伝える(または起動する、通知する)フィルターまたはコマンド・ハンドラーで、次のような処理を行う必要があります。
...