Reading a hex representation of value in 2 characters, for example 0C from a text file, I need to store the corresponding hex value X'0C' in a program variable as in the following code. I know that COBOL allows to do something like MOVE X'0C' TO somevariable but in my case the literal "0C" is stored in file's record and is not a literal. Thank you.
IDENTIFICATION DIVISION.
PROGRAM-ID. T.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FD-DATA-FILE ASSIGN TO WSIA-FN-FULL
ORGANIZATION IS LINE SEQUENTIAL.
*> --------------------------------------------------------------
DATA DIVISION.
FILE SECTION.
FD FD-DATA-FILE.
01 FD-DATA-REC.
05 POS1 PIC XX.
05 POS2 PIC XX.
*>===============================================================
WORKING-STORAGE SECTION.
01 WS-HEX PIC X.
*>---------------------------------------------------------------
PROCEDURE DIVISION.
OPEN FD-DATA-FILE.
READ RD-DATA-FILE.
*> how to accomplish this: The file may contain any
*> valid combination representing a hex value (15x15)
*> different values.
*> IF POS1 CONTAINS 'FF' MOVE X'FF' TO WS-HEX.
*> IF POS1 CONTAINS '0C' MOVE X'0C' TO WS-HEX.
*>....
CLOSE FD-DATA-FILE.
STOP RUN.