✒️ABAP / El tratamiento de los Objetos Por Hernan Cabezas

Selector Alummnos / Empresas

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

ABAP El tratamiento de los Objetos

ABAP El tratamiento de los Objetos

Lección 3: 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 (área de memoria de un programa Abap). Una clase puede tener un número indefinido de instancias

Un objeto existe mientras se esté usando en el programa, lo que quiere decir que existe siempre que al menos una referencia apunte hacia él, o al menos un método del objeto este registrado como método manejador de eventos.

2| Referencias a Objetos

Son punteros a los objetos ABAP.

Las referencias a objetos 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 o bien contienen el valor inicial o bien contienen la referencia a un objeto ya existente. La identidad de un objeto depende de su referencia. Una variable referencia 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 variables referenciadas en ABAP son tratadas como cualquier otro objeto de datos elemental. Estos quieren decir que una variable referenciada puede contener una tabla interna o una estructura. ABAP contiene un tipo de datos predefinidos para las referencias, comparable a los tipos de datos para las estructuras o para las tablas internas. El tipo de datos completo no está definido hasta la declaración en el programa ABAP. El tipo de datos de la variable referenciada determina como el programa actúa con su valor, o sea, con la referencia al objeto. Hay dos tipos de principales referencias. La referencia a clases y la referencia a interfaces, las cuales veremos más adelante. Las referencias a clases se definen usando la siguiente adición

Ejemplo

DATA: v_alv TYPE REF TO cl_gui_alv_grid.

Esta adición se usa en las sentencias TYPES o DATA. Una variable referenciada de este tipo se llama variable referenciada a clase o referencia a clase simplemente.

Una referencia a clase permite al usuario crear una instancia, es decir un objeto, de la clase y acceder a un componente visible de la siguiente manera:

Cref -> comp

3| Creación de Objetos

Antes de crear un objeto de una clase es necesario declarar una variable referenciada con la referencia a la clase. Una vez que se ha declarado la referencia a la clase, se puede crear el objeto usando la sentencia CREATE OBJECT. Esta sentencia crea una instancia de la clase y la variable referenciada contiene la referencia al objeto.

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.

CLASS counter IMPLEMENTATION.

METHOD set.

counter = set_value.

ENDMETHOD.

METHOD increment.

ADD 1 TO count.

ENDMETHOD.

METHOD get.

get_value = coun.

ENDMETHOD.

ENDCLASS.

DATA number TYPE i VALUE 5.

DATA cnt TYPE REF TO counter.

START-OF-SELECTION.

CREATE OBJECT cnt.

Si no existe una referencia que apunte a un objeto entonces el objeto no puede ser accedido sintácticamente, el recolector de basuras es una rutina del sistema que se inicia automáticamente. Cada vez que el sistema no tiene tareas mas importantes que realizar y elimina los objetos no referenciados de la memoria principal librando el espacio de la misma que permanecía ocupado. El propósito del recolector de basura es identificar y descartar los objetos que ya no son necesarios para un programa de manera que sus recursos puedan ser recuperados y reutilizados. Dada la referencia r_objeto podemos utilizar la siguiente lógica: Si r_objeto es inicial. Mediante esta lógica determinamos si la referencia es nula es decir si no apunta algún objeto.

4| Cómo acceder a los componentes de un Objeto?

Los programas sólo pueden acceder a los componentes de las instancias usando las referencias de las variables referenciadas. La sintaxis es la siguiente, siendo ref. la variable referencia:

ü Para acceder al atributo att: ref->attr

ü Para llamar al método meth: CALL METHOD ref ->meth.

Para los componentes estáticos o independientes de instancia, solo dependientes de clase, se pueden usar tanto el nombre de la clase como la variable referenciada. También es posible acceder a los componentes estáticos de una clase antes de que un objeto de la clase haya sido creado.

La sintaxis, siendo class la clase es la siguiente:

ü Para acceder al atributo estático attr: class->attr.

ü Para llamar al método estático meth: CALL METHOD class->meth.

Dentro de una clase se pueden acceder también a los componentes individuales mediante la referencia a si mismo ME:

ü Para acceder al atributo attr en la propia clase: me->attr.

ü Para llamar al método meth en la propia clase: CALL METHOD me->meth.

Los constructores son un tipo especial de métodos que no pueden ser llamado a través de la sentencia CALL METHOD, estos métodos son llamados automáticamente por el sistema para fijar el estado inicial de un nuevo objeto o clase. Hay dos tipos de constructores:

