🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP La definición de Clases, Atributos, Métodos y Eventos

ABAP La definición de Clases, Atributos, Métodos y Eventos

ABAP La definición de Clases, Atributos, Métodos y Eventos

2° Definición de Clases, Atributos, Métodos y Eventos

1- Clases Locales y Globales

Las Clases en ABAP se pueden declarar en forma Global o Local.

  • Clases Globales
  • Se definen a través de la Trx SE24 (Generador de Clases).
  • Son almacenadas en el Class Pools en la Librería de Clases en el Repositorio R/3.
  • Todos los programas ABAP en un sistema R/3 pueden accederlas.
  • Deben estar preparadas para ser usadas en cualquier parte.
  • Clases Locales
  • Se definen en un programa ABAP
  • Solo pueden ser invocadas desde el programa en el que se han definido.
  • Son recomendadas cuando se van a utilizar en un solo programa.
  • Diferencias y Similitudes
  • Cuando se usa una Clase en un programa ABAP, el sistema primero la busca como Clase Local dentro del programa. Si no encuentra, entonces la busca como Clase Global.
  • Las diferencias entre ambas están en la forma de crearlas y la Visibilidad.
  • El uso es el mismo.

2- Definición de Clases Locales

Una definición completa de una Clase constará de una Parte Declarativa y de una Parte de Implementación.

  • Declarativa o Definición
  • Contiene la Declaración de todos los componentes de la Clase (Atributos, Métodos y Eventos)
  • Al pertenecer a los Datos Globales del programa se deben situar al principio del mismo

CLASS counter DEFINITION.

PUBLIC SECTION.

METHODS: set IMPORTING value(set_value) TYPE i,

increment,

get EXPORTING value(get_value) TYPE i.

PRIVATE SECTION.

DATA count TYPE i.

ENDCLASS.

  • Implementación
  • Se debe incluir si se declaran Métodos en la parte Declarativa
  • Contiene la Implementación de todos los Métodos de la Clase.
  • Actúa como un bloque (una sección de código que no esté en el bloque no será accesible).

CLASS counter IMPLEMENTATION.

METHOD set.

count = set_value.

ENDMETHOD.

METHOD increment.

ADD 1 TO count.

ENDMETHOD.

METHOD get.

get_value = count.

ENDMETHOD.

ENDCLASS.

3- Estructura y Componentes de una Clase

- Estructura de una Clase

  • Una Clase contiene Componentes
  • Cada Componente se asigna a una Sección de Visibilidad (Público, Protegido o Privado).
  • Las Clases implementan Métodos.

- Componentes de una Clase

  • Son declarados en la Parte Declarativa de la Clase.
  • Representan los contenidos de la Clase
  • Definen los Atributos de los Objetos de una Clase.
  • Cada uno es asignado a alguna de las 3 Secciones de Visibilidad
  • Todos son visibles dentro de la Clase.
  • Todos comparten el mismo espacio, por lo que sus nombres deben ser únicos.
  • Tipos de Componentes
  • - Dependientes de Instancia: Existen separadamente para cada Objeto de una Clase
  • - Independientes de Instancia o Estáticos: Existen una sola vez para la Clase entera.

En los Objetos ABAP, las Clases pueden definir los siguientes Componentes:

  • Atributos
  • Métodos
  • 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 está determinado por el contenido de sus Atributos.

Un Tipo de Atributos son las Variables Referenciadas que permiten crear y acceder a los Objetos, de manera que, si se definen en una Clase permiten acceder a otros Objetos desde dentro de la Clase.

  • Tipos de Atributos
  • Dependientes de Instancia:
  • El contenido es específico de cada Objeto.
  • Se declaran con la sentencia DATA.
  • Independientes de Instancia o Estáticos:
  • El contenido define el Estado de la Clase
  • Es válido para todas las Instancias de la Clase.
  • Se declaran con la sentencia CLASS-DATA.
  • Son accesibles desde todo el entorno de ejecución de la Clase.
  • Todos los Objetos de una Clase tienen acceso a ellos.
  • Si se cambia en un Objeto, el cambio es visible en todos los Objetos de la Clase.

Modificamos la Clase count definida anteriormente agregándole un Atributo Independiente de Instancia

CLASS counter DEFINITION.

PUBLIC SECTION.

METHODS: set IMPORTING value(set_value) TYPE i,

increment,

get EXPORTING value(get_value) TYPE i.

PRIVATE SECTION.

DATA count TYPE i. "Atributo Dependiente de Instancia

CLASS-DATA v_suma TYPE i. "Atributo Independiente de Instancia

ENDCLASS.


