I am trying to read a number of FIX TAGS but can not guarentee the order that the tags will be placed in a file and between different files.. Is there a way to use the @ pointer in a way where the tag of interest is not always in the same order reletive to the other tags? Should I consider a different method to get the data I need? Maybe substring?
data ccgINmsgs;
infile &ccgorderspath &ccgrecord &readlength;
input timein 19.
@'35=' inmsgtype :$1.
@'49=' sendercompid :$30.
@'52=' fixtimein :$21.
@'11=' clordid :$50.
@'55=' symbol :$7.;
humantimein = input(substr(fixtimein,10,8), time8.);
humanDATEin = input(substr(fixtimein,1,8), ANYDTDTE8.);
complete_timein = dhms(humanDATEin,0,0,humantimein);
format complete_timein datetime16.;
format humanDATEin DATE8.;
*ns_timein = input(substr(timein,10,9), 9.);
RUN;
sample data: this string breaks because tag 52 comes before 49. this is out of the expected order.
13739260586369179258=FIX.4.3 9=0156 35=D 52=20130715-22:07:38 34=48 49=XXXX-CCG-1 56=FXALL 1=XXXX_XXXX 54=1 11=69432400003 38=1000000 55=GBP/USD 44=1.5101900 40=2 60=20130715-22:07:38 64=SPOT 10=060
Can you start the search from column 1 each time.
Can you start the search from column 1 each time.
That did it... its the little things that get me.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.