So below I'll step by step reproduce error which occurs after using proc compare with tables which has no-standard sas format.
Please open EG(version of mine 4.1(184.108.40.2069), and execute step-by this code below:
/*create small test dataset*/
/*create datastep with fields for format*/
keep start label FmtName;
proc format library=work cntlin=testFormatTable;
/*create two datasets - one use this test format created higher,secon dataset - use standard sas format*/
create table dset1 as
select id as IdField,
1 format testFormatName. as Status
order by idField
create table dset2 as
select id as idField,
2 format 15. as Status
So as result you will see normall usual results - html report and "difference" table.You can run this proc compare few times - all will be the same.
But, if you manually open difference table(for reviewing data), and then close it, for clear lock, and then again run same proc compare - you will have
Usual error which I had - proc compare runs for a long time, ate 50 % of cpu time, and never ends, so I had to manually kill sas process.
In more complicated tasks, when I used sorts procedure before proc compare I had such error(after second run same proc report):
Also if I tried delete(using simpe proc sql) unneeded tables before runing proc compare again it throws such error:
ERROR: You cannot open SASHELP.TEST1.DATA for output access with
member-level control because SASHELP.TEST1.DATA is in use
by you in resource environment IOM ROOT COMP ENV.
So looks like proc compare with EG sometimes ,in specific conditions(specific format etc.) lock tables which participate in proc compare as input or output tables.
It's not usual lock, I tried create and clear lock using standard SAS tuls, but it didn't help, this "difference" tables treat as no locked(syslckrc macrovar=0).
So if someone had same or similar error - please answer.
This seems to be a fairly specific case and anything that results in a Read Access Violation probably should be reported to Tech Support -- especially since it involves PROC COMPARE -and- Enterprise Guide.