With both data files, data look consistent up to column 159, with difference occuring at column 160. If column 160 contains a '-' then that field is 1 char wider, and everything gets pushed right. SAS is extremely flexible in handling inputs, so if I understand your problem and data correctly, then something like this should work: input .... <up to column 159> @160 byte $char1. @; /* read up to 159, read single character @ 160, @ holds the line */ if byte = '-' then input @160 (afrpf or lbpf) 4. <followed by list of variables> ..... ; else input @160 (afrpf or lbpf) 3. <followed by list of variables> ..... ; (I'm not sure what field is at column 160, put the appropriate variable name there) This method can be repeated as often as necessary to keep on shifting right as necessary. Hope this helps. Good Luck. SAS can read, with probability 1, anything! http://www2.sas.com/proceedings/sugi29/253-29.pdf
... View more