✒️SAP BASIS Los procesos de diálogo ABAP
SAP BASIS Los procesos de diálogo ABAP
.1 - La capa de presentación
Los usuarios pueden loguearse al sistema SAP utilizando diferentes front ends (ej.: SAPGUI) y así trabajar con las aplicaciones de SAP que estén desarrolladas para este tipo de interfaz de usuario.
Los programas que conforman esas aplicaciones están desarrollados para que sean ejecutados en el entorno de ejecución ABAP de nuestro sistema SAP. Sin importar si son transacciones clásicas o aplicaciones web serán ejecutadas por el proceso de diálogo de la instancia de ABAP.
(Las aplicaciones web también pueden ser desarrolladas en JAVA por lo que serían procesadas por este entorno. Cuando llega la solicitud al sistema se determina si es ABAP o JAVA y se reenvía al entorno adecuado)
2 - Procesando solicitudes de SAPGUI
El procesamiento de la solicitud de un usuario involucra diferentes procesos en las tres capas (presentación, aplicación y base de datos).
Cuando el usuario llama a una transacción o cambia de pantalla dentro de una misma función, esto es tomado por el programa de presentación SAPGUI, el cual lo convierte en un formato interno y enviado al AS ABAP.
El dispatcher (ABAP) es el proceso central del AS ABAP. Se encarga de gestionar los recursos para las aplicaciones escritas en ABAP en coordinación con el sistema operativo respectivo donde corre nuestro sistema SAP.
Las principales tareas del dispatcher:
* distribución de solicitudes entre sus work processes
* integración de la capa de presentación
* organización de las comunicaciones
La solicitud enviada por el SAPGUI entra en una cola de solicitudes en el dispatcher. En cuanto existe un proceso de diálogo libre, la solicitud es enviada por el dispatcher a este work process. Esto significa que no hay una relación fija entre los work process y los usuarios (más adelante volveremos sobre esto).
Para poder procesar las solicitudes de usuario, frecuentemente el work process necesitará leer datos desde o escribirlos en la base de datos del sistema. IMPORTANTE: Es por esto que cada work process está conectado directamente a la base de datos
Finalmente, una vez que la solicitud ha sido completamente procesada por el work process la respuesta es enviada nuevamente a través del dispatcher al SAP GUI. El SAP GUI interpreta la respuesta y genera una pantalla para el usuario.
Los buffers indicados como Shared Memory (Memoria Compartida) ayudan a agilizar el tiempo de la respuesta por parte del servidor de aplicación a la capa de presentación SAP GUI ya que datos que son accedidos frecuentemente pueden alojarse en alguno de estos buffers en vez de tener que solicitarlos a través de una consulta a la base de datos.
3 - Interface con la base de datos del sistema
Dentro del lenguaje de programación ABAP el programador puede utilizar lo que se conoce como ABAP Open SQL; utilizando este método el programador se independiza del RDBMS sobre el cual se instaló el sistema SAP.
La interfaz de base de datos, que existe en cada work process del AS ABAP, traduce la sentencia Open SQL al correspondiente lenguaje SQL para la base de datos específica utilizada que sería el Native SQL (SQL Nativo).
Esto es importante porque:
* de esta manera los programas ABAP aseguran que sean independientes de la base de datos.
* utilizar de manera óptima los buffers del servidor de aplicación SAP.
Mucha información que no suele cambiar frecuentemente es la que se aloja en estos buffers del AS ABAP, entre otros, se encuentran los programas ABAP, las pantallas, información del diccionario ABAP y tablas con datos estáticos.
Sin embargo es posible utilizar Native SQL para acceder a los objetos de la base de datos, esto significa que la interface de base de datos y el buffer local no serán utilizados en estos casos. Si el programa ABAP tiene en su código sentencias Native SQL, este pierde la independencia de la plataforma de base de datos del sistema SAP.
 
 
 
Sobre el autor
Publicación académica de Norberto Berli, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Norberto Berli
Profesión: Magister & Ingeniero en Sistemas - Argentina - Legajo: MM92S
✒️Autor de: 36 Publicaciones Académicas
🎓Cursando Actualmente: Consultor en SAP BASIS Nivel Avanzado
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Norberto Berli