Good post - thanks for the list of values for &sysprocessname.

It would be good to explicitly state that the availability of these variables depends on the SAS version being used. Your macrco code implicitly recognizes this becase you use %symexist to test if &_clientapp variable is defined. All 3 of &_clientapp, &sysprocessname, &sysprocessmode are available in the version of SAS 9.4 running on our Linux servers, but &_clientapp is not available in the versions of PC SAS 9.4 that we are using. Some of the things discussed above are also available in some 9.3 versions.