5- Métodos
Son Procedimientos Internos de una Clase que definen el Comportamiento de un Objeto.
  • Pueden acceder a todos los Atributos de una Clase pudiendo cambiar su contenido.
  • Poseen una interfaz con Parámetros de Entrada y de Salida.
  • Los Atributos Privados solo pueden ser cambiados por Métodos de la misma Clase.
  • Se definen en la Parte Declarativa y se implementan en la Parte Implementación.
  • Se pueden declarar Tipos de Datos y Objetos en los Métodos como en cualquier procedimiento ABAP.
  • Se los invoca mediante la sentencia CALL METHOD.

  • Tipos de Métodos
  • Dependientes de Instancia:
  • Se declaran con la sentencia METHODS.
  • Pueden acceder a todos los Atributos de una Clase
  • Pueden desencadenar todos los Eventos de una Clase
  • Independientes de Instancia o Estáticos:
  • Se declaran con la sentencia CLASS-METHODS.
  • Sólo pueden acceder a los Atributos Estáticos
  • Sólo pueden desencadenar Eventos Estáticos
  • Especiales:
  • CONSTRUCTOR: Son llamados automáticamente cuando se crea un Objeto
  • CLASS_CONSTRUCTOR: Son llamados cuando se accede por primera vez a los Componentes de la Clase.

6- Eventos

Son Acontecimientos o Sucesos que utilizan los Objetos o las Clases para desencadenar la ejecución de un Método en otroObjeto o Clase.

Estos Métodos se llaman Métodos que Manejan Eventos (Event Handler Methods).

  • El Método puede ser llamado por cualquier número de usuarios
  • Cuando un Evento es desencadenado, cualquier número de Métodos puede ser llamado
  • La unión entre el Método disparador del Evento (Trigger) y el Método Manejador del Evento (Handler) se establece en el entorno de ejecución, usando la sentencia SET HANDLER.
  • El programa que llama determina los Métodos a los que quiere llamar, los cuales deben existir.
  • El Manejador de Eventos determina los Eventos a los cuales tiene que reaccionar. Puede llamar a cualquiera.
  • Los Eventos de una Clase pueden ser desencadenados en los Métodos de la misma Clase con RAISE EVENT.
  • Para declarar a un Método (de cualquier Clase) como Manejador de Eventos se agrega FOR EVENT OF.
  • Los Eventos tienen una interface de Parámetros (sólo de Salida) similar a la de los Métodos, que son pasados por elTrigger al Handler (mediante la sentencia RAISE EVENT) el cual los recibe como de Entrada.
  • El Trigger y el Handler pueden ser Objetos o Clases, dependiendo de si tenemos Eventos Dependientes de Instanciao Eventos Estáticos y Métodos Manejadores de Eventos.
  • Cuando un Evento es disparado, el correspondiente Handler es ejecutado en todas las Clases registradas para él

  • Tipos de Eventos
  • Dependientes de Instancia:
  • Se declaran con la sentencia EVENTS.
  • Sólo pueden ser desencadenados en un Método Dependiente de Instancia.
  • Independientes de Instancia o Estáticos:
  • Se declaran con la sentencia CLASS-EVENTS.
  • Un Evento Estático puede ser desencadenado por cualquier Tipo de Método, pero un Método Estático puede desencadenar sólo Eventos Estáticos

CLASS handler DEFINITION.

PUBLIC SECTION.

METHODS handle_excess FOR EVENT critical_value OF counter

IMPORTING excess.

ENDCLASS.

CLASS handler IMPLEMENTATION.

METHOD handle_excess.

WRITE: / 'Excess is' , excess.

ENDMETHOD.

ENDCLASS.


7° Tipos y Constantes
  • Tipos de Datos
  • Se pueden definir Tipos de Datos ABAP dentro de una Clase con la sentencia TYPES.
  • Los Tipos de Datos no son específicos de cada Instancia
  • Existen una sola vez para todos los Objetos de la Clase.

  • Constantes
  • Son un Tipo Especial de Atributos Estáticos.
  • Su valor se fija cuando son declaradas y no puede ser cambiado.
  • Se declaran usando la sentencia CONSTANTS.
  • Existen una sola vez para todos los Objetos de la Clase

CLASS vehiculo DEFINITION.

PUBLIC SECTION.

CONSTANS: pos_1 TYPE i VALUE 30.

TYPES: BEGIN OF ty_planta,

planta TYPE plant,

pais TYPE country,

region TYPE region.

TYPES: END OF ty_planta,

ENDCLASS.

