✒️ABAP / La definición de Clases, Atributos, Métodos y Eventos Por Jaime Gomez Arango

Selector Alummnos / Empresas

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

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

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

Defining Classes, Attributes, Methods, and Events

Local and Global Classes

In ABAP, classes can be declared either globally or locally. Global classes are defined in the class builder, via transaction SE24 in the ABAP Workbench. These classes are stored in Class Pools within the class library in the R/3 repository. All ABAP programs in an R/3 system can access global classes.

Local classes, on the other hand, are defined within an ABAP program and can only be invoked from the program in which they are defined. When using a class in an ABAP program, the system first searches for a local class with the specified name. If none is found, it looks for a global class. Besides visibility, there is no difference between using a global or local class. However, the way a local class and a global class are created differs significantly.

When defining a class to be used in a single program, it's usually sufficient to define the visible components to suit our program. Conversely, global classes must be prepared to be used anywhere.

Definition of Local Classes

Local classes comprise statements enclosed between CLASS... ENDCLASS. A complete class definition consists of a declarative part, known as class definition, where components are defined, and an implementation part, known as class implementation, where these components are implemented.

The declarative part or class definition is delimited by:

CLASS DEFINITION.
...
ENDCLASS.

The declarative part contains the declaration of all class components (attributes, methods, and events). When defining local classes, the declarative part belongs to the global data of the program and thus should be positioned at the beginning of the program.

If methods are declared in the declarative part of a class, their implementation part should also be written. This is included between the following statements:

CLASS IMPLEMENTATION.
...
ENDCLASS.

The implementation part contains the implementation of all class methods. This part acts as a block, meaning any code section not part of the block won't be accessible.

Class Structure and Components

The structure of a class is primarily defined based on:

  • A class contains components.
  • Each component is assigned to a visibility section (public, protected, or private).
  • Classes implement methods.

Class components represent its contents and are all declared in the declarative part of the class. Components define the attributes of objects in a class.

When defining a class, each component is assigned to one of three different visibility sections, defining the external interface of the class. All components of a class are visible within the class and share the same space, so their names must be unique within the class.

There are two types of components in a class: those that exist separately for each object of a class, and those that exist only once for the entire class, regardless of the number of instances. These components are known as instance-dependent or instance-independent (or static) components, respectively.

In ABAP objects, classes can define the following components:

  • Attributes
  • Methods
  • Events.

Attributes

Attributes are the internal data fields of a class and can have any ABAP data type. An object's state is determined by the content of its attributes. One type of attribute is referenced variables. These variables allow creating and accessing objects, so if defined in a class, they allow accessing other objects from within the class.

There are two types of attributes:

  • Instance-dependent: where attribute content is specific to each object, declared using the DATA statement.
  • Instance-independent or static: where attribute content defines the state of the class and is valid for all class instances. Static attributes exist only once for the class, declared using the CLASS-DATA statement. They are accessible from the entire execution environment of the class. All objects of a class can access their static attributes. If a static attribute is changed in an object, the change is visible in all other objects of the class.

DATA connection_id TYPE /dmo/connection_id.

CLASS-DATA conn_counter TYPE i.

Methods

Methods are internal procedures of a class that define the behavior of an object. Methods can access all class attributes, allowing them to change the content of an object's attributes.

Methods also have an interface with parameters that allow them to receive values when invoked and return values after the call. Private attributes of a class can only be changed by methods of the same class.

The definition and interface of a method are similar to function module definitions. A method is defined in the declarative part of the class and implemented in the implementation part using the statements:

METHOD
...
ENDMETHOD.

Local data types and objects can be declared in methods in the same way as in any other ABAP procedure. Methods are called using the CALL METHOD statement.

There are three types of methods:

  • Instance-dependent: declared using the METHODS statement, can access all class attributes and trigger all class events.
  • Instance-independent or static: declared using the CLASS-METHODS statement, can only access static attributes and trigger static events.
  • Special: apart from normal methods callable with the CALL METHOD statement, there are two special methods called CONSTRUCTOR and CLASS_CONSTRUCTOR, automatically invoked when an object is created (CONSTRUCTOR) or when class components are first accessed (CLASS_CONSTRUCTOR).

