01 WS-TLV-HEX-CHAR PIC X(256) VALUE '3032'.
01 WS-IN-LENGTH PIC S9(3) COMP-3 VALUE 1.
01 WS-HEX-CHAR-RESP PIC S9(3) COMP-3.
01 WS-HEX-CHAR-RESP-DISP PIC 9(3).
01 VAR1-DISP PIC 9(4).
01 WS-IN PIC X(1) VALUE 'C'.
01 WS-ASCII-HEX.
05 SUB1 PIC S9(4) COMP.
05 FILLER REDEFINES SUB1.
07 FILLER PIC X(1).
07 SUB1-HEX PIC X(1).
01 WS-AN PIC X(26) VALUE
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
01 WS-HEX-HEADER.
05 WS-ICC-HEX-BYTES PIC X(128) VALUE SPACE
05 WS-ICC-VALUE REDEFINES WS-ICC-HEX-BYTES.
10 VAR1 PIC S9(04) COMP.
10 FILLER PIC X(126).
PROCEDURE DIVISION.
EVALUATE WS-IN
WHEN '1' THRU '9'
DISPLAY 'NUMERIC'
WHEN 'A' THRU 'Z'
DISPLAY 'ALPHA'
WHEN OTHER
DISPLAY 'INVALID'
END-EVALUATE
MOVE ZERO TO SUB1
INSPECT WS-AN TALLYING SUB1 FOR CHARACTERS BEFORE 'A'.
DISPLAY SUB1
ADD 65 TO SUB1
DISPLAY SUB1
DISPLAY SUB1-HEX
MDEgV1MtVExWLUhFWC1DSEFSICAgICAgICBQSUMgWCgyNTYpIFZBTFVFICczMDMyJy4gCjAxIFdTLUlOLUxFTkdUSCAgICAgICAgICAgUElDIFM5KDMpIENPTVAtMyBWQUxVRSAxLgowMSBXUy1IRVgtQ0hBUi1SRVNQICAgICAgIFBJQyBTOSgzKSBDT01QLTMuICAgICAgICAKMDEgV1MtSEVYLUNIQVItUkVTUC1ESVNQICBQSUMgOSgzKS4gICAgICAgICAgICAgICAgCjAxIFZBUjEtRElTUCAgICAgICAgICAgICAgUElDIDkoNCkuICAgICAgICAgICAgICAgIAowMSBXUy1JTiAgICAgICAgICAgICAgICAgIFBJQyBYKDEpIFZBTFVFICdDJy4gICAgICAKMDEgV1MtQVNDSUktSEVYLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgIDA1IFNVQjEgICAgICAgICAgICAgICAgUElDIFM5KDQpIENPTVAuICAgICAgICAgIAogICAwNSBGSUxMRVIgUkVERUZJTkVTICAgIFNVQjEuICAgICAgICAgICAgICAgICAgICAKICAgICAgMDcgRklMTEVSICAgICAgICAgICBQSUMgWCgxKS4gICAgICAgICAgICAgICAgCiAgICAgIDA3IFNVQjEtSEVYICAgICAgICAgUElDIFgoMSkuICAgICAgICAgICAgICAgIAowMSBXUy1BTiAgICAgICAgICAgICAgICAgIFBJQyBYKDI2KSBWQUxVRSAgICAgICAgICAKJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJy4gICAgICAgICAgICAgICAgICAgICAgCjAxIFdTLUhFWC1IRUFERVIuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAwNSBXUy1JQ0MtSEVYLUJZVEVTICAgICAgIFBJQyBYKDEyOCkgVkFMVUUgU1BBQ0UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgIDA1IFdTLUlDQy1WQUxVRSBSRURFRklORVMgV1MtSUNDLUhFWC1CWVRFUy4gICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgMTAgIFZBUjEgICAgICAgICAgICAgICBQSUMgUzkoMDQpIENPTVAuICAgICAgCiAgICAgICAxMCAgRklMTEVSICAgICAgICAgICAgIFBJQyBYKDEyNikuICAgICAgICAgICAgICAgICAgClBST0NFRFVSRSBESVZJU0lPTi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBFVkFMVUFURSBXUy1JTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBXSEVOICcxJyBUSFJVICc5JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgIERJU1BMQVkgJ05VTUVSSUMnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBXSEVOICdBJyBUSFJVICdaJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgIERJU1BMQVkgJ0FMUEhBJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBXSEVOIE9USEVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgIERJU1BMQVkgJ0lOVkFMSUQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBFTkQtRVZBTFVBVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBNT1ZFIFpFUk8gVE8gU1VCMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBJTlNQRUNUIFdTLUFOIFRBTExZSU5HIFNVQjEgRk9SIENIQVJBQ1RFUlMgQkVGT1JFICdBJy4gCiAgICBESVNQTEFZIFNVQjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBBREQgNjUgVE8gU1VCMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBESVNQTEFZIFNVQjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBESVNQTEFZIFNVQjEtSEVY