For clarification, this is not SAS Technical Support - that's a different (paid) channel, except maybe the wonderful and thought-provoking Cynthia...
Your SAS code that builds the START variable must match exactly the SAS code that constructs the PUT function argument #1.....they do not appear to be consistent.
So, for self-debugging, have you attempted to analyze the generated format, either with the PROC FORMAT FMTLIB parameter, or better yet, use CNTLOUT= to unload your format and do a PROC PRINT on the SAS-generated file specified on CNTLOUT.
You mention something about "..I need to output Quest1..." but you do not share allof your SAS DATA step code that uses HA_QUES_TXT -- the variable assigned from the PUT function. A match-condition will result in a value of KEEP -- so what do you do then?
Scott Barry
SBBWorks, Inc.