✒️ABAP POO / Las Clases Por Josep Lopez Moyano

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

ABAP Las Clases

ABAP Las Clases

DEFINICION 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 través de la transacción SE24 en el ABAP WORKBENCH

TRANSACCION SE24: Generador de clases

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 solo pueden ser invocadas desde el programa.

Cuando se una clase en ABAP el sistema busca primero una clase local con el nombre especificado. Si no encuentra ninguna, busca una clase global.

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.

DEFINICION DE CLASES LOCALES

Las clases locales son el consunto se sentencias que están entre las sentencias CLASS…ENDCLASS.

Una definición de clase completa consta de

· Parte declarativa: se conoce como definición de clase, se definen los componentes

· Parte de implementación: se conoce como implementación de la clase, se implementan los componentes.

La parte declarativa está comprendida entre las sentencias:

CLASS <nombre> DEFINITION.

….

ENDCLASS.

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 tanto se habrá de situar al principio del programa.

La parte de implementación está comprendida entre las sentencias

CLASS <nombre> IMPLEMENTATION.

ENDCLASS.

Se declaran método

Contiene la implementación de todos los métodos de la clase. Actúa como un bloque, esto quiere decir que cualquier sección de código que no forme parte del bloque no será accesible.

ESTRUCTURA Y COMPONENTES DE UNA CLASE

La estructura de una clase se define principalmente basándose en:

Una clase contiene componentes. Representan sus contenidos. Todos los componentes son declarados en la parte declarativa de la clase. Los componentes definen los atributos de los objetos de clase.

Cada componente se asigna a una sección de visibilidad (publico, protegido o privado). Cuando se define una clase, cada componente es asignado a una de las tres distintas secciones de visibilidad que definen la interface externa de la clase. Todos los componentes de una clase son visibles dentro de la clase. Todos comparten el mismo espacio, sus nombres deben ser únicos dentro de la clase.

Las clases implementan métodos.

Hay dos tipos de componentes en una clase;

Los que existen separadamente para cada objeto de una clase

Los que existen solo una vez para la clase entera, independientemente del número de instancias.

Estos componentes son conocidos como independientes de instancia o dependientes de instancia (o estáticos) respectivamente.

En los objetos ABAP, las clases pueden definir los siguientes componentes:

ATRIBUTIOS

Son los campos de datos internos de una clase y pueden tener cualquier tipo de datos ABAP.

Las variables referenciadas permiten crear y acceder a los objetos, de manera que si se definen en una clase permiten acceder a otros objetos dentro de la clase.

Existen dos tipos de atributos:

Dependientes de instancia: el contenido de los atributos es específico de cada objeto, se declara usando la sentencia DATA.

Independientes de instancia o estáticos: el contenido de los atributos define el estado de la clase y es válido para todas las instancias de la clase. Existen solo 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.

EJEMPLO

CLASS contador DEFINITION.

PUBLIC SECITON.

METHODS: set IMPORTING value(set_value) TYPE i, incrementar_contador,

get EXPORTING value(get_value) TYPE i.

PRIVATE SECTION.

DATA cont TYPE i. “Atributo Dependiente de instancia

CALSS-DATA v_suma TYPE i. “Atributo independiente de instancia

ENDCLASS. “contador DEFINITION

METODOS

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

Los métodos pueden acceder a los atributos de una clase.

Pueden cambiar el contenido de los atributos de un objeto.

También poseen 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 solo pueden ser cambiados por métodos de la misma clase.

La definición y la interface de un método son similares a los de los módulos de funciones.

Un método se define en la parte declarativa de la clase y se implemente en la parte de implementación mediante las sentencias:

METHOD <nombre-método>.

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.

Tipos de métodos:

Dependientes de instancia: se declaran usando la sentencia METHODS. Pueden acceder a todos los atributos de una clase y pueden desencadenar todos los eventos de una clase.

Independientes o estáticos: se declaran usando la sentencia CLASS-METHODS. Solo pueden acceder a los atributos estáticos y desencadenar eventos estáticos.

Especiales: 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).

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.

Se llaman métodos que manejan eventos (ecent handler methods).

Cuando se desencadena un evento, 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 no en el entorno de ejecución.

El manejador de eventos determina los eventos a los cuales tiene que reaccionar. No tiene por qué 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 o diferente clase, se declara con el 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 solo tienen parámetros de salida, Estos son pasados por el disparador (sentencia RAISE EVENT) y el método manejador de eventos el cual los recibe como parámetros de entrada.

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

