there are many. However, one which tripped our programmers up a lot and
still does, (occurred when moving from V6 to V8) regards uninitialised
macro variables. In V6 an unintialised macro var caused no rc problems. In
V8 it is a 4. This was further compounded by a change in the scoping rules.
The particular obscure case we spent a lot of time on was issung a PROC SQL
inside a macro, which created a macro variable. In V6 it was always global,
in V8 it followed the standard scoping rules and thus was local if a local
macro variable symbol table exists at the time of the SQL running. This was
really bringing various scoping anomalies into line in SAS, but
unfortunately they forgot to tell us, and it impacted legacy programs.
I recall this one because of its high impact. There were overnight callouts
and all sorts of problems resolving this -- so much so that the site
reconsidered developing in SAS to try and ensure no repeats.
I'll try and obtain some more info from that site about other RC=4 things --
I'm haven't been their for over a year now and don't have mainframe SAS