Problem:
Do you have an example of how to convert a PIC X to a HEX value?
Resolution:
See the attached source code example.
I came up with the following code that can be insterted into an existing program:
To display hex values in a string:
03 WS-HEX-TBL.
05 WS-HEX-ENT OCCURS 99 TIMES.
10 WS-HEX-TXT PIC X(01).
03 WS-HEX-IDX PIC 9(03) COMP.
03 WS-HEX-NBR-X.
05 WS-HEX-NBR-X1 PIC X(01) VALUE X"00".
05 WS-HEX-NBR-X2 PIC X(01).
03 WS-HEX-NBR REDEFINES WS-HEX-NBR-X
PIC 9(03) COMP.
03 WS-HEX-M PIC 9(02).
03 WS-HEX-R PIC 9(02).
03 WS-HEX-X PIC X(16)
VALUE "0123456789ABCDEF".
03 WS-HEX REDEFINES WS-HEX-X OCCURS 16 PIC X.
MOVE SQLERRMC(1:SQLERRML) TO WS-HEX-TBL
PERFORM WITH TEST BEFORE
VARYING WS-HEX-IDX FROM 1 BY 1
UNTIL WS-HEX-IDX > SQLERRML
MOVE WS-HEX-TXT(WS-HEX-IDX) TO WS-HEX-NBR-X2
DIVIDE WS-HEX-NBR BY 16 GIVING WS-HEX-M
REMAINDER WS-HEX-R
ADD 1 TO WS-HEX-M, WS-HEX-R
DISPLAY WS-HEX-IDX " " WS-HEX-TXT (WS-HEX-IDX)
" " WS-HEX-NBR
" " WS-HEX(WS-HEX-M)
WS-HEX(WS-HEX-R)
END-PERFORM
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.