Tipos de eventos:

Dependientes de instancia: se declara con la sentencia EVENTS.

Solo pueden ser desencadenados en un método dependiente de instancia.

Independientes de instancia o estáticos: se declaran 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.

EJEMPLO:

CLASS handler DEFINITION.

PUBLI 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.

TIPOS Y CONSTANTES

Mediante la sentencia TYPES se pueden definir topos de datos ABAP dentro de una clase. No son específicos de cada instancia y existen una sola vez para todos los objetos de clase

Mediante la sentencia CONSTANT se puede definir las constantes, son un tipo especial de atributos estáticos. Su valor se fija cunado son declarado. No se pueden cambiar. Las constantes existen solo una vez para todos los objetos de la clase.

Adición READ ONLY:

Se utiliza para bloquear la modificación del atributo, puede ser leído desde fuera de la clase pero solo puede ser modificado por los métodos de la misma clase. Solo se puede usar dentro de la parte publica de la declaración de una clase.

VISIBILIDAD DE UNA CLASE

La parte declarativa o definición de una clase se divide en tres áreas distintas de visibilidad:

CALSS <nombreclase> DEFINITION.

…PUBLIC SECTION.

……

…PROTECTED SECTION.

……

…PRIVATE SECTION.

……

ENDCLASS.

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

PUBLIC SECTION (PARTE PÚBLICA):

Los componentes declarados son accesibles para todos los usuarios de la clase y para los métodos de la clase y de cualquier clase que herede de ella.

Conforman la interface entra la clase y el usuario.

PROTECTED SECTION (PARTE PROTEGIDA):

Los componentes declarados son accesibles para todos los métodos de la clase y de las clases que heredan de ella.

Conforman la interface entre clase y subclases

PRIVATE SECTION (PARTE PRIVADA)

Los componentes declarados son solo visibles en los métodos de la misma clase. No forman parte de la interface externa de la clase.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para el Master ABAP Orientado a Objetos.

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las Clases" de la mano de nuestros alumnos.

SAP Expert



En la Programación Orientada a Objetos (POO) en ABAP, las clases son estructuras que agrupan datos y comportamientos relacionados. Representan objetos del mundo real mediante atributos (datos) y métodos (funciones o procedimientos). Se definen con la instrucción CLASS...DEFINITION y se implementan con CLASS...IMPLEMENTATION. Los atributos pueden ser públicos, protegidos o privados, controlando el acceso a la información. Los métodos pueden ser de instancia (requieren crear un objeto con CREATE OBJECT) o estáticos (accedidos sin instanciar). Además, ABAP soporta herencia, permitiendo crear clases hijas que extienden funcionalidades de las clases padre, y polimorfismo, para redefinir...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Las Clases en ABAP se pueden declarar global o localmente. Las clases globales se definen en el generador de clases, a traves de la transaccion SE24 en el ABAP Workbench. Se utilizara el Generador de clases correspondiente a la transaccion estandar SE24 para la administracion de las clases e interfases definidas en el sistema SAP Estas clases son almacenadas en el Class Polls en la libreria de clases en el Repositorio R/3. Todos los programas ABAP en un sistema SAP pueden acceder a las clases globales. Las clases locales se definen en un programa ABAP y solo 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 envuentra...

Acceder a esta publicación

Creado y Compartido por: Jeferson Jos Pena Curvelo / Disponibilidad Laboral: FullTime

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

SAP SemiSenior

