Clean up code after compile
After upgrading I ran a $SYSTEM.OBJ.CompileAllNamespaces("u"). What I got in return was kind of a shock.
In reviewing errors I am seeing code being referenced but no longer applies. It is referring to stuff that might of been defined in the Context , Formal Spec ,Thread , etc.
ERROR #5373: Class 'osuwmc.CPD.DataStructures.TblPharmacyDEA', used by 'osuwmc.CPD.BusinessOperation:SelectProviderTempDEA:FormalSpec', does not exist
ERROR #5373: Class 'osuwmc.FeederPat3BPLTest4', used by 'osuwmc.FeederPat3BPLTest4.Thread1:compileafter', does not exist
ERROR #5373: Class 'osuwmc.DataStructures.MERDABFile.Batch', used by 'osuwmc.CodingBackloadToMidasMERbk:dependson', does not exist
ERROR #6301: SAX XML Parser Error: invalid document structure while processing Anonymous Stream at line 1 offset 1
ERROR #5496: Inverse property, 'osuwmc.CPD.Evariant.PracticeGroup.Record:%ParentBatch', is not defined, 'osuwmc.CPD.Evariant.PracticeGroup.Header:Records'
Is there a program or code that could be run to clean any orphaned code/files that may exist?
Should I concern my self with these errors or just ignore them? Or should I contact WRC?
Thanks
Scott Roth
Comments
I fear there is no such utility by default.
You may need to do it manually to see if it is a real problem or a side effect from parallel compiling.
I just verify it by multiple runs on CompileAll to be sure.
[ I'm just facing a list of ~100 including deployed classes
]
If you have private %classes mapped ito %SYS then you have to compile them manually.
compileAll doesn't include %SYS for good reasons.