OOP ABAP
ABAP DevelopmentAdvanced

OOP ABAP in S/4HANA, RAP and Clean Core

Understand why OOP ABAP is essential for S/4HANA, RAP, ABAP Cloud and clean core development.

Explanation

Modern SAP development relies heavily on object-oriented ABAP. RAP behavior implementations, service classes, API wrappers, validations, determinations, actions, class-based exceptions and testable business logic all require OOP understanding. Clean core development also encourages extensions that are modular, upgrade-safe and easier to test. OOP ABAP helps separate business logic from UI, database access and integration layers. A developer who understands only procedural ABAP may struggle with RAP and modern S/4HANA patterns. A strong consultant should be able to explain how classes, interfaces, service layers and exceptions support modern SAP design.

Code example

ABAP Code
CLASS zcl_order_decision_service DEFINITION PUBLIC FINAL CREATE PUBLIC.  PUBLIC SECTION.    METHODS can_approve      IMPORTING is_order TYPE zstr_order      RETURNING VALUE(rv_allowed) TYPE abap_bool.ENDCLASS. CLASS zcl_order_decision_service IMPLEMENTATION.  METHOD can_approve.    rv_allowed = xsdbool( is_order-net_value < 100000 AND is_order-blocked = abap_false ).  ENDMETHOD.ENDCLASS.

Real project scenario

A custom approval process in S/4HANA uses a RAP behavior implementation class for validation and actions, a service class for reusable decision logic and class-based exceptions for controlled error messages.

Common mistakes

- Trying to write RAP logic like old procedural reports. - Putting all behavior logic in one huge method. - Not separating reusable service logic. - Ignoring class-based exception handling.

Best practices

- Use service classes for reusable business logic. - Keep RAP behavior methods focused. - Use interfaces for flexible implementation. - Use class-based exceptions for controlled error handling. - Design with clean core and upgrade safety in mind.

Interview angle

For S/4HANA and architect interviews, explain how OOP ABAP supports RAP, clean core, testability and reusable service design.