✒️ABAP El tratamiento de los Objetos
ABAP El tratamiento de los Objetos
Tratamiento de objetos
Utilización de los objetos
Los objetos son instancias de las clases. Cada uno tiene una identidad propia y tiene sus propios atributos. Todos los objetos transitorios residen en el contexto de ua sesión interna (area de memoria de un programa ABAP). Una clase puede tener un numero indefinido de instancias.
Referencias a objetos: Son punteros a los objetos ABAP.
Las variables referenciadas o bien contiene el valor incial o bien contienen la referencia a un objeto ya existente. La identidad de un objeto depende de su referencia. Una variable referenicada que apunta a un objeto es la que conoce la identidad del objeto. Los usuarios no pueden acceder a la identidad del objeto directamente.
ABAP contiene un tipo de datos predefinido para las referencias, comparable a los tipos de datos para las estructuras o para tablas internas. El tipo de datos completo no esta definido hasta la declaración en el programa ABAP. El tipo de datos de la variable referenciada determina como el programa actua con su valor, o sea, con la referencia al objeto.
Las referencias a clases se definen usuando la siguiente adición:
TYPE REF TO <class>
Esta adición se usa en las sentenicas TYPES o DATA. Una variable referenciada de este tipo se llama variable referenciada a clase o referencia a clase simplemente.
Creación de objetos
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 boejto usando la sentencia CREATE OBJECT.
Como acceder a los componentes de un objeto
Los programas solo pueden acceder a los componentes de las instancias usando las referencias de las variables referenciadas. La sintaxis es la siguiente, siendo ref la variable referenciada:
- Para acceder al atributo attr: ref->attr
- Para llamar al metodo meth: CALL METHOD ref-> meth
Para los componentes estaticos o independientes de instancia, solo dependientes de clase, se puede usar tanto el nombre de la clase como la variable referenciada. Tambien es posible accede a los componentes estaticos 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 estatico attr: class->attr
- Para llamar al metodo estatico meth: CALL METHOD class-> meth
Dentro de una clase se puede acceder tambien 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 metodo meth en la propia clase CALL METHOD me-> meth
Asignación de referencias
Se puede asignar referencias a distitnas 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 parametros a procedimientos.
La clase OBJECT no tienen 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 contenedoras para pasar referencias. De cualquier manera, nunca pueden ser usadas para acceder a objetos.
 
 
 
Sobre el autor
Publicación académica de Marvin Raul Lopez Morales, en su ámbito de estudios para la Carrera Consultor ABAP.
Marvin Raul Lopez Morales
Profesión: Consultor Senior Sap / Abap It - Guatemala - Legajo: WP66T
✒️Autor de: 157 Publicaciones Académicas
🎓Cursando Actualmente: Consultor SAP Fiori
🎓Egresado de los módulos:
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Soy ingeniero en sistemas y cuento con mas de 20 años de experiencia en el área de informatica, tambien he participado en la implementación, migración y configuración de sap-erp para varias empresas.
Certificación Académica de Marvin Lopez