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

 X 

✒️ABAP El tratamiento de los Objetos

ABAP El tratamiento de los Objetos

ABAP El tratamiento de los Objetos

Object Handling

Object Utilization

Objects are instances of classes. Each object has its own identity and attributes. Objects are transient and exist within the context of a session. This means they are being used in the program, have a reference pointing to them, or have at least one event handler method registered in the object. The number of objects generated by a class is unlimited.

Object References

These are pointers to ABAP objects used to access an object from an ABAP program. ABAP objects are always contained in referenced variables. These variables contain either the initial value or a reference to an existing object. Direct access to an object is not possible.

Referenced variables are treated like any elementary data object, so they can contain internal tables or structures.

ABAP has a predefined data type for references. The complete data type is not defined until the declaration in the ABAP program. Depending on the data type of the referenced variable, the program determines how to act with the object reference or its value.

There are two main types of references:

  • Class reference: Defined using the clause TYPE REF TO <class name>. This clause applies to TYPES or DATA statements. These references allow the user to create an object of the class and access visible components using the statement cref --> component, where cref is the reference variable to the component.

DATA: cnt TYPE REF TO contador,
sum TYPE REF TO sumador.

  • Interface reference: To be covered later.

Object Creation

To create an object of a class, you first need to declare a referenced variable with a reference to the class. Once this is done, you can create the object using the statement CREATE OBJECT <referenced variable>. After the execution of the statement, the referenced variable will hold the object reference.

If there is no reference pointing to the object, it cannot be accessed syntactically, so the garbage collector will destroy all unreferenced objects when activated automatically next time, freeing up the memory space occupied by the affected object or objects. The garbage collector ensures the use of resources blocked by elements that no longer have any reason to exist in the system. If we want to know if the object is referenced or not, we can use the following if statement: If <reference variable name> is initial is true implies that the object assigned to the reference variable is not in use.

* Creo las instancias de los objetos
CREATE OBJECT cnt.
CREATE OBJECT sum.

How to Access Object Components?

Programs only access instance components using referenced variable references. Considering ref as the referenced variable:

  • Access to an attribute: ref --> attr.
  • Method call: CALL METHOD ref --> meth.

CALL METHOD sum->set
EXPORTING
set_value = number2.

For access to static or instance-independent components, only class-dependent ones can be accessed by both the class name and the referenced variable. It's possible to access static components of a class before an object of the same class has been created. Assuming class is a class:

  • Access to a static attribute: class --> attr.
  • Access to a static method: CALL METHOD class --> meth.

Additionally, it's possible to access individual components of a class from the class itself using self-reference ME:

  • Access to an attribute of the class itself: me --> attr.
  • Access to a method of the class itself: CALL METHOD me --> meth.

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

Constructors are a special type of methods that cannot be called using CALL METHOD. They are automatically called to establish the initial state of a new object or class. There are two types of constructors:

  • Instance-dependent.
  • Instance-independent or static.

They are methods with a predefined name and must be explicitly declared in the class. A constructor method is required if after creating an instance of a class, we need to assign resources, initialize attributes in a way not possible for the VALUE clause of the DATA statement, modify static attributes, or send messages indicating the creation of a new object. There are no destructor methods in ABAP objects.

Reference Assignment

It's possible to assign references to different referenced variables using the MOVE statement. This way, multiple differentiated variables can point to the same object.

When assigning a reference to a different referenced variable, their types must be compatible. Whether using the MOVE statement or direct assignment (=), the system must determine in syntax checking that the assignment will be possible. The same type of validation applies when passing referenced variables as parameters to procedures.

If we write the statement cref1 = cref2, both references must have the same type. That is, both references refer to the same class, or the class of cref1 must be a predefined class like empty or OBJECT.

The object class is a class that has no components and serves the same function for referenced variables as the ANY data type for normal variables. Referenced variables with the OBJECT type can function as containers for passing references but can never be used to access objects.

E.g

*----------------------------------------------------------------------*
* CLASS contador DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
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 count TYPE i.
ENDCLASS. "contador DEFINITION

*----------------------------------------------------------------------*
* CLASS contador IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS contador IMPLEMENTATION.
METHOD set.
count = set_value.
ENDMETHOD. "set
METHOD incrementar_contador.
ADD 1 TO count.
ENDMETHOD. "incrementar_contador
METHOD get.
get_value = count.
ENDMETHOD. "get
ENDCLASS. "contador IMPLEMENTATION


