Try this one:
data x;
infile cards dlm='*~';
input x : $40. @@;
cards;
CLM*178*322.56***12+B+1*Y*A*Y*Y**NTE*19*94289*WER~
CLM*123 *322.56***11+A+1*Y*A*Y*Y* *90289*RRW~
CLM*223 *322.56***11+A+1*Y*A*Y*Y* NTE*11*93289*RRW~
CLM*120 *322.56***11+A+1*Y*A*Y*Y* NTE*17*91289*SEW~
;
run;
data temp;
set x;
if x in ('CLM' 'NTE') or lag(x) in ('CLM' 'NTE') then output;
run;
data temp;
set temp;
if x='CLM' then group+1;
run;
data clm(keep=group clm) nte(keep=group nte);
set temp;
if lag(x)='CLM' then do;clm=x;output clm;end;
if lag(x)='NTE' then do;nte=x;output nte;end;
run;
data want;
merge clm nte;
by group;
run;
... View more