*Not can be used to test or set the reciprocal of a Boolean result.
For example:
If (*Not #Object.Boolean)
or
#button.enabled := *not #button.enabled
Where complex logic processing is required to define a "good" or "bad" result, a good technique is to encapsulate the code in a method that returns a Boolean. Consequently, *Not can be used to perform processing based on the reciprocal result.
Evtroutine Handling(#STD_NUM.Changed)
If (*Not #COM_OWNER.IsValidEntry( #STD_NUM ))
* Do something
Endif
Endroutine
Mthroutine Name(IsValidEntry)
Define_Map For(*input) Class(#STD_NUM) Name(#NUMBER)
Define_Map For(*RESULT) Class(#prim_boln) Name(#RESULT)
#RESULT := False
If ((#NUMBER > 100) *And (#NUMBER < 200))
#RESULT := true
Endif
If ((#NUMBER > 300) *And (#NUMBER < 400))
#RESULT := true
Endif
Endroutine