METHOD class_constructor.
conn_counter_class = conn_counter_class + 1.
ENDMETHOD.

METHOD constructor.

IF i_carrier_id IS INITIAL OR i_connection_id IS INITIAL.
RAISE EXCEPTION TYPE cx_abap_invalid_value.
ENDIF.

me->carrier_id = i_carrier_id.
me->connection_id = i_connection_id.

conn_counter = conn_counter + 1.

ENDMETHOD.

Events

Events are occurrences or incidents used by objects or classes to trigger the execution of a method in another object or class. These methods are called event handler methods.

In a normal method call, the method can be called by any number of users. When an event is triggered, any number of these methods can be called.

The linkage between the event trigger and the event handler is not established in advance but in the runtime environment. In normal method calls, the calling program determines which methods to call; these methods must exist.

The event handler determines which events it needs to react to. There doesn't need to be a registered event handler method for every event. Class events can be triggered in the methods of the same class using the RAISE EVENT statement.

A method, whether from the same or a different class, is declared as an event handler method using the addition FOR EVENT OF.

Events have a parameter interface similar to methods but only have output parameters. Parameters are passed by the trigger (RAISE EVENT statement) to the event handler method, which receives them as input parameters.

The binding linkage between the trigger and the handler is dynamically established in the program using the SET HANDLER statement. The trigger and the handler can be objects or classes, depending on whether we have instance-dependent events or static events and event handler methods. When an event is triggered, the corresponding event handler method is executed in all classes registered for that handler.

There are two types of events:

  • Instance-dependent: declared with the EVENTS statement, can only be triggered in an instance-dependent method.
  • Instance-independent or static: declared with the CLASS-EVENTS statement, all methods can trigger static events. Static events are the only type of events that can be triggered by a static method.

Types and Constants

ABAP data types can be defined within a class using the TYPES statement. Data types are not specific to each instance and exist only once for all class objects.

Constants are a special type of static attributes. Their value is set when they are declared and cannot be changed. They are declared using the CONSTANTS statement. Constants exist only once for all class objects.

When defining data types within a class definition, the READ ONLY addition can be used. After writing the variable type just declared, this means that the public attribute declared with the DATA statement can be read from outside the class but can only be modified by methods of the same class. It's worth noting that the READ ONLY addition can only be used within the public part of a class declaration.

Class Visibility

The declarative or definition part of a class is divided into three areas of different visibility. These three areas define the external visibility of the class components, i.e., the interface between the class and the user.

Each class component must be assigned to one of these three sections:

  • PUBLIC SECTION: all components declared in the public section are accessible to all users of the class and to all methods of the class and any class that inherits from it. Public components form the interface between the class and the user.
  • PROTECTED SECTION: all components declared in the protected section are accessible to all methods of the class and to classes that inherit from it. Protected components form the interface between a class and all its subclasses.
  • PRIVATE SECTION: components declared in the private section are only visible in the methods of the same class. Private components are not part of the external interface of the class.

CLASS zprueba_jega DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .

PUBLIC SECTION.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

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


La definición de Clases, Atributos, Métodos y Eventos Clases locales y globales Las clases pueden declararse globalmente (SE24, Class Pool) o localmente (dentro de un programa ABAP). Las clases globales son accesibles por todos los programas del sistema R3; las locales solo por el programa donde se definen. Al buscar una clase, el sistema prioriza la local y, si no la encuentra, busca la global. No hay diferencia funcional entre usar una clase local o global, solo en visibilidad y alcance. Las clases locales son adecuadas para uso único en un programa; las globales están diseñadas para reutilización en múltiples programas....

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Master

