8 28 5 Not Operator

LANSA Technical

8.28.5 *Not Operator

*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
 

Ý 8.28 Enhanced Expressions