🚀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

DEFINICIÒN DE CLASES, ATRIBUTOS, MÈTODOS Y EVENTOS

1.- Clases locales y globales.

Las clases en ABAP se pueden declarar globalmente o localmente. Las clases globales se definen en el generador de clases, a travès de la transacciòn SE24 en el ABAP Workbench.

"Utilizaremos el Generador de lasers correspondiente a la transacciòn estàndar SE24 para la administraciòn de las clases e interfases definidas en el sistema SAP".

Estas clases son almacenadas en el Class Pools en la librerìa de clases en el Repositorio R/3. Todos los programas 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 busc primero una clase local con el nombre especificado. Si no encuentra ninguna entonces busca una clase global. A parte de la cuestiòn de la visibilidad, no hay ninguna diferencia entre usar una clase global o una clase local. Lo que si cambia sensiblemente es la manera en que una clase local y una clase global son creadas.

Si se define una clase que se va a usar en un ùnico programa, normalmente es suficiente con definir los componentes visibles de manera que la clase se ajuste a nuestro programa. Por otro lado las clases globales deben estar preparadas para ser usadas en cualquier parte.

2.- Definiciòn de clases locales.

Las clases locales son el conjunto de sentencias que estàn entre las sentencias CLASS ... ENDCLASS.

Una definiciòn completa de una clase constarà de una parte declarativa, lo que se conoce como definiciòn de la clase, en la que se definen los componentes, y una parte de implementaciòn, lo que se conoce como implementaciòn de la clase, en la que se implementan estos componentes.

La parte declarativa o definiciòn de una clase està comprendida entre las sentencias:

CLASS "nombre_clase" DEFINITION

ENDCLASS.

Ejemplo:

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.

La parte declarativa contiene la declaraciòn de todos los componentes de la clase (atributos, mètodos y eventos). Cuando se definen clases locales, la parte declarativa pertenece a los datos globales del programa, por lo tanto se habrà de situar al principio del programa.

Si se declaran mètodos en la parte declarativa de una clase, se deberà escribir tambièn su parte su parte de implementaciòn. Èsta es la que va incluida entre las siguientes sentencias.

CLASS "nombre_clase" IMPLEMENTATION

ENDCLASS.

CLASS counter IMPLEMENTATION.

METHOD set.

count = set_value.

ENDMETHOD.

METHOD increment.

ADD 1 TO count.

ENDMETHOD.

METHOD get.

get_value = count.

ENDMETHOD.

ENDCLASS.

La parte de implementaciòn contiene la implementaciòn de todos los mètodos de a clase. Esta parte actùa como un bloque, esto quiere decir que cualquier secciòn de còdigo que no forme parte del bloque no serà accesible.

3.- Estructura y componentes de una clase.

Se basa principalmente en:

- Una clase contiene componentes.

- Cada componente se asigna a una secciòn de visibilidad (pùblico, protegido y privado).

- Las clases implementan mètodos.

Los componentes de una clase representan sus contenidos. Todos los componentes son declarados en la parte declarativa de la clase. Los componentes definen los atributos de los objetos en una clase.

Cuando se define una clase, cada componente es asignado a una de las tres distintas secciones de visibilidad que definen la interfase externa de la clase. Todos los componentes de una clase son visibles dentro de la clase. Ademàs todos comparten el mismo espacio por lo que sus nombres deben ser ùnicos de la clase.

Hay dos tipos de componentes en una clase, aquellos que existen separadamente para cada objeto de una clase, y aquellos que existen una sola vez para la clase entera, independientemente del nùmero de instancias. Estos componentes son conocidos como dependientes de instancia o independientes de instancia (o estàticos) respectivamente.

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 viene determinado por el contenido de sus atributos. Un tipo de atributo son las variables referenciadas. Estas variables 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.

Existen dos tipos de atributos:

- Dependencia de instancia.- Donde el contenido de los atributos es especìfico de cada objeto. Se declaran usando la sentencia DATA.