Los dependientes de instancia y los estáticos o independientes de instancia. Los constructores son métodos con un nombre predefinido para usarlos deben ser declarados explícitamente en la clase, un constructor será necesario si después de crear una instancia en una clase necesitamos asignar recursos, inicializar atributos que no puedan ser cubiertos con la visión VALUE de la sentencia DATA, modificar atributos estáticos o enviar mensajes que indiquen que un nuevo objeto a sido creado, no existe un destructor en los objetos ABAP , es decir no hay un método de instancia que se llame automáticamente antes que un objeto sea borrado.

5| Asignación de Referencias

Se pueden asignar referencias a distintas variables referenciadas usando la sentencia MOVE. De esta manera se puede tener las referencias en varias variables referenciadas apuntando al mismo objeto. Cuando se asigna una referencia a una variable referenciada distinta, sus tipos deben ser compatibles. Cuando se usa la sentencia MOVE o el operador de asignación = para asignar variables referenciadas, el sistema debe ser capaz de reconocer en el chequeo de la sintaxis si la asignación va a ser posible. Esto mismo se aplica cuando se pasan variables referenciadas como parámetros a procedimientos. Si escribimos la sentencia cref1 = cref2, las dos referencias tienen que tener el mismo tipo, esto es, tienen que referirse a la misma clase, o bien la clase de cref1 tiene que ser la clase predefinida como vacía, o sea OBJECT. La clase OBJECT no tiene componentes y tiene la misma función para las variables referenciadas que el tipo de datos ANY para las variables normales. Las variables referenciadas con el tipo OBJECT pueden funcionar como contenedores para pasar referencias. De cualquier manera, nunca pueden ser usadas para acceder a objetos.

6| Mi primer programa de objetos

El objetivo del programa será simular un contador. Para ello, definimos la clase CONTADOR con los métodos públicos y el atributo privado COUNT.

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.

Luego la implementación de la clase.

CLASS contador IMPLEMENTATION.

METHOD set.

count = set_value.

ENDMETHOD.

METHOD incrementar_contador.

ADD 1 TO count.

ENDMETHOD.

METHOD get.

get_value = count.

ENDMETHOD.

ENDCLASS.

Declaramos la variable NUMBER de tipo i, inicializada con el valor cinco y CNT que será una referencia de la clase contador. Luego creamos una instancia de la clase contador y ejecutamos el método set. Finalmente, ejecutamos dentro de una iteración el método incrementar_contador el cual sumara 1 al contenido de la variable number, obtenemos su nuevo valor y la imprimimos en pantalla.

DATA number TYPE i VALUE 5.

DATA cnt TYPE REF TO contador.

START-OF-SELECTION.

CREATE OBJECT cnt.

CALL METHOD cnt->set

EXPORTING

set_value = number.

DO 3 TIMES.

CALL METHOD cnt->incrementar_contador.

ENDDO.

CALL METHOD cnt->get

IMPORTING

get_value = number.

WRITE number.

Al ejecutar veremos: 8


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Hernan Cabezas, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Master

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El tratamiento de los Objetos" de la mano de nuestros alumnos.

SAP Master


El tratamiento de los Objetos Utilización de objetos Los objetos son instancias de clases. Cada objeto posee una identidad propia y sus propios atributos. Los objetos transitorios residen en el contexto de una sección interna (área de memoria de un programa ABAP). Una clase puede tener un número indefinido de instancias. Un objeto existe mientras al menos una referencia apunta a él o un método está registrado como manejador de eventos. Referencias a objetos Las referencias son punteros a objetos ABAP y permiten acceder a ellos desde el programa. En ABAP los objetos siempre están contenidos en variables referenciadas....

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Expert



