Search code examples
file-iohexmainframerexx

How to write a HEX string into a file as HEX using REXX


I have a string 'RAJA' which should be written into a file as HEX data. Here are sample codes which help me to describe the issue. Case(a)

name = 'RAJA'   
name = C2X(name) /* Hex value = '52414A41' */
QUEUE name.

Output to the file: 52414A41

But if we use HEX data directly to write into file it's working fine Case(b)

name = '52414A41'X
QUEUE name.

Output to the file: RAJA

Issue: In case(a) when the string was converted into HEX using C2X, it returns a HEX data string not a HEX data. But in case(b) as HEX data was written to file. My question is how to let REXX interpreter know that the variable 'name' in case(a) has HEX data and to be written it as HEX. Hope i made the issue clear. Lemme tread towards a solution.


Solution

  • Finally, I could resolve MYSELF issue described top. There is built-in function in REXX called 'INTERPRET', which helps us in building dynamic REXX commands. Here is the single statement, made me run the module successfully:

    INTERPRET name_hex "= '" || name || "'X"
    

    It dynamically creates a REXX statement:

    name_hex = 'name'X
    

    which will tell REXX interpreter the string in 'name' as HEX data.

    Awesome right! Hope I made you clear.. Do get back to me with your questions..