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

 X 

✒️ABAP POO El desarrollo de una aplicación de Objetos Compartidos

ABAP POO El desarrollo de una aplicación de Objetos Compartidos

ABAP POO El desarrollo de una aplicación de Objetos Compartidos

DESARROLLO DE UN APLICACIÓN DE OBJETOS COMPARTIDOS – LECCION 4-5

CREACION DEL AREA

Se utiliza la transacción SHMA para crear y mantener las áreas de memoria. Para crear un área nueva ingresamos su nombre y presionamos CREAR

- Crear “el nombre del programa debe comenzar con Z o con Y”

- Guardar – “NOTA, esta clase se crea como una subclase de la clase estándar CL_SHM_AREA”

NOTA, el checkbox FINAL indica que la clase ZCL_SHM_ROOT_OBJECT es una clase final, es decir no tendrá subclases

- Dentro de la solapa ATRIBUTO creamos el atributo MENSAJE como un CHAR de 100 posiciones

CREACION DE UNA ISNTANCIA DE AREA

Para acceder a un área necesitamos crear una variable referenciada del tipo de la clase de área generada. Esta referencia sirve como un manejador para acceder al área. También necesitamos crear una variable referenciada del tipo de la clase raíz

Cuando instanciamos la clase de área, una instancia de la clase es creada en memoria compartida. El programa utiliza un manejador para esta instancia del área, todas las futuras operaciones serán realizadas utilizando este manejador

DATA: r_handle TYPE REF TO zcl_shm_area,

R_root TYPE REF TO zcla_shm_root_object.

Luego ejecutamos el método ATTACH_FOR_WRITE el cual realiza un bloqueo para escritura

R_handle = zcl_shm_area=>attach_for_write( ).

Una vez que la instancia ha sido creada, los objetos pueden ser creados en la memoria compartida. Para ello, utilizamos la adición AREA HANDLE en la sentencia CREATE OBJECT

CREATE OBJECT r_root AREA HANDLER r_handle.

Escribimos un texto dentro del atributo MENSAJE que previamente creamos y que será el que luego leeremos de memoria.

r_root->mensaje = ‘debe introducir un usuario y pass para continuar’.

Para poder direccionar a los objetos creados en la instancia del área tenemos que asignar el objeto raíz al atributo ROOT del manejador del área. Para ello, utilizaremos el método SET_ROOT del manejador. Como resultado, cualquier programa puede acceder a esta área

r_handle->set_root (r_root).

Finalmente, el acceso a la lectura de la instancia del área no es posible hasta que el bloqueo de escritura ha sido liberado. Para ello, se utiliza el método DETACH_COMMIT

r_handle->detach_commit ( ).

Luego de todos estos pasos, el código que generamos es el siguiente

ACCEDIENDO A UNA INSTACIA DEL AREA

Una vez que la instancia ha sido creada, cualquier programa puede acceder a ella. Los programas de lectura tendrán que implementar los siguientes pasos

Al igual que en la escritura, utilizaremos una variable referenciada del tipo de la clase del área. Esta variable se utiliza como un manejador para la instancia del área que será accedida

DATA: r_handle TYPE REF TO zcl_shm_area,

r_root TYPE REF TO zcl_shm_root_object.

El programa también tiene que obtener el manejador para la instancia del área. Esto lo realiza utilizando el método ATTACH_FOR_READ que es proporcionado por la clase CL_SHM_AREA. Esto establece un bloqueo de lectura que impide que la instancia del área se borre durante el acceso

r_handle = zcl_shm_area=>attach_for_read ( ).

Imprimimos en pantalla el valor recuperado del mensaje tal como vemos a continuación

WRITE: / r_handle->root->mensaje.

Una vez que la lectura es completada, liberamos el bloque de lectura utilizando el metodo DETACH del manejador del area

r_handle->detach ( ).

Luego de todos los pasos anteriores, generamos el siguiente código

Para probar nuestra aplicación ejecutamos primero el programa ZOBJETOS_COMPARTIDOS_1 el cual realiza la escritura del contenido del atributo MENSAJE y luego ejecutamos el programa ZOBJETOS_COMPARTIDOS_2 el cual lee e imprime el contenido del atributo MENSAJE, produciendo la siguiente salida por pantalla.


 

 

 


Sobre el autor

Publicación académica de Cristian Darwin Arteaga Diaz, en su ámbito de estudios para el Máster ABAP POO.

SAP Expert


Cristian Darwin Arteaga Diaz

Profesión: Abap Developer - Argentina - Legajo: GP81Q

✒️Autor de: 165 Publicaciones Académicas