- Independientes de instancia o estàticos.- Donde el contenido de los atributos define el estado de la clase y es vàlido para todas las instancias de la clase, se declara con CLASS-DATA.

Los atributos estàticos existen sòlo una vez para la clase, Se declaran usando la sentencia CLASS-DATA. Son accesibles desde todo el entorno de ejecuciòn de la clase. Todos los objetos de una clase pueden acceder a sus atributos estàticos. Si se cambia un atributo estàtico en un objeto, el cambio es visible en todos los demàs objetos de la clase.

CLASS contador DEFINITION.

PUBLIC SECTION.

METHODS: set IMPORTING value(set_value) TYPE i,

incrementar_contador,

get EXPORTING value(get_value) TYPE i.

PRIVATE SECTION.

DATA cont TYPE i.

CLASS-DATA v_suma TYPE i.

ENDCLASS.

5.- Mètodos.

Son procedimientos internos de una clase que definen el comportamiento de un objeto.

Los mètodod pueden acceder a todos los atributos de una clase. Esto les permite cambiar el contenido de los atributos de un objeto.

Los mètodos poseen tambièn una interface con paràmetros que les permite recibir valores cuando son invocados y devolver valores despuès de la llamada. Los atributos privados de una clase sòlo pueden ser cambiados por mètodos de la misma clase.

La definiciòn y la interface de un mètodo son similares alas de los mòdulos de funciones. Un mètodo se define en la parte declarativa de la clase y se implementa en la parte de implementaciòn usando sentencias.

METHOD "nombre".

ENDMETHOD.

METHOD increment.

ADD 1 TO count.

ENDMETHOD.

Se pueden declarar tipos de datos locales y objetos en los mètodos de la misma manera que en cualquier otro procedimiento ABAP. Los mètodos se llaman mediante la sentencia CALL METHOD.

Existen tres tipos de mètodos:

- Dependientes de instancia.- Se declaran usando las sentencia METHODS. Pueden acceder a todos los atributos de una clase y pueden desencadenar todos los eventos de una clase.

- Independientes de instancia o estàticos.- Estos mètodos se declaran usando la sentencia CLASS-METHOD. Sòlo pueden acceder a los atributos estàticos y desencadenar eventos estàticos.

- Especiales.- ademàs de los mètodos normales que se pueden llamar con la sentencia CALL METHOD, hay dos mètodos especiales llamados CONSTRUCTOR y CLASS_CONSTRUCTOR que son automàticamente llamados cuando se crea un objeto (CONSTRUCTOR) o cuando se accede por primera vez a los componentes de la clase (CLASS_CONSTRUCTOR).

6.- Eventos.

Son acontecimientos o sucesos que utilizan los objetos o las clases para desencadenar la ejecuciòn de un mètodo en otro objeto o clase.

Estos mètodos se llaman mètodos que manejan eventos (event handler methods).

En una llamada normal a un mètodo, el mètodo puede ser llamado por cualquier nùmero de usuarios. Cuando un evento es desencadenado, cualquier nùmero de estos mètodos puede ser llamado.

La uniòn entre el disparador del evento "trigger" y el manejador del evento "handler" no es establecida de antemano, si nò en el entorno de ejecuciòn. En las llamadas normales a mètodos, el programa que llama determina los mètodos a los que quiere llamar. Estos mètodos tienen que existir.

El manejador de eventos determina los eventos a los cuales tiene que reaccionar. No tiene porque existir un mètodo manejador de eventos registrado para cada evento. Los eventos de una clase pueden ser desencadenados en los mètodos de la misma clase usando la sentencia RAISE EVENT.

Un mètodo de la misma clase o diferente clase, se declara como mètodo manejador de eventos utilizando la adiciòn FOR EVENT OF.

