
Introducción: Las clases en ABAP son el fundamento de la programación orientada a objetos en SAP, permitiendo crear código más organizado, reutilizable y mantenible. Existen clases globales (accesibles en todo el sistema) y locales (específicas de un programa).
Tipos de Clases en ABAP Clases Globales (SE24)
-
Definición: Se crean en el Generador de Clases (SE24)
-
Almacenamiento: Se guardan en Class Pools en el repositorio
-
Accesibilidad: Disponibles para todos los programas del sistema
-
Uso ideal: Para funcionalidades reutilizables en múltiples programas
Clases Locales
-
Definición: Se declaran dentro de un programa ABAP entre CLASS...ENDCLASS
-
Alcance: Solo accesibles desde el programa donde se definen
-
Prioridad: El sistema busca primero clases locales, luego globales
Definición e Implementación de Clases Estructura Básica

Ejemplo Práctico: Clase COUNTER

Componentes de una Clase Atributos (Variables)
Métodos (Funciones)
-
Instancia: METHODS metodo - Operan sobre instancias específicas
-
Estáticos: CLASS-METHODS metodo - No requieren instancia
-
Especiales: CONSTRUCTOR y CLASS_CONSTRUCTOR - Ejecución automática
Eventos
-
Declaración: EVENTS evento o CLASS-EVENTS evento
-
Activación: RAISE EVENT evento
-
Manejo: METHODS manejador FOR EVENT evento OF clase
Secciones de Visibilidad
Sección Acceso Uso Recomendado
| PUBLIC |
Todos los usuarios |
Interface principal de la clase |
| PROTECTED |
Clase y subclases |
Componentes para herencia |
| PRIVATE |
Solo la clase misma |
Implementación interna |
Consejos Prácticos y Errores Comunes
-
Diseño: Usa clases globales para funcionalidad reutilizable, locales para lógica específica de un programa
-
Error: Exponer atributos públicamente cuando deberían ser privados
-
Patrón: Mantén los atributos en PRIVATE y provee métodos públicos para acceder/modificarlos
-
Organización: Define primero la sección PUBLIC, luego PROTECTED, finalmente PRIVATE
Conclusión:
Takeaway principal: Las clases en ABAP permiten aplicar los principios de POO mediante la encapsulación de datos y comportamientos en componentes organizados por secciones de visibilidad.
Advertencia final: No abuses de los componentes estáticos - pueden generar acoplamiento y hacer el código difícil de testear. Usalos solo cuando realmente necesites compartir estado entre todas las instancias.
Términos Clave
-
Class Pool: Tipo de programa ABAP que contiene la definición de una clase global
-
SE24 (Class Builder): Transacción para crear y mantener clases globales
-
Instancia: Objeto concreto creado a partir de una clase
-
Atributo de Instancia: Variable que existe en cada objeto individual
-
Atributo Estático: Variable compartida por todos los objetos de una clase
-
Método Constructor: Se ejecuta automáticamente al crear una instancia
-
Método de Clase Constructor: Se ejecuta al acceder por primera vez a la clase
-
Sección de Visibilidad: Define qué componentes son accesibles y desde dónde