It is currently not possible to do any "binary" operation on binary fields, like AND, OR, XOR or NOT. This makes declarations of particular bit-constants quasi useless, e.g.
...
3 #TB_VDT_FLAG (B01) /* various property flags
...
1 #TB_VDT_FLAG_VALUES
2 #TB_VDT_F1ARRAY (B01) CONSTANT<H'80'> /* ARRAY
2 #TB_VDT_F1ARRAYC (B01) CONSTANT<H'40'> /* ARRAY IS CONTIGUES
2 #TB_VDT_F1EVDT (B01) CONSTANT<H'20'> /* EXTENDED VDT SLOT
2 #TB_VDT_F1SVDT (B01) CONSTANT<H'10'> /* SPECIAL VDT SLOT
If someone wants to test for an array (H'80'), he cannot used the constant, but needs to convert the field #TB_VDT_FLAG into an array of '0' or '1', and test for '1'.
It would be much easier if you could write:
IF #TB_VDT_FLAG AND #TB_VDT_F1ARRAY <> H'00'
It is also not possible to store the result of such operation, e.g.
#WORK_RESULT := #TB_VDT_FLAG OR #TB_VDT_F1EVDT
This is valid for all platforms.