Introducción: Las clases en ABAP son el fundamento de la programación orientada a objetos en SAP, permitiendo crear código más organizado, reutilizable y mantenible. Existen clases globales (accesibles en todo el sistema) y locales (específicas de un programa). Tipos de Clases en ABAP Clases Globales (SE24) Definición: Se crean en el Generador de Clases (SE24) Almacenamiento: Se guardan en Class Pools en el repositorio Accesibilidad: Disponibles para todos los programas del sistema Uso ideal: Para funcionalidades reutilizables en múltiples programas Clases Locales Definición: Se declaran dentro de un programa ABAP entre...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

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

SAP Expert



La definición de Clases, Atributos, Métodos y Eventos En SAP, una clase es una plantilla que define un objeto con sus características y comportamientos. Las clases contienen atributos, que son variables que almacenan datos o propiedades del objeto, como su estado o características. Los métodos son funciones o procedimientos que describen las acciones o comportamientos que un objeto puede realizar, manipulando sus atributos o interactuando con otros objetos. Los eventos permiten que una clase notifique a otros objetos cuando ocurre algo relevante, facilitando la comunicación y sincronización entre objetos. En resumen, las clases encapsulan atributos, métodos y eventos para modelar objetos...

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 ***

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

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

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

SAP SemiSenior

En ABAP, las clases globales y locales se refieren a la visibilidad y alcance de las clases: Clases Globales : Son accesibles desde cualquier programa o módulo dentro del sistema SAP. Clases locales : Son definidas dentro de un programa específico y solo son visibles para ese programa. Se utilizan para funcionalidades particulares de un programa. La transacción SE24 en SAP es conocida como Class Builder o Generador de Clases . Con la SE24 , puedes: Es una herramienta clave para el desarrollo de programación orientada a objetos . Crear y definir clases globales. Establecer atributos, métodos y eventos . Gestionar interfaces...

Acceder a esta publicación

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

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

SAP Senior

Las clases locales y globales Las clases en ABAP se puede 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. 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. Las definiciones de clases locales: Las clases locales son un conjunto de sentencias que están entre las sentencias CLASS...ENDCLASS. Las partes 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...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

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

SAP Expert


Cuando definimos tipos de datos dentro la definición de una clase podemos utilizar la visión read only luego de escribir el tipo de la variable que acabamos de declarar esto significara que el atributo público que fue declarado con la sentencia data puede ser leído desde afuera de la clase, pero solo podrá ser modificado por métodos de la misma clase vale la pena aclarar que solo se podrá utilizar la visión read only dentro de la parte publica de la declaración de una clase. Los atributos de una clase a lo que un usuario externo puede acceder directamente son los atributos públicos, los componentes públicos de una clase comúnmente se conocen como la interfaz...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

LAS 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. Cuando se una 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. A parte de la cuestión de la visibilidad, no hay ninguna diferencia usar una clase global o una clase local. Lo que si cambia sensiblemente es la manera en la 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...

Acceder a esta publicación

Creado y Compartido por: Gerardo Jose Campos Tovar / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Defining Classes, Attributes, Methods, and Events Local and Global Classes In ABAP, classes can be declared either globally or locally. Global classes are defined in the class builder, via transaction SE24 in the ABAP Workbench. These classes are stored in Class Pools within the class library in the R/3 repository. All ABAP programs in an R/3 system can access global classes. Local classes, on the other hand, are defined within an ABAP program and can only be invoked from the program in which they are defined. When using a class in an ABAP program, the system first searches for a local class with the specified name. If none is found, it looks for a global class. Besides visibility, there is no difference between using a global or local class....

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


La definición de Clases, Atributos, Métodos y Eventos 1 - Las clase locales y globales. Las clase globales se definen SE24 en el abap workbench. Se almacenan en el Class Pools Las clase 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 ABAP , el sistema primero busca una clase local con el nombre especifico, si no encuentra busca una clase global. 2 - Definicion de clases Locales. sentencias CLASS .. ENDCLASS. Consta de una parte declarativa (definicion de clase de los componentes), y una parte de implementacion clase (implementan los componentes) - Definicion de clase CLASS counter DEFINITION. PUBLIC SECTION....

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

 


 

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

 


 

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