SAP, los objetos representan entidades lógicas o físicas del sistema, como materiales, clientes, pedidos o documentos. Cada objeto se identifica mediante un número único y posee atributos y datos maestros que definen sus características y comportamientos. El tratamiento de objetos implica su creación, modificación, consulta y eliminación, así como la gestión de sus relaciones con otros objetos mediante tablas, vistas y estructuras. En entornos ABAP, los objetos pueden manipularse con programación orientada a objetos (clases, métodos, interfaces) o de forma procedural. También se controlan mediante autorizaciones y roles para garantizar la seguridad. Además,...

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 "3: El tratamiento de los Objetos" • Utilización de Objetos Los objetos son instancias de las clases, cada uno con su propia identidad y atributos. Residen en el área de memoria de un programa ABAP (contexto de una sesión interna). Una clase puede tener un número indefinido de instancias. Para acceder a un objeto desde un programa ABAP, se utilizan referencias a objeto, las cuales siempre están contenidas en variables referenciadas. â—¦ Las variables referenciadas pueden contener un valor inicial o una referencia a un objeto existente. â—¦ La identidad de un objeto depende de su referencia, y los usuarios no pueden acceder directamente a ella. â—¦ Las variables referenciadas...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

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

SAP SemiSenior

las referencias a objetos son variables que apuntan o se refieren a instancias de objetos en memoria. En lugar de contener directamente los datos del objeto, las referencias guardan la dirección de memoria donde se encuentra el objeto. Esto permite manipular y acceder a objetos de manera flexible. Características de las Referencias a Objetos : Punteros a Objetos : Las referencias actúan como punteros que apuntan a la ubicación en memoria de un objeto. Manipulación de Objetos : Permiten crear, modificar y acceder a objetos de manera indirecta. Gestión de Memoria : En ABAP, la gestión de memoria y el ciclo de vida de los objetos se manejan mediante estas referencias. Referencias...

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

La utilización de objetos los objetos son instancias de las clases, con identidad y atributo propios. Todos los objetos transitorios residen en el contexto de una sesión interna (área de memoria de un programa ABAP). Una clase puede tener un número indefinido de instancias. Un objeto existe siempre que una referencia apunte hacia él o un método del objeto esté registrado como método manejador de eventos. Las 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 referenciadas. Las variables referenciadas contienen el valor inicial o la referencia a un objeto ya existente....

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


Si no existe una referencia que apunte a un objeto entonces el objeto no puede ser accedido sintácticamente el garbach colector o recolector de basura es una rutina del sistema que se inicia automáticamente cada vez que el sistema no tiene tareas mas importantes que realizar y elimina los objetos no referenciados de la memoria principal liberando el espacio de la misma que permanecía ocupado el propósito del recolector de basura es identificar y descartar los objetos que no son necesarios para un programa de manera que sus recursos puedan ser recuperados y reutilizados. Dada la referencia R_Objeto podemos utilizar la siguiente lógica if R_objeto es inicial y mediante esta lógica vamos a determinar si...

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

LA UTILIZACION DE OBJETOS. Los objetos son instancias de las clases. Cada objeto tiene una identidad propia y tiene sus propios atributos. Una clase puede tener un número indefinido de instancias. LAS REFERENCIAS A OBJETOS. Son punteros a los objetos ABAP. Las referencias a objetos 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 ABAP son tratadas como cualquier otro objeto de datos elemental. Esto quiere decir que una variable referenciada puede contener una tabla interna o una estructura. ABAP contiene un tipo de datos predefinidos para las referencias, comparable a los tipos de datos para la estructuras o para las...

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


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

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


El tratamiento de los Objetos 1 - La utilizacion de objetos. Los objetos son instacias de clase. Cada objeto tiene identidad propia y tiene sus propios atributos. Una clase puede tener un nro indefinido de instancias. Un objeto existe mientras se use en el programa (una referencia apunte a el). 2 - Las referencias a objetos. Son punteros a los objetos ABAP. Se usan para acceder a un objeto desde un prog ABAP. Las variables referenciadas: tiene el valor inicial o la referencia de un objeto existente. Puede contener una tabla interna o una estructura. Las referencias a clase se definen con TYPE REF TO <class> DATA: v_alv TYPE REF TO cl_gui_alv_grid. 3 - La creacion de objetos. Una vez declarada la refeencia...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

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

SAP Master

UTILIZACION DE OBJETOS un objeto existe mientras se este usando en el programa, lo que quiere decier que existe siempre que al menos una referencia apunte hacia el, o al menos un metodo del objeto este registrado como metodo manejador de eventos. Creacion de mi primer programa orientado a objetos. 1- SE DEFNE LA CLASE CON LOS METODOS Y ATRIBUTOS. 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 2- SE CREA LA IMPLEMENTACION DE LA CLASE CLASS contador IMPLEMENTATION. METHOD set. count = set_value. ENDMETHOD....

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / 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:

 


 

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