User Defined language with Select statement AND Select group
In developing a UDL for SAS I have a problem. SAS supports Select groups as in PL/I but it also supports SQL and its Select statement. So I might have
Select (X); When (a) X=1; When (b) X=2; When (c) X=3; Otherwise X=4; End;
But I might also have
Select * From ABC;
I’d like to fold the first case on “Select”/“End” but then the second case causes subsequent folding to fail because there is no “End” to fold on. SAS statements all end in a semicolon, and SAS also supports Do groups closed by an “End” statement. Is there a way to define the UDL so it folds correctly in the first case and doesn’t fold or fail in the second?