Use the INTERFACE construct
- Last Updated: January 22, 2026
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
The INTERFACE construct represents
all of the statements that can comprise an interface definition.
The interface definition specifies a main block, starting with an INTERFACE statement
that identifies the interface. After any USING statements,
the first compilable line in a class definition file that defines
an interface must be this INTERFACE statement.
The last statement in an interface definition must be the END INTERFACE statement,
which terminates the main block of the interface. An interface compiles
to r-code similar to a class.
INTERFACE statement is
only valid in a file with the .cls extension.The main block of the interface contains statements that specify the property, method, and event names and signatures that any class implementing the interface must define. Interfaces do not specify data members to implement, but can contain temp-table and ProDataSet definitions that are used for parameters in specified property, method, or event prototypes. No allocation is associated with these definitions. These temp-table and ProDataSet definitions must occur before any property, method, or event prototypes in the main block of the interface are specified. Any class implementing an interface with temp-table or ProDataSet parameters must repeat those definitions within the class.
When compiling a class that implements an interface with temp-table or ProDataSet parameters, the definition of a given temp-table or ProDataSet in the implementing class must be compatible with the definition of the corresponding temp-table or ProDataSet in the interface. The compiler's compatibility rules are the same as those enforced when passing temp-table or ProDataSet parameters. For more information, see Parameter passing syntax in the ABL Reference.