data b;
set a1;
length seg $200.;
if length(avalc)<=200 then do;flag=1;seg=avalc;output;end;
if length(avalc)>200 then do;
seg=substr(avalc,1,200);
flag=1;
output;
seg=substr(avalc,201);
flag=2;
output;
end;
run;
data c;
set b;
length seg_re f1 f2 lag_ out $200.;
if length(avalc)>200 then do;
seg_re=reverse(seg);
if substr(seg_re,1,1)^=',' then do;
f2=reverse(scan(seg_re,1,','));
f1=reverse(substr(seg_re,length(f2)+1));
end;
lag_=lag(f2);
new=strip(lag_)||strip(f2);
if flag=2 then out=new;else out=f1;
end;
run;
data fin0(rename=(out1=avalc));
set c;
length out1 $200.;
label RECSEQ='Record Sequence' out1='Analysis Value';
RECSEQ=flag;
if length(avalc)>200 then out1=out;
else out1=avalc;
drop avalc;
run;
|