Los eventos tienen una interface de paràmetros similar a la de los mètodos, pero sòlo tienen paràmetors de salida. Los paràmetros son pasados por el disparador (sentencia RAISE EVENT) al mètodo manejador de eventos el cual los recibe como paràmetros de entrada.

El vìnculo de uniòn entre disparador y manejador (trigger y handler) es establecido dinàmicamente en el programa usando la sentencia SET HANDLER. El disparador y el manejador pueden ser objetos o clases, dependiendo de si tenemos eventos dependientes de instancia o eventos estàticos y mètodos manejadores de eventos. Cuando un evento es disparado, el correspondiente mètodo manejador de eventos es ejecutado en todas las clases registradas para ese manejador.

Existen dos tipos de eventos:

- Dependientes de instancia: Se declara con la sentencia EVENTS. Sòlo pueden ser desencadenados en un mètodo dependiente de instancia.

- Independientes de instancia o estàticos: se declara con la sentencia CLASS-EVENTS. Todos los mètodos pueden desencadenar eventos estàticos. Los eventos estàticos son el ùnico tipo de eventos que puede ser desencadenado por un mètodo estàtico.

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.

7.- Tipos y constantes.

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 y existen una sola vez para todos los objetos de la clase.

Las constantes son un tipo especial de atributos estàticos. Su valor se fija cuando son declaradas y no puede ser cambiado.

Se declara usando la sentencia CONSTANS. Las constantes existen sòlo una vez para todos los objetos de la clase.

CLASS contador DEFINITION.

PUBLIC SECTION.

METHODS: set IMPORTING value(set_value) TYPE I,

incrementar_contador,

get EXPORTING value(get_value) TYPE i,

PRIVATE SECTION.

DATA cont TYPE i.

CLASS-DATA v_suma TYPE i.

ENDCLASS.

Cuando se define tipo de datos dentro de una clase, podemos utilizar la divisiòn READ ONLY luego de escribir de escribir el tipo de la variable que se acaba de declarar esto significa que el atributo pùblico que fue declarado con la sentencia DATA puede ser leìdo desde fuera de la clase pero solo podrà ser modificados por mètodos de la misma clase. solo se puede usar la divisiòn READ ONLY dentro de la secciòn PUBLIC.

8.- Visibilidad de una clase:

La parte declarativa o definiciòn de una clase se divide entras àreas de distinta visibilidad:

CLASS nombre DEFINITION.

PUBLIC SECTION.

PROTECTED SECTION.

PRIVATE SECTION.

ENDCLASS.

Estas tres àreas definen la visibilidad externa de los componentes de la clase, esto es, la interface entre la clase y el usuario.

Cada componente de una clase ha de ser asignado a una de estas tres secciones.

- PUBLIC SECTION: todos los componentes declarados en la secciòn pùblica 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 conforma la interface entre la clase y el usuario.

- PROTECTED SECTION: Todos los componentes son accesibles para todos los mètodos de la clase y de las clases que heredan de ella. Los componentes protegidos conforman la interface entre una clase y todas sus subclases.

- PRIVATE SECTION: Los componentes declarados en la secciòn privada son sòlo visibles en los mètodos de la misma clase. Los compontes privados no conforman parte de la interface externa de la clase.

Loa atributos a los que un usuario puede acceder dentro de una clase, son los atributos pùblicos, los componentes pùblicos de la clase comùnmente se conoce como la interfaz de la clase.

A la secciòn de visibilidad privada, tambièn se la conoce como la ocultaciòn de la informaciòn o encapsulaciòn.

Solo se puede acceder a estos componentes solo a travès de la interfaz de la clase.


 

 

 


Sobre el autor

Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Miguel Angel Acosta Acosta

Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C

✒️Autor de: 238 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.

Certificación Académica de Miguel Acosta

✒️+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 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 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 Expert


