✒️ABAP La definición de Clases, Atributos, Métodos y Eventos
ABAP La definición de Clases, Atributos, Métodos y Eventos
1. Clases locales y globales
las clases de pueden declarar globalmente o localmente
*las clases globales se definen en el gnerador de claes en la SE24
*las clases globales son almacenadas en el Class Pools en la libreria de clases en el repositorio R/3
*las clases locales de definen en un programa ABAP y solo pueden ser invcadas desde el programa en el que
fue definido
*cuando una clase en ABAP busca primero una clase local con el nombre especificado
*Si no encuentra ninguna clase local entonces busca una clase global
2. Definicion de Clases locales
mediante la sentencias CLASS...ENDCLASS
*una definicion compleja de una clase constara de una parte declarativa, lo que se conoce como dfinicion de
la clase
*la parte declarativa contiene la declaracion de todos los componentes de la clase:
-Atributos
-Metodos
-Eventos
*cuando se defienen clases locales la parte declaratia pertenece a los datos globales del programa, por tanto
se habra de situar al principio del programa
*si se declaran etodos en la parte declarativa de una clase, se debera escribir tambien su parte de
implementacion
*la parte de implementacion contiene la implementacion de todos los metodos de la clase
3. Estructura y componentes de una Clase
la estructura de una clase de define principalente basandose en:
-una clase contiene componentes
-cada componenete se asigna a una seccion de visibilidad (publico, protegido, privado)
-las clases implementan metodos
*los componenetes de una clase representan sus contenidos
*los componenetes definen los atributos de los objetos de una clase
*cuando se define una clase, cada componenete es asignado a una de las 3 destintas secciones de visibilidad
definene la interface externa de la clase
*hay 2 tipos de componenetes en una clase:
-aquellos que existen separadamente para cadaobjeto de una clase
-aquellos que existen solo una vez para la clase entera
en los objetos ABAP las clases pueden definir los siguientes componenetes:
-Atributos
-Metodos
-Eventos
4. Atributos
Son los campos de datos internos de una clase y pueden tener cualquier tipo de datos ABAP
*el estado de un objeto viene determinado por el contenido de sus atributos.
*un tipo de atributos son las variables referenciaes, estas variables permiten crear y acceser a los objetos
*Existen 2 tip de atributos:
-Dependientes de intancia: donde el contenido de los atributos es especifico de cada objeto, estos se
declaran usando la sentencia DATA.
-Independientes de instancia o estaticos: donde el contenido de los atributos define el estado de la clase
y es valido para todas las instancias de la clase
*los atributos estaticos existen solo una vez para la clase, estas se delcaran usando la sentencia CLASS-DATA
son accesibles desde todo el entorni de ejecucion de la clase
5. Metodos
procesdimientos internos de una lcase que definen el omportamiento de un objeto
*los metodos pueden acceder a todos los atributos de una clase, esto permite cambiar el contenido de los
atributos de un objeto
*los metodos poseen tambien una interface con parametros que les permite recibir valores cuando son invocados
y devolver valores despues de la llamada
*los atributos provados de una clase solo pueden ser cambiados por metoos de la misma clase
*la definicion y la interface de un meodo son similares a las de los modulos de funcioes
*un metodo se define en la parte declarativa de la clase y se implementa en la parte de implementacion.
*se pueden declarar tipo de datos locales y objetos en los metodos de la misma manera que en cualquier otro
procedimiento ABAP
*los metodos se llaman mediante la sentecias CALL METHOD
Existen 3 tipo de metodos:
-dependientes de instancia: estos metodos se declaran usando la sentencia METHODS, pueden acceder a todos
los atributos de una clase y pueden desencadenar todos los eventos de una clase
-indepentiendes de instancia o estaticos: se declaran usando la sentencia CLASS-METHODS. solo pueden acceder
a los atributos estaticos y desencader eventos estaticos
-especiales: ademas de los metodos normales que se pueden llamar con la sentencia CALL METHOD, hay 2 metodos
especiales llamados CONSTRUCTOR y CLASS_CONSTRUCTOR que son automaticamente llamados cuando se crea un objeto
(CONSTRUCTOR) cuando se accede por primera vez a los componenetes de la clase (CLASS_CONSTRUCTOR)
6. Eventos
son acontecimiento o sucesos que utilizan los objetos o las clases para desencadenar la ejecucion de un metodo en
otro objeto o clase
*estos metodos se llaman metodo que manejan eventos (Event handler metohds)
*una llamada normal a un metodo, el metodo puede ser llamada por cualquier numero de usuarios
*cuando un evento es desencadenao cualuiqer numero de estos metodos puede ser llamado
*la union entre el disparado del evento TRIGEER y e manejador del evento HANLDLER no es establecida de antemano
*los eventos de una clase pueden ser desencadenads en los metodos de la misma clase usando la sentencia RAISE EVENT
*un metodo de la misma o de diferente clase se declara como metodo manejador de eventos utilizando la adicion
FOR EVENT OF
*los eventos tiene una interface de parametros similar a la de los metodos, pero solo tienen parametros de salida
*el vinculo de union entre el disparado y el manejador (trigger y handler) es establecido dinamicamente en el
programa usaundo la sentencia SET HANDLER
Existen dos tipo de eventos:
-dependientes de instania: se decalran on la sentenci EVENTS, solo pueden ser desencadenados en un metodo
dependiente de instancia
-independientes de instancia o estaticos: de declaran con la sentencia CLASS-EVENT, todos los metodos pueden
desencadenar eventos estaticos
7. Tipo y Constantes
se pueden definir tipo de datos BAP dentro de una clase con la sentencia TYPES, los tipos de datos no son especificos
de cada instancia y existen una sola vez para todos los objetos de la clase
*las constates son un tipo especial de atributos estaticos, su valor de fija cuando son declaradas y no puede ser cambiado
*las constantes de declaran usando la sentencia CONSTANTS, las constantes existen una sola vez para todos los objetos
de la clase
8. visibilidad de una Clase
la parte declarativa o definicion de una clase se divide en 3 areas de distinta visibilidad:
*Publicl section
*protected section
*private section
estas definen la visibilidd externa de los componenetes de la clase esto es: la interfaz entre el USAURIO y la CLASE
*Public Section: todos los componentes declarados son accesibles para todos los usuarios de la clase y para todos los metodos
*Protectec Section: todos los componentes declarados son accesibles para todos los metodos de la clase y de las clases que
heredan de ella
*Private Section: los componenetes declarados solo son visibles en los metodos de la misma clase
 
 
 
Sobre el autor
Publicación académica de Juan Antonio Alvarado Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Antonio Alvarado Rodriguez
Profesión: Ingeniero Programador Abap - Mexico - Legajo: BZ30A
✒️Autor de: 31 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Juan Alvarado