✒️ABAP / La definición de Clases, Atributos, Métodos y Eventos Por Roberto Fluder Ahumada
ABAP La definición de Clases, Atributos, Métodos y Eventos

Lección: Definición de Clases, Atributos, Métodos y Eventos
• Clases locales y globales
â—¦ Descripción: Las clases en ABAP pueden ser declaradas globalmente o localmente, lo que impacta su accesibilidad y administración en el sistema.
â—¦ Clases globales: Se definen y gestionan mediante la transacción SE24 en el ABAP Workbench y son accesibles desde cualquier programa ABAP. Se almacenan en los Class Pools en la librería de clases en el Repositorio R/3.
â—¦ Clases locales: Se definen dentro de un programa ABAP específico, entre las sentencias CLASS...ENDCLASS, y solo pueden ser invocadas desde ese mismo programa. Cuando se usa una clase en ABAP, el sistema busca primero una clase local con el nombre especificado; si no la encuentra, busca una global.
â—¦ Estructura de la definición: Una definición de clase completa consta de una parte declarativa (o definición), donde se definen los componentes, y una parte de implementación, donde se implementan los métodos. La parte declarativa en clases locales debe situarse al principio del programa, en los datos globales.
• Estructura y Componentes de una Clase
â—¦ Descripción: La estructura de una clase se define por sus componentes, la asignación de cada componente a una sección de visibilidad (pública, protegida o privada), y la implementación de sus métodos.
â—¦ Declaración de componentes: Todos los componentes se declaran en la parte declarativa y definen los atributos de los objetos de esa clase.
â—¦ Visibilidad y unicidad: Todos los componentes dentro de una clase son visibles entre sí y deben tener nombres únicos dentro de la clase.
â—¦ Tipos de componentes: Pueden ser dependientes de instancia (existen por separado para cada objeto) o independientes de instancia o estáticos (existen una única vez para toda la clase, sin importar el número de instancias).
â—¦ Componentes de Objetos ABAP: En Objetos ABAP, las clases pueden definir Atributos, Métodos y Eventos.
• Atributos
â—¦ Descripción: Son los campos de datos internos de una clase que determinan el estado de un objeto y pueden ser de cualquier tipo de datos ABAP.
â—¦ Dependientes de instancia: Su contenido es específico para cada objeto y se declaran usando la sentencia DATA.
â—¦ Independientes de instancia o estáticos: Su contenido define el estado de la clase para todas sus instancias y se declaran usando la sentencia CLASS-DATA. Existen una única vez para la clase y los cambios en un objeto son visibles en todos los demás objetos de la misma clase.
• Métodos
â—¦ Descripción: Son procedimientos internos de una clase que definen el comportamiento de un objeto y pueden acceder y modificar el contenido de sus atributos. Tienen una interfaz con parámetros para recibir y devolver valores, similar a los módulos de funciones.
â—¦ Declaración e implementación: Se definen en la parte declarativa de la clase y se implementan en la parte de implementación.
â—¦ Dependientes de instancia: Se declaran con METHODS y pueden acceder a todos los atributos y desencadenar todos los eventos de una clase.
â—¦ Independientes de instancia o estáticos: Se declaran con CLASS-METHODS y solo pueden acceder a atributos estáticos y desencadenar eventos estáticos.
â—¦ Especiales: Incluyen CONSTRUCTOR (llamado automáticamente al crear un objeto) y CLASS_CONSTRUCTOR (llamado automáticamente al acceder por primera vez a los componentes de la clase).
• Eventos
â—¦ Descripción: Son acontecimientos o sucesos que los objetos o las clases utilizan para desencadenar la ejecución de un método en otro objeto o clase.
â—¦ Declaración: Se declaran en la parte declarativa de una clase o en una interfaz. Pueden especificar parámetros de salida (EXPORTING) que se pasan al manejador.
â—¦ Tipos de Eventos:
â–ª Dependientes de instancia: Se declaran con EVENTS y solo pueden ser disparados por un método dependiente de instancia. Contienen el parámetro implícito SENDER.
â–ª Independientes de instancia o estáticos: Se declaran con CLASS-EVENTS y pueden ser desencadenados por todos los métodos, incluidos los estáticos.
â—¦ Métodos manejadores: Son los métodos que se ejecutan cuando ocurre un evento, declarados con la adición FOR EVENT OF.
â—¦ Unión dinámica: La conexión entre el disparador (trigger) del evento y su manejador (handler) se establece dinámicamente en tiempo de ejecución utilizando la sentencia SET HANDLER. Los manejadores se ejecutan de forma sincrónica y en el orden en que se registran. Para evitar bucles infinitos, los eventos solo pueden anidarse 64 niveles.
• Tipos y Constantes
â—¦ Tipos: Las clases pueden definir tipos de datos ABAP locales dentro de una clase con la sentencia TYPES. Estos tipos no son específicos de cada instancia y existen una sola vez para todos los objetos de la clase.
â—¦ Constantes: Son un tipo especial de atributos estáticos declarados con CONSTANTS. Su valor se fija al ser declaradas y no puede ser modificado. También existen una sola vez para todos los objetos de la clase.
• Visibilidad de una Clase
â—¦ Descripción: La parte declarativa de una clase se divide en tres áreas de visibilidad que determinan qué componentes son accesibles externamente.
â—¦ PUBLIC SECTION (Parte Pública): Los componentes aquí son accesibles para todos los usuarios y métodos de la clase, y para cualquier clase que herede de ella, formando la interfaz externa de la clase.
â—¦ PROTECTED SECTION (Parte Protegida): Los componentes en esta sección son accesibles para todos los métodos de la clase y de las clases que heredan de ella, conformando la interfaz entre una clase y sus subclases.
â—¦ PRIVATE SECTION (Parte Privada): Los componentes declarados aquí solo son visibles para los métodos de la misma clase y no forman parte de su interfaz externa. La encapsulación se basa en estas tres áreas de visibilidad, ocultando la implementación interna del objeto.
 
 
 
Sobre el autor
Publicación académica de Roberto Fluder Ahumada, en su ámbito de estudios para el Curso SAP ABAP Avanzado.
Roberto Fluder Ahumada
Profesión: Analista de Sistemas - Chile - Legajo: TD38U
✒️Autor de: 59 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Roberto Fluder






Disponibilidad Laboral: FullTime


