*----------------------------------------------------------------------*
* CLASS sumador DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS sumador DEFINITION.
PUBLIC SECTION.
METHODS: set IMPORTING VALUE(set_value) TYPE i,
incrementar_sumador,
get EXPORTING VALUE(get_value) TYPE i.
PRIVATE SECTION.
DATA sum TYPE i.
ENDCLASS. "sumador DEFINITION

*----------------------------------------------------------------------*
* CLASS sumador IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS sumador IMPLEMENTATION.
METHOD set.
sum = set_value.
ENDMETHOD. "set
METHOD incrementar_sumador.
ADD 100 TO sum.
ENDMETHOD. "incrementar_sumador
METHOD get.
get_value = sum.
ENDMETHOD. "get
ENDCLASS. " sumador IMPLEMENTATION

*----------------------------------------------------------------------*
* Declaración de variables
*----------------------------------------------------------------------*
DATA: number TYPE i VALUE 5,
number2 TYPE i VALUE 50.

DATA: cnt TYPE REF TO contador,
sum TYPE REF TO sumador.

*----------------------------------------------------------------------*
* Comienza el procesamiento
*----------------------------------------------------------------------*
START-OF-SELECTION.

* Creo las instancias de los objetos
CREATE OBJECT cnt.
CREATE OBJECT sum.

CALL METHOD cnt->set
EXPORTING
set_value = number.

CALL METHOD sum->set
EXPORTING
set_value = number2.

DO 3 TIMES.
CALL METHOD cnt->incrementar_contador.
ENDDO.

CALL METHOD sum->incrementar_sumador.

* Recupero los valores y los imprimo por pantalla
CALL METHOD cnt->get
IMPORTING
get_value = number.

WRITE number.

CALL METHOD sum->get
IMPORTING
get_value = number2.

WRITE number2.


 

 

 


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 "El tratamiento de los Objetos" de la mano de nuestros alumnos.

SAP Master

TRATAMIENTO DE OBJETOS. UTILIZACIÓN. Los objetos son instancias de las clase cada objeto tiene una identidad propia y sus propios atributos todos los objetos transitorios residen en el contexto de una sesión interna (área de memoria de un programa) Un objeto existe mientras se esté usando en el programa esto quiere decir que existe siempre que al menos una referencia que apunte hacia el o al menos un método del objeto este registrado como manejador de eventos. REFERENCIA A OBJETOS. Son punteros a los objetos. Hay dos tipos de referencia a clases y a interfaces. Las referencias a clases se definen usando la adición TYPE REF TO <CLASS> Esta adición se usa en las sentencias TYPES ó...

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

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

SAP Master

Tratamiento de Objetos 1. Utilización de objetos Los objetos son intancias de la clase. Un objeto existe mientras se esté usando en e programa. referencia hacia el, o método manejador registrado. 2. Referencias a objetos: Punteros a los objetos TYPE REF TO <class>. 3. Creación de objetos CREATE OBJECT 4. Cómo acceder a los componentes de un objeto * Para componentes de la instancia - Atributo: ref -> attr. - Método: CALL METHOD ref -> meth. * Para componentes estáticos - Atributo: class -> attr. o me -> attr. dentro de la clase - Método: CALL METHOD class -> meth. o me -> meth. dentro de la clase ...

Acceder a esta publicación

Creado y Compartido por: Helen Silva Ruiz

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

SAP Master

Lección 3: Tratamiento de Objetos. 1.- Utilización de objetos. Los objetos son instancias de las clases, cada objeto tiene identidad propia y tiene sus propios atributos. Un objeto existe mientras se esté usando en el programa, es decir, existe siempre que al menos una referencia apunte hacia el, o un método del objeto esté registrado como método manejador de eventos. 2.- Referencias a objetos. Son punteros a los objetos ABAP. Las referencias a objeto se usan para acceder a un objeto desde un programa ABAP, en ABAP los objetos están siempre contenidos en variables referenciadas. Las variables referenciadas en son tratadas como cualquier otro objeto de datos elemental, por lo tanto una variable...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

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

SAP Master

Objetos Instancias de las clases Referencia a Objetos Punteros a los objetos ABAP Tipos: Referencias a clases : DATA: <var> TYPE REF OF <class>. Referencias a interfaces Se accede a los atributos y métodos así: para los atributos : <var>->atributo para los métodos : CALL METHOD <var>->method para referenciarse así mismo se una me. (me->atributo o CALL METHOD me->method) Creación de objetos CREATE OBJECT <var>

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

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

SAP Master

