In reply to Peter Lancashire.

I understand your request, but that's not likely to happen. The PUSH statement simply sends statements to the SAS execution queue. The statements are indistinguishable from other statements that have been submitted. SAS does not support "unsubmitting" or clearing statements that have been submitted for execution. In particular, PROC IML uses the same mechanism as CALL EXECUTE in the DATA step, which might be more familiar to you. The CALL EXECUTE statement pushes statements onto the SAS execution queue. There is no way to "unsubmit" statements that have been submitted.