✒️ABAP POO El desarrollo de una aplicación de Objetos Compartidos
ABAP POO El desarrollo de una aplicación de Objetos Compartidos
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, se crea la instancia en la memoria compartida.
DATA: r_handle TYPE REF TO zcl_shm_area, r_root TYPE REF TO zcl_shm_root_object.
Ejecutamos el método ATTACH_FOR_WRITE, que realiza un bloqueo para escritura.
r_handle = zcl_shm_area=>attach_for_write ( ).
Tras la instancia se pueden crear los obketos en memoria compartida, adicion AREA HANDLE en CREATE OBJECT.
CREATE OBJECT r_root AREA HANDLE r_handle.
Escribir texto en atributo MENSAJE creado.
r_root->mensaje = 'Debe introducir un usuario y password para continuar'.
Direccionar los objetos creados en insatancia de área, debemos asigna en ROOT del manejador de área el objeto raíz (SET_ROOT).
r_handle->set_root( r_root ).
Liberar bloqueo de escritura, para posibilitar el acceso de lectura. DETACH_COMMIT.
r_handle->detach_commit( ).
3-ACCESO A INSTANCIA DE AREA.
Los programas de lectura han de implementar:
- Variable referenciada del tipo de la clase del área, que se utilizará como manejador para la instancia del área accedida.
DATA: r_handle TYPE REF TO zcl_shm_area, r_root TYPE REF TO zcl_shm_root_object.
Utilizar método ATTACH_FOR_READ de CL_SHM_AREA para el manejador para la instancia del área, que establecerá un bloqeo de lectura para qwue la instancia del área no se borre en el acceso.
r_handle = zcl_shm_area=>attach_for_read( ).
Para imprimir por pantalla el valor deseado:
WRITE:/ r_handle->root->mensaje.
Para liberar el bloqueon de lectura, DETACH del manejador del área.
r_handle->detach( ).
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio De Tejada Santiago, en su ámbito de estudios para el Máster ABAP POO.
Juan Ignacio De Tejada Santiago
Profesión: Informatico - España - Legajo: NW89P
✒️Autor de: 219 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Juan De