los objetos son instancias de clases y tienen identidad y atributos propios, una clase puede tener un numero indefinido de instancias (referencias a variables) Las referencias a objetos son conocidos como punteros, existen 2 tipos las referencias a clases y a interfaces. para acceder a los atributos y metodos de una clase se emplea el siguiente simbolo ->, tambien e posible usar la palabra ME para referenciar al objeto mismo

Acceder a esta publicación

Creado y Compartido por: Eduardo Vargas

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

SAP Master

Utilización de objetos Un objeto existe mientras se esté usando en el programa, es decir, existe siempre que al menos una referencia apunte hacia él, o al menos un método del objeto esté registrado como método manejador de eventos. Referencias a Objetos Son punteros a los objetos ABAP. Una variable referenciada que apunta a un objeto es la que conoce la identidad del objeto. Los usuarios no pueden acceder a la identidad del objeto directamente. Las referencias a clases TYPE REF TO <class>. Ej: DATA: v_alv TYPE REF TO cl_gui_alv_grid. Creación de Objetos Primero se declara una variable referenciada a la clase y luego se crea al objeto mediante CREATE OBJECT. Ejemplo: CLASS counter DEFINITION....

Acceder a esta publicación

Creado y Compartido por: Javier Exposito Diaz

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

SAP Master

Tratamiento de Objetos 1- Utilización de Objetos Los Objetos son Instancias de las Clases. Cada Objeto tiene una identidad propia y tiene sus propios Atributos. Todos los Objetos Transitorios residen en el contexto de una sesión interna. Una Clase puede tener un número indefinido de Instancias. NOTA: Un Objeto existe mientras se esté usando en el programa ABAP, o sea mientras una referencia apunte a él, o un Método del Objeto esté registrado como Método Manejador de Eventos. 2- Referencias a Objetos Son Punteros a los Objetos ABAP Se usan para acceder a un Objeto desde un programa ABAP En ABAP los Objetos están siempre contenidos en Variables...

Acceder a esta publicación

Creado y Compartido por: Victor Norberto Levi

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

SAP Expert


Utilización de objetos. Un objeto existe mientras se esté usando en el programa, lo que quiere decir que existe siempre que al menos una referencia apunta hacia él, o al menos un método del objeto esta registrado como método manejador de eventos. Referencias a objetos. Son punteros a los objetos ABAP Hay dos tipos, las referencias a clases (permite al usuario crear una instancia, es decir un objeto, de la clase acceder a un componente visible) y la referencia a interfaces. Creación de objetos. Una vez se ha declarado la referencia a la clase se puede crear el objeto usando la sentencia CREATE OBJECT. Como acceder a los componentes de un objeto. La sintaxis, siendo Ref la variable referenciada Para acceder...

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

UTILIZACIÓN DE OBJETOS Objetos Los objetos son instancias de las clases. Cada objeto tiene una identidad propia y tiene sus propios atributos. Todos los objetos transitorios residen en el contexto de una sesión interna (área de memoria de un programa ABAP). Los objetos permanentes en la base de datos aún no están disponibles (documentación del release 4.6B). Una clase puede tener un número indefinido de objetos (instancias). Referencias a objeto Las referencias a objeto se usan para acceder a un objeto desde un programa ABAP. Las referencias a objeto son punteros a los objetos. En ABAP los objetos están siempre contenidos en variables referenciadas. Las variables referenciadas o bien...

Acceder a esta publicación

Creado y Compartido por: Juan Carlos Ayala Chira

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

SAP Master

Utilizacion de objetos: son instancias de las clases, cada uno tiene identdad propia y sus porpios atributos. Todos los objetos son transitorios residen en el contexto de una sesion interna (area de memoria de un programa ABAP). Una clase puede tener un numero indefinido de instancias. UN OBJETO EXISTE MIENTRAS SE ESTE USANDO EN EL PROGRAMA, LO QUE QUIERE DECIR QUE EXISTE SIEMPRE QUE AL MENOS UNA REFERENCIA APUNTA HACIA EL, O AL MENOS UN METODO DEL OBJETO ESTÉ REGISTRADO COMO METODO MANEJADOR DE EVENTOS. Referencias a objeto: son punteros a los objetos ABAP. Se usan para acceder a un objeto desde un programa ABAP. En ABAP los objetos estan siempre contenidos en variables referenciadas, estas contienen el valor inicial o la referencia...

Acceder a esta publicación

Creado y Compartido por: Jose Ignacio Rodini

 


 

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