🎓Cursando Actualmente: Master Funcional para Consultores ABAP

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Me considero una persona responsable, siempre estoy investigando y capacitandome para adquirir nuevos conocimientos, tengo el gusto de iniciarme en el mundo de abap como desarrollador, es genial.

Certificación Académica de Cristian Arteaga

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El desarrollo de una aplicación de Objetos Compartidos" de la mano de nuestros alumnos.

SAP Expert


El desarrollo de una aplicación de objetos compartidos. El área del nombre debe comenzar con Z o con Y. Introducir una descripción para el área y clase raíz. El checkbox final indica que la clase ZCL_SHM_ROOT_OBJECT es una clase final, es decir no tendrá subclases. Una vez que la instancia ha sido creada, los objetos pueden ser creados en la memoria compartida. Pará ello se utilizará la adición AREA HANDLE en la sentencia CREATE OBJECT. Finalmente, el acceso a la lectura de la instancia del área no es posible hasta que el bloqueo de la escritura ha sido liberado. Utilizando el método DETACH_ COMMIT

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 Senior

OBJETOS COMPARTIDOS ATTACH_FOR_READ es proporcionado por la clase CL_SHM_AREA. Establece un bloqueo de lectura que impide que la instancia del área se borre durante el acceso. DETACH, método que libera el bloqueo de lectura. ATTACH_FOR_WRITE el cual realiza un bloqueo de escritura Cuando instanciamos la clase del área, una instancia de la clase es creada en memoria compartida. Una vez que la instancia ha sido creada, los objetos pueden ser creados en la memoria compartida, usando la adición AREA HANDLE en la sentencia CREATE OBJECT. Los atributos se escriben en la solapa de atributos de la clase raíz y la clase raíz se crea como una subclase de la clase CL_SHM_AREA

Acceder a esta publicación

Creado y Compartido por: Elda Martinez Soto

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

SAP Expert


DESARROLLO DE APLICACION DE OBJETOS COMPARTIDOS: 1-CREACION DEL AREA: Utilizamos la Transacción SHMA para crear y mantener áreas de memoria. Introducimos nombre y Crear (el nombre empezará por Z ó Y), descripción de área y clase raíz (root class). Guardar (se crea clase raíz como subclase de CL_SHM_AREA. En la clase raíz ZCL_SHM_ROOT_OBJECT, seleccionamos Apto memoria compartida. En la solapa atributos creamos MENSAJE (char de 100). 2-CREACION DE INSTANCIA DE AREA: Crear variable referenciada de tipo de la clase de área creada, que sirve como manejador para acceso al área. Crear variable referenciada del tipo de la clase raíz. Al instanciar la clase de área,...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio De Tejada Santiago / Disponibilidad Laboral: FullTime

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

SAP Expert


DESARROLLO DE UN APLICACIÓN DE OBJETOS COMPARTIDOS – LECCION 4-5 CREACION DEL AREA Se utiliza la transacción SHMA para crear y mantener las áreas de memoria. Para crear un área nueva ingresamos su nombre y presionamos CREAR - Transacción SHMA - Crear “el nombre del programa debe comenzar con Z o con Y” - Descripción - Guardar – “NOTA, esta clase se crea como una subclase de la clase estándar CL_SHM_AREA” - En la clase raíz ZCL_SHM_ROOT_OBJECT seleccionamos la opción APTO MEMORIA COMPARTIDA NOTA, el checkbox FINAL indica que la clase ZCL_SHM_ROOT_OBJECT es una clase final, es decir no tendrá...

Acceder a esta publicación

Creado y Compartido por: Cristian Darwin Arteaga Diaz / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert



DESARROLLO DE UNA APLICACIÓN DE OBJETOS COMPARTIDOS CREACIÓN DEL ÁREA Utilizaremos la transacción SHMA para crear y mantener las áreas de memoria Para crear un área nueva ponemos su nombre y pulsamos CREAR ej: ZCL_SHM_AREA NOTA: El nombre del área debe comenzar con Z o con Y. Introducimos una descripción para el área. Ej: Area de Test Indicamos la clase raíz (ROOT CLASS) ej: ZCL_SHM_ROOT_OBJECT En propiedades fijas: CON CREACION DE VERSIONES. Pulsamos Guardar y se creará la clase raíz. Esta clase se creará como una subclase de la clase estándar CL_SHM_AREA. En clase: ZCL_SHM_ROOT_OBJECTY. Descripción: Clase Raíz. Creac.Instancia:...

Acceder a esta publicación

Creado y Compartido por: Josep Antoni Lopez Moyano

 


 

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