#ABAP#ABAP OO#Events

Events in ABAP OO: the emitter doesn't know who's listening, and that's the point

EVENTS, RAISE EVENT and SET HANDLER let you decouple who triggers an action from who reacts. The ABAP emitter-handler model, with its ordering and registration traps. With real ABAP OO.

Feb 9, 2026

#ABAP#ABAP OO#Exceptions

Class-based exceptions in ABAP: stop staring at sy-subrc

TRY CATCH, the CX_ROOT hierarchy and chaining with PREVIOUS. Why class-based exceptions beat sy-subrc and how not to lose the root cause of an error. With real ABAP OO.

Feb 7, 2026

#ABAP#ABAP OO#Polymorphism

Polymorphism and casting in ABAP: the parent reference, the child's method

Polymorphism lets you treat different objects through a single access point. Narrowing and widening casts, when they are safe and when they raise CX_SY_MOVE_CAST_ERROR. With real ABAP OO.

Feb 5, 2026

#ABAP#ABAP OO#Interfaces

Interfaces versus inheritance in ABAP: pick a contract, not a family tree

ABAP only supports single inheritance and solves multiple inheritance with interfaces. When to inherit, when to implement an interface, and why the interface usually wins. With real ABAP OO.

Feb 2, 2026

#ABAP#ABAP OO#Encapsulation

Encapsulation in ABAP: every public attribute is a debt

PUBLIC, PROTECTED, PRIVATE and READ-ONLY aren't bureaucracy. They are your class's contract with the rest of the system, and over-declaring today gets paid back on every evolution. With real ABAP OO.

Feb 1, 2026

#ABAP#ABAP OO#Classes

Classes and objects in ABAP: the mold is not the furniture

A class is a template; an object is an instance with its own state. Grasping that difference, and the role of NEW versus CREATE OBJECT, is what separates real ABAP OO from procedural code in disguise.

Jan 30, 2026

← All posts