Salesforce

What does the message compilation is out of date mean ?

« Go Back

Information

 
TitleWhat does the message compilation is out of date mean ?
URL Name000039078
Article Number000161735
EnvironmentProduct: OpenEdge
Version: All Supported Versions
OS: All Supported Platforms
Question/Problem Description
Instantiating an ABL class results in a message that the class is out of date.

Accessing an OOABL class member results in a message that the compilation is out of date.

Error 12882 occurs after making changes to specific class(es).
 
Steps to Reproduce
Clarifying Information
Error MessageCould not access element <Element Name> of class <Class Name> using object of type <Object Type> - compilation is out of date. (12882)
Defect Number
Enhancement Number
Cause
Resolution
This message is intended to report that there is a mismatch in an object's public or protected methods or properties. There was an attempt to use a method or variable of an OOABL object, but when the runtime loaded the r-code for the class and its superclass(es), it detected a significant mismatch between the class definitions. The AVM (Progress runtime) was not able to find a referenced element in the object's r-code. This would be because the r-code files were compiled at different times and the class or superclass source code has been changed significantly, causing the caller r-code to be out of sync. If the object is being referenced through an interface type, the class referenced in the message is out of sync with the interface. 

For example, the following error is returned:

Could not access element 'getName' of class 'GetData' using object type 'GetData' - compilation is out of date (12882).

- In this instance GetData is a superclass with a method called getName. 
- When a class (call it main.cls) that references GetData was originally compiled the method getName was public.
- The superclass GetData is subsequently changed and getName becomes PROTECTED.
- When main.cls next runs it is unable to find the public getName method and reports the 12881 error.

To resolve this problem, re-compile all code that references modified classes.
Workaround
Notes
Keyword Phrase
Last Modified Date7/10/2017 7:04 AM

Powered by