I was wondering if anyone knows of an issue where a value will be truncated intermittently. If not can anyone tell me what I am doing wrong.
Here is my code to create the table. the sample file I pull the data from is attached
data AccgOUTmsgs;
infile "C:\data\logs\20130726\SOMEONE_TEST.out" dlm='01'x MISSOVER;
input
timeout 10.
ns_out 9.
@'35=' outmsgtype :$1.
@'56=' targetcompid :$30.
@'11=' clordid :$50.
@'39=' orderstatus :$1.
@'55=' symbol :$7.;
DATETIMEOUT = dhms('01jan1970'd,0,0, timeout);
FORMAT DATETIMEOUT DATETIME.;
complete_timeout = cat(of timeout ns_out);
RUN;
OUTPUT shows some of my symbols are being truncated. they should all be USD/JPY but some show as USD/JP. Other examples are U and US. I dont know what is causing this to happen.
timeout,ns_out,outmsgtype,targetcompid,clordid,orderstatus,symbol,DATETIMEOUT,complete_timeout
1374801420,699420767,8,SOMEONE-CCG-1,(4 2780 2),A,USD/JPY,26JUL13:01:17:00,1374801420699420767
1374801420,699518420,8,SOMEONE-CCG-1,(4 2780 2),0,USD/JPY,26JUL13:01:17:00,1374801420699518420
1374801420,900818804,8,SOMEONE-CCG-1,(4 2780 2)C,6,USD/JP,26JUL13:01:17:00,1374801420900818804
1374801420,926842284,8,SOMEONE-CCG-1,(4 2780 2),2,,26JUL13:01:17:00,1374801420926842284
1374801420,927011224,9,SOMEONE-CCG-1,(4 2780 2)C,2,,26JUL13:01:17:00,1374801420927011224
1374801425,934460890,0,SOMEONE-CCG-1,,,,26JUL13:01:17:05,1374801425934460890
1374801420,900818804,8,SOMEONE-CCG-1,(4 2780 2)C,6,USD/JP,26JUL13:01:17:00,1374801420900818804
1374801420,900818804,8,SOMEONE-CCG-1,(4 2780 2)C,6,USD/JP,26JUL13:01:17:00,1374801420900818804
1374801420,900818804,8,SOMEONE-CCG-1,(4 2780 2)C,6,USD/JP,26JUL13:01:17:00,1374801420900818804
1374801420,900818804,8,SOMEONE-CCG-1,(4 2780 2)C,6,USD/JP,26JUL13:01:17:00,1374801420900818804
1374801420,900818804,8,SOMEONE-CCG-1,(4 2780 2)C,6,USD/JP,26JUL13:01:17:00,1374801420900818804
Attached Data File is FIX string with '01' delimiter
thanks
Default line length that will be read is 256, try adding LRECL=500 (for your example data) to the INFILE statement to read longer lines.
On several of your records the Y in JPY falls in column 257 so that is why you're getting that particular truncation.
Default line length that will be read is 256, try adding LRECL=500 (for your example data) to the INFILE statement to read longer lines.
On several of your records the Y in JPY falls in column 257 so that is why you're getting that particular truncation.
That did it. thanks for helping with my rookie mistake.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.