🚀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

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.


 

 

 


Sobre el autor

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

SAP Master

Jaime Eduardo Gomez Arango

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

✒️Autor de: 118 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

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

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

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

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

SAP Master

En ABAP existen 2 tipos de clases (globales y locales) las globales se definen en el generador de clases (SE24) las clases locales se generan dentro del programa que las empleará los metodos, eventos y atributos mantienen la filosofia de programacion orientada a objetos como paradigma

Acceder a esta publicación

Creado y Compartido por: Eduardo Vargas

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

SAP Senior

Calses: Conjunto de objetos con la misma estructura y comportamiento. Globales: Se definen en el generador de clases a través de la Transacción SE24, en el ABAP Workbench. Son almacenadas en el Class Pool en la librería de clases en el Repositorio R/3. Todos los programas ABAP en este R/3 pueden accederlas. Deben estar preparadas para ser utilizadas en cualquier parte. Locales: Sentencias definidas entre un CLASS ... ENDCLASS. Se definen en un programa ABAP y solo pueden ser invocadas desde este mismo programa, basta con que funcione para este. Constan de una Parte Declarativa (Definición de Clase) que es la comprendida entre las sentencias: ...

Acceder a esta publicación

Creado y Compartido por: Julio Leon

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

SAP Master


LAS CLASES SE PUEDEN DEFINIR LOCALMENTE O GLOBALMENTE SE24: Generados de clases Las Clases locales se definen en un programa ABAP y solo se puede usar en ese programa. DEFINICION DE CLASES LOCALES Sentencia CLASS <clase> DEFINITION...ENDCLASS. Sentencia CLASS <clase> IMPLEMENTATION...ENDCLASS. ESTRUCTURA Y COMPONENTES DE UNA CLASE Se define en: Una clase contiene componentes. Cada componente se asigna a una sección de visibilidad. Las clases implementan métodos. ATRIBUTOS: Son los campos de datos internos de una clase y pueden tener cualquier tipo de datos ABAP. Los atributos dependientes de instancia se define con: DATA Los atributos independientes de instancia se define con: CLASS-DATA METODOS:...

Acceder a esta publicación

Creado y Compartido por: Ivan Dario Lemus Moya

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

SAP Master


Clases locales y globales. Las clases en ABAP se puede declara gobalmente o localmente . Las clases gobales se definen en el generador de clases, a traves de la transaccion SE24 en el ABAP worchbench. 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 Las clases locales son el conjunti de sentencias que estan entre las sentencias CLASS...ENDCLASS. Estructura y componentes de una clase La estructura de una clase se define principalmente basandose en : * Una clase contiene componetes. * Cada componente se asigna a una seccion de visbilidad (publico, protegido o privada) * Las clases implementan metodos. Los objetos ABAP, las clases pueden definir...

Acceder a esta publicación

Creado y Compartido por: Victor Hugo Mata Valencia

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

SAP Senior

CLASES LOCALES Y GLOBALES. Las clases se las puede declarar local y globalmente. TX SE24 en el abap WORKBENCH, éstas clase son almacenadas en el Class Pools. 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 un clase en un programa abap, el sistema primero busca una clase local por el nombre especificado y si no la encuentra busca una clase global. las clases globales deben estar preparadas para ser utilizadas en cualquier parte. DEFINICION DE CLASES LOCALES.- Son conjuntos de sentencias que se encuentran entre las sentencias CLASS .... ENDCLASS. Constará una clase: parte declarativa o definición, parte de implementación en...

Acceder a esta publicación

Creado y Compartido por: Karyna Alexandra Suarez Flores

 


 

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