NOTA: Cuando se definen Tipos de Datos dentro de la Definición de una Clase, podemos utilizar la adición READ ONLYluego de escribir el Tipo de la Variable, lo cual significará que el Atributo Público que fue declarado con la sentencia DATA,podrá ser leído desde afuera de la Clase pero solo podrá ser modificado por Métodos de la misma Clase. La adición READ ONLY solo puede ser utilizada dentro de la Sección Pública de la declaración de una Clase.

8- Visibilidad de una Clase

La Parte Declarativa o Definición de una Clase se divide en tres áreas de distinta visibilidad, las cuales definen la Visibilidad Externa de los Componentes de la Clase, esto es la Interface entre la Clase y el Usuario.

  • PUBLIC SECTION (Parte Pública)
  • Todos los Componentes son accesibles para todos los Usuarios de la Clase y para todos los Métodos de la Clase y de cualquier Clase que herede de ella.
  • Los Componentes Públicos conforman la Interface entre la Clase y el Usuario
  • PROTECTED SECTION (Parte Protegida)
  • Todos los Componentes son accesibles para todos los Métodos de la Clase y de cualquier Clase que herede de ella.
  • Los Componentes Protegidos conforman la Interface entre la Clase y todas sus Subclases.
  • PRIVATE SECTION (Parte Privada)
  • Todos los Componentes son visibles en los Métodos de la misma Clase.
  • Los Componentes Privados no forman parte de la Interface externa de la Clase.

AUDIO:

  • Los Atributos de una Clase a los que un Usuario Externo puede acceder directamente son los Atributos Públicos.
  • Los Componentes Públicos de una Clase es lo que se conoce como la Interfaz de la Clase.
  • A la Sección Privada se la conoce como la Ocultación de la Información o Encapsulación, esto es para proteger al Usuario de una Clase ya que se supone que los Componentes Privados de una Clase se modificarán en algún momento pero su Interfaz será siempre la misma. Todos los Usuarios Externos solo pueden acceder a sus Componentes a través de la Interfaz de la Clase, por lo que se continuará trabajando con la Clase como de costumbre después de realizado el cambio. El Usuario no se dará cuenta del cambio ya que solo la Implementación Interna fue modificada.
  • Si los Componentes Públicos de una Clase son modificados de una manera incompatible, cada Usuario Externo debería tomar en cuenta estos cambios, por lo que se recomienda tener sumo cuidado cuando se modifican los Atributos Públicos y de ser posible evitar los cambios de los Componentes Públicos de nuestras Clases.

 

 

 


Sobre el autor

Publicación académica de Victor Norberto Levi, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Victor Norberto Levi

Profesión: Analista Programador - Argentina - Legajo: VT17H

✒️Autor de: 111 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Victor Levi

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La definición de Clases, Atributos, Métodos y Eventos" de la mano de nuestros alumnos.

SAP Expert


Definición de clases, atributos, métodos y eventos Clases locales y objetos Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se han definido, en cambio las clases gloabales pueden ser invocadas desde cuqluier proigrama ABAP. Las clases globales se definen en la tx SE24. Definición de clases locales Son un conjunto de sentencias que están dentro de las sentencias CLASS... ENDCLASS. Estructura y componentes de una clase: Una clase contiene componentes Cada componente se asigna a una sección de visibilidad (público, protegido o privado). Las clases implementan métodos. En los objetos ABAP, las clases pueden definir los siguientes...

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Clases locales y globales. Las clases en ABAP pueden ser locales o globales. Las globales se definen en el generador de clases a través de la transacción SE24. Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se han definido. - Las clases locales son el conjunto de sentencias que están entre las sentencias CLASS.. ENDCLASS. - Una clase consta de una parte declarativa lo que se conoce como definición de la clase y una parte de implementación de la clase. - La estructura de una clase se define en base a: Una clase tiene componentes. Cada componente se asigna una sección de visibilidad (Público, protegido o privado). Las clases...

Acceder a esta publicación

Creado y Compartido por: Erick Omar Mármol Ascencio / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Definición clases, atributos, métodos y eventos. Las clases en ABAP se pueden declarar globalmente o localmente, las clases globales se definen en el generador de clases, mediante la transacción SE24 (SE24 se encarga de administrar las clases e interfaces en el sistema SAP). Estas clases son almacenadas en el class pool en la librería de clase del repositorioR/3, todos los programas ABAP en un sistema R/3 pueden acceder a las clases globales. Las clases locales se definen en un programa ABAP y solo se puede acceder desde el programa en el que ha sido definida. Cuando se usa una clase en un programa ABAP el sistema busca primero una clase local con el nombre especificad, si no la encuentra entonces busca una clase...

Acceder a esta publicación

