Page History
...
Evtroutine Handling(#Com_Owner.Initialize)
#Com_owner.Prepare
Endroutine
...
Mthroutine Name(Prepare) Options(*Redefine)
* Class specific processing
Endroutine
...
Mthroutine Name(Prepare) Options(*Redefine)
#Com_Ancestor.Prepare
* Class specific processing
Endroutine
...
Thus in the Ancestor we might have something similar to the following.
Mthroutine Name(Prepare)
* Run base code then class specific code
#Com_owner.PrepareBase
#Com_Self.PrepareSelf
Endroutine
Mthroutine Name(PrepareBase) Options(*Final)
* Base class processing
* Final – This method cannot be redefined
Endroutine
Mthroutine Name(PrepareSelf)
* Redefine in inheriting classes
Endroutine
...
Mthroutine Name(PrepareSelf) Options(*Redefine)
* Class specific processing here
Endroutine
...