Procedural code
- Last Updated: March 12, 2026
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
Many different types of OpenEdge projects and applications include ABL
persistent procedures. For the purpose of this discussion, however, procedural code
refers to non-specialized procedure files (usually named with a
.p
extension) and include files (usually named with a .i extension). In
Progress Developer Studio for OpenEdge, these resources are referred to as:- ABL Procedure
- ABL Include
The procedural programming model differs significantly from the object-oriented (class-based) model, but objects of both types can communicate with each other and can coexist in the same application. In general, the run-time nature of procedural coding supports a dynamic coding model more easily than does class-based programming. Class-based programming, on the other hand, supports a simplified program structure that can be easier to maintain and can facilitate reuse of code among objects. Because you can mix procedures and class-based objects in the same application, you can choose the model that best serves a given programming task in your application.