¿Qué son las clases en ABAP? Una clase es unaes una estructura que define un tipo de objeto . Dentro de una clase se agrupan: Atributos ( datos )(datos) Métodos ((acciones o funciones) Eventos Interfaces Es la base de la Programación Orientada a Objetos (POO). Desde una clase se pueden crear objetos ( inst(instancias) que tienen el comportamiento y los datos definidos en esa clase. Tipos de clases en ABAP ABAP tiene varios tipos de clases , cada una con un propósito específico: 1. 🔹 Clases locales Definidas dentro del programa . Solo están disponibles dentro del mismo informe o módulo donde se declara....

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

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

SAP Master

Las clases en ABAP se pueden declarar local o globalmente , las clases globales se definen en la transacción SE24. Las clases locales se definen dentro del programa no pueden ser utilizados en otros programas. Declaración de las clases locales. En las sentencias CLASS…ENDCLASS. Ejemplo de una clase vehículo. La parte declarativa contiene la declaración de todos los componentes de la clase, cuando se definen clases locales la parte declarativa pertenece a los datos globales del programa. Si declaramos métodos dentro la parte declarativa de una clase , se deberá escribir también su parte de implementación en las sentencia CLASS <name> IMPLEMENTATION … ENDCLASS. La visibilidad...

Acceder a esta publicación

Creado y Compartido por: Tobias Emanuel Mareco Rojas / Disponibilidad Laboral: FullTime

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

SAP Training

La clase local consta de 2 partes la definición y la implementación. La definición incluida entre la sentencia: CLASS c_curso DEFINITION. ENDCLASS. Y dentro la definición de los atributos y metodos. DATA: p_prueba type i. METHODS: subir_nota importing p_nota type i. Y luego está la arte de implementación que es donde se indica que es lo que hace el metodo. Y que debe ir incluido entre las sentencias CLASS c_curso IMPLEMENTATION METHOD subir_nota importing p_nota. p_nota = p_nota + 1. ENDMETHOD. ...

Acceder a esta publicación

Creado y Compartido por: Francisco Jesus Ochoa Pingarron

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

SAP Expert


Las Clases. Las Clases en ABAP se pueden declarar globalmente o localmente. Transacion SE24: Generador de clases. Administracion de las clases e interfases definidas en el sistema SAP. Clases Locales: Es un conjunto de sentencias que estan entre las sentencias CLASS..ENDCLASS. La parte declarativa contiene la declaracion de todos los componentes de la clase (atributos, metodos y eventos) y se situara al principio del programa. La visibilidad se divede en tres areas: Public Section: Interface entre la clase y el usuario. Protected Section: lInterface entre la clase y todas las subclases Private Section: No forman parte de la interface externa de la clase.

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 SemiSenior

LAS CLASES EN ABAP. En ABAP existen 2 tipos de clases: Clases Locales y Cases Globales CLASES GLOBALES: Las Clases Globales se crean y definen por medio de la Transacción SE24 del ABAP Workbench y son almacenadas en el pool de clases. Las Clases Globales pueden ser usadas por cualquier programa del sistema. CLASE LOCALES: Las Clase locales se declaran en el programa por medio de las sentencias CLASS <class> DEFINITION y ENDCLASS. Las Clase Locales son implementadas utilizando las sentencias CLASS <class> IMMPLEMENTATION y ENDCLASS . Las Clases Locales únicamente pueden ser usadas en el programa que las define. En la parte declarativa de la clase es donde se definen todos los componentes de la clase: atributos, métodos...

Acceder a esta publicación

Creado y Compartido por: Enrique Horacio Lugo Lander

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

SAP Master

CLASES Las Clases se pueden declarar: GLOBALES: Se definen en el generador de clases, a traves de la transacción SE24 LOCALES: Se definen en el ABAP Workbench Al usar una clase, el sistema busca primero un clase local, al no encontrarla entonces busca una clase global DEFINICION DE CLASES LOCALES. Conjunto de sentencias dentro de sentencia: CLASS .... ENDCLASS. La parte declarativa o definición de una clase está comprendida entre las sentencias: CLASS<class>DEFINITION. PUBLIC SECTION. DATA: METHODS: ENDCLASS. NOTA: La parte declarativa contiene la declaración de los componenetes de la clase (atributos, metodos y eventos). Al declarar metodos en la parte declarativa...

Acceder a esta publicación

Creado y Compartido por: Ixhel Magai Lopez Valencia / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Expert


Clases Clases locales y globales Las clases en ABAP se pueden declarar, globalmente o localemente. Las clases globlaes 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 en el repositorio R/3. Todos los programas ABAP en un sistema SAP pueden acceder a las clases globales. 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, o 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...

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


CLASES – LECCION 1-4 CLASES LOCALES Y GLOBALES Las clases en ABAP se pueden declaran 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 CLASES, son objetos ABAP que se crean mediante la transacción estándar SE24 CLASES GLOBALES, pueden ser declaradas globalmente o localmente TRANSACCION SE24, es la transacción que corresponde al GENERADOR DE CLASES ABAP, para administración de clases e interfaces definidas en el sistema ABAP WORKBENCH, es un conjunto de herramientas que se utilizan para el desarrollo, testing y ejecución de los programas ABAP Las últimas versiones del WorkBench de ABAP incluye...

Acceder a esta publicación

Creado y Compartido por: Cristian Darwin Arteaga Diaz / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.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:


🔎Googlear en CVOSOFT:
Googlear: "ABAP - Las Clases"

 


 

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