Creado y Compartido por: Jesus Enrique Ramos Bello / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Definición de Clases, Atributos, Métodos y Eventos 1. Clases locales y globales * Clases globales (SE24 "Generador de clases") * Clases locales: Se definen en un programa ABAP y sólo pueden ser invocadas desde el programa dn el que se han definido. 2. Definición de clases locales CLASS...ENDCLASS. Partes: * Declarativa: Definición de la clase, en la que se definen componentes CLASS <class> DEFINITION. ... ENDCLASS. * Implementación: Donde se implementan los componentes definidos. Contiene todos los métodos de la clase. CLASS <class> IMPLEMENTATION. ... ENDCLASS. 3. Estructura y componentes de una clase ...

Acceder a esta publicación

Creado y Compartido por: Helen Silva Ruiz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Definición de Clases, Atributos, Métodos y Eventos. 1. Clases Locales y globales. Se hacen por la Tx SE24, estas clases son almacenadas en la librerias de clases Class Pool Definición Clases Locales. Classs End class, se definen los componentes y luego su implementación. La parte de implementación contiene la implementación de todos los métodos de la clase. 3. Estructura y componentes de una clase La estructura de una clase se define basándose en: Una clase contiene componentes ; son sus contenidos y se declaran en la parte declarativa de la clase. Los componentes definen los atributos. Existen dos tipos de componentes: Estáticos que son independientes solo una vez para...

Acceder a esta publicación

Creado y Compartido por: Morela Silva

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Clases locales y globales. Las clases globales se definen en el generador de clases a través de la transacción SE24 en el ABAP workbench. Estas clases son almacenadas en el class pools en la librería de clases en el repositorio R/3. Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se han definido. Definición de las clases locales. Las clases locales se encuentran dentro de las sentencias CLASS---ENDCLASS La definición de una clase constara de una parte declarativa, en la que se definen los componentes y una parte de implementación es lo que se conoce como implementación de la clase. Estructura y componentes de una clase. La estructura se...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

CLASE Pueden declararse de forma global desde SE24 o local en el programa abap. Este buscará primero la definición local, si no la encuentra buscará global. Estan divididas en la parte declarativa y de implementación de sus métodos. En la definición tendremos los atributos, métodos y eventos, dependientes de instancia o estáticos, en alguna de las secciones publica, protegida o privada. ATRIBUTOS Son los campos de datos internos de la clase que pueden ser de cualquier tipo abap y se declaran con DATA o CLASS-DATA (estáticos) MÉTODOS Son procedimientos internos de la clase, poseen parámetros de I/O, se declaran con METHODS o CLASS-METHODS (estáticos), se implementan...

Acceder a esta publicación

Creado y Compartido por: Jonatan Richioni

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Lección 2: Definición de Clases, Atributos, Métodos y Eventos. 1.- Clases locales y globales. Las clases globales se definen en el generador de clases, a través de la transacción SE24 en el ABAP Workbench. Estas clases son almacenadas en el Class Pools en la librería de clases en el repositorio R/3. Todos los programas ABAP en un sistema R/3 pueden acceder a las clases globales. Las clases locales se definen en un programa ABAP y sólo pueden ser invocadas desde el programa en el que se han definido. Cuando se usa una clase en un programa ABAP el sistema busca primero una clase local con el nombre especificado, si no encuentra ninguna entonces busca una clase global. 2.- Definicion de clases...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Trx SE24 para generar clases globales. Las clases globales son almacenadas en Class Pools Todos los programas ABAP pueden acceder a las clases globales. Las clases locales se crean en un programa ABAP Las clases locales solo pueden ser invocadas desde el programa donde se han creado Definición de clase: CLASS <name class> DEFINITION. ENDCLASS. Implementación de clase: CLASS <name class> IMPLEMENTATION. ENDCLASS. Clase --> Componente --> Visibilidad (público, protegido, privado). Clases implementan métodos. Hay 2 tipos de componentes (atributos, meéodos y eventos) que pueden ser: * Dependientes de Instancia,...

Acceder a esta publicación

Creado y Compartido por: Hazel Maribel Flores Martin

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Clases Dos tipos de clases, globales (Tx SE24) y locales Clases locales Definición: CLASS <class_name> DEFINITION ............. ENDCLASS. Implementación: CLASS <class_name> IMPLEMENTATION ............. ENDCLASS. Puede contar de: Atributos Métodos Eventos Tiene tres tipos de visibilidad (de más restrictiva a menos): Privada Protegida Pública Atributos Son los campos de datos internos de una clase y pueden ser de cualquier tipo de datos ABAP. Tipos de atributos Dependientes de instancia a) el contenido es único para cada objeto (instancia) de la misma clase b) se declaran usando sentencias...

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!