Well, ultimately *all* values are binary. What I need to do is read in these values either as binary or hexadecimal and then format them or write them to a string variable as a hexadecimal representation of the value stored in the two bytes. Informats in SAS usually do some conversion, so I am fine with whatever informat I use converting it to a decimal value when it is stored in the SAS data vector, but I should be able to then write it out in whatever format I choose. So, I have tried reading it in using: PIB2., IB2., PK2., HEX2., CHAR2., $PHEX2. and probably a few more. Some give errors or warnings and I have taken heed and am not using those again. I have just used PIB2. and IB2. as informats (no warnings) but when I try to "write it out" as a string of characters I am not successful. @0553 SUSPCD01 PIB2. 220 SCTEST1 = PUT(SUSPCD01,$HEX4.); WARNING: Variable SUSPCD01 has already been defined as numeric. Furthermore, I get these results: PROC PRINT; FORMAT SUSPCD01 HEX4.; FORMAT SUSPCD02 BEST4.; FORMAT SUSPCD03 IB8.; VAR SUSPCD01 SUSPCD02 SUSPCD03 SCTEST1 SCTEST2 SCTEST3 ; ----------------------------------------------------- The SAS System Obs SUSPCD01 SUSPCD02 SUSPCD03 SCTEST1 SCTEST2 SCTEST3 11658 Again, I appreciate all the advice and support (for a first time poster this is especially nice) and I feel like I am really close, but missing some basic fact or bit of information. (computer nerd humor embedded in that last comment!)
... View more