Definición de clases, atributos, metodos y eventos Clases locales y globales Las clases en ABAP se pueden declarar globalmente o localmente. Las clases globales se definen en el generador de clases, a traves de la transacción SE24. Estas clases son almacenadas en el class pools en la libreria de clases en el repositorio R/3. Clases locales: Una clase constará de una parte declarativa, lo que se conoce como definición de la clase, en la que se definen los componentes y una parte de implementación, lo que se conoce como implementación de la clase, en la que se implementan estos componentes. La parte declarativa contiene la declaración de todos los componentes de la clase (atributos, metodos y eventos)....

Acceder a esta publicación

Creado y Compartido por: Marvin Raul Lopez Morales / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


DEFINICION DE CLASES, ATRIBUTOS, METODOS Y EVENTOS CLASES LOCALES Y GLOBALES LAS CLASES SE SE PUEDEN DECLARAR COMO LOCALES O GLOBALES. LAS CLASES GLOBALES SE DEFINEN EN LA TRANSACCIÓN SE24 ( ADMINISTRADOS DE CLASES E INTERFASES) CLASES GLOBALES - ESTAS CLASES SON ALMACENADAS EN EL CLASS POOLS, Y TODOS LOS PROGRAMAS PUEDEN ACCESARLAS. CLASES LOCALES - SE DEFINEN EN UN PROGRAMA ABAP Y SOLO PUEDEN SER INVOCADAS DESDE EL PROGRAMA EN EL QUE SE HA DEFINIDO. ----------------------------------------------------------------------------------------------------------------------- DEFINICIÓN DE CLASES LOCALES SON LAS SENTENCIAS QUE SE ENCUENTRAN ENTRE CLASS....ENDCLASS. LA DEFINICIÓN CONSTA DE: PARTE DECLARATIVA : DEFINICIÓN...

Acceder a esta publicación

Creado y Compartido por: Oscar Guillermo Rodriguez Villate / Disponibilidad Laboral: FullTime

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

SAP Master

Clases locales y globales: Pueden declarar globalmente o localmente. Las clases globales se definen en el generador de clases, a traves de la transaccion SE24 en ABAP Workbench. Transaccion SE24: Administrar las clases e interfases definidas en el sistema SAP. Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se han definido. Definicion de Clases locales: Conjunto de sentencias que estan entre CLASS y ENDCLASS. Consta de una parte declarativa, lo que se conoce como definicion de la clase, en la que se definen los componentes, y una parte de implementacion, lo que se conoce como implementacion de la clase, en la que se implementan estos componentes. Estructura de una clase se define basandose...

Acceder a esta publicación

Creado y Compartido por: Roberto Serrano

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

SAP Senior

Clases Locales y Globales.- Las clases ABAP se pueden declarar global o localmente. Las clases globales se definen en el generador de clase, a través de la transacción SE24 en el ABAP Workbench. Estas clases son almacenadas en el Class Pools en la librería del 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. Definición de Clases Locales.- Las clases locales son el conjunto de sentencias que están entre las sentencias CLASS...ENDCLASS. Una definición completa de una clase constará de una parte declarativa, lo que se conoce...

Acceder a esta publicación

Creado y Compartido por: Yair Miguel Ramirez Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

1. CLASES LOCALES Y GLOBALES En ABAP, las clases se pueden declarar global o localmente. Las clases globales se definen a través de la tr. SE24 (Generador de clases). Estas clases se almacenan en el Class Pools. Todos los progr. ABAP del sist. R/3 pueden acceder a las clases globales Las clases locales se definen en 1 progr. ABAP y sólo pueden ser invocadas desde él. Cuando se usa una clase en 1 progr. ABAP, primero busca una clase local con ese nombre. Si no lo encuentra, entonces busca una clase global. Diferencia clase global-clase local: Sólo su visibilidad 2. DEFINICIÓN DE CLASES LOCALES Las clases locales se definen entre las sentencias CLASS ... ENDCLASS. Una definición completa de una clase...

Acceder a esta publicación

Creado y Compartido por: David Campillo Martinez

 


 

👌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!