01 input-field pic x(2).
01 high-order-digit pic 99.
01 low-order-digit pic 99.
01 final-result pic 9999 binary.
01 redefines final-result.
02 pic x.
02 converted-value pic x.
[COLOR=red yellow] * assumes binary is stored big-endian[/color]
...
move 0 to high-order-digit, low-order-digit.
inspect "0123456789ABCDEF"
tallying high-order-digit
for characters before initial input-field (1:1).
inspect "0123456789ABCDEF"
tallying low-order-digit
for characters before initial input-field (2:1).
if high-order-digit < 16
and low-order-digit < 16
compute final-result =
high-order-digit * 16 + low-order-digit
else
display input-field, " is not valid hex"
end-if