We are using SAS 9.4M8 on Windows Server 2026. We experimenting with the AUDIT TRAIL function to catch modification on SAS Tables.
The situation:
1. The SAS library is a concatented SAS library, containing 2 directories
libname input ('g:\sasdata\input' 'h:\sasdata\input);
2. The SAS table "test" is located in the second directory "h:\sasdata\input\test.sas7bdat" and shown as SAS member on the library INPUT.
3. create the AUDIT TRAIL with
proc datasets lib=input;
audit test;
initiate;
quit;
The audit file test.sas7baud created on the 1st directory (g:\sasdata\input\test.sas7baud).
4. Modify the data on table input.test using
- proc sql; insert....;run;
- proc append ...;
All modifications logged on the AUDIT TRAIL correct.
5. Try to terminate the AUDIT TRAIL with
proc datasets lib=input;
audit test;
terminate;
quit;
failed with the ERROR message:
ERROR: File INPUT.TEST.AUDIT does not exist.
ERROR: Audit file open failed for INPUT.TEST.AUDIT.
It seems that the SAS BASE audit trail function can't work with a SAS member that is not located on the 1st directory of a concatenated SAS library.
Contact to the SAS Support doesn't help, they don't understand the usecase, send some links to the SAS documentation and closed the request.
If anyone knows about this issue and can help/have some ideas to make it usesable?
Thanks jürgen
I believe the behavior you are seeing is what is expected based on the documented Rules for Library Concatenation
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.