✒️La memoria en SAP y en ABAP
La memoria en SAP y en ABAP
En ciertas oportunidades podría suceder que mientras ejecutamos un programa u objeto ABAP, necesitemos de datos que se obtengan en otro programa ABAP que se ejecutó previamente.
Existen varias formas de solucionar esto, una de ellas es pasando parámetros de un programa a otro, si es que ambos objetos son programas y otra opción es utilizar la memoria para pasar los datos entre programas.
Cuando hablamos de memoria debemos hacer una distinción entre:
-
La memoria de SAP
-
La memoria de ABAP
La memoria de ABAP es una memoria local y es muy limitada, ya que solo se puede acceder a ella dentro de una sesión interna y los programas que se ejecutan fuera de la sesión no pueden leer ni escribir en esta memoria.
Cuando hablamos de una sesión interna nos referimos a la sesión de un usuario de SAP en particular en el sistema.
En cambio la memoria de SAP es una memoria global y es accesible para todos los programas que se ejecutan en esa sesión, así como en las diferentes sesiones principales.
La memoria de SAP se puede utilizar para pasar datos de un programa a otro, ya sea dentro de una sesión o en otra sesión.
En términos de uso, el uso principal de la memoria ABAP es hacer que los datos sean accesibles para múltiples programas dentro de la misma sesión. Y en lo que respecta a la memoria de SAP también hace que los datos estén disponibles en múltiples sesiones.
Cuando se trata de la memoria de SAP utilizaremos las sentencias SET PARAMETER ID y GET PARAMETER ID para intercambiar datos, de modo que con la sentencia SET vamos a asignar valores a los ID de parámetros de los campos de las pantallas de SAP y con la sentencia GET vamos recuperar los valores de los ID de parámetros de los campos de las pantallas de SAP.
Por otro lado, los programas ABAP pueden acceder a la memoria ABAP dentro de la misma sesión interna utilizando las sentencias IMPORT y EXPORT. Los datos dentro de esta memoria permanecen intactos durante una secuencia de llamadas a programas.
1.1| La memoria de SAP
La sentencia SET PARAMETER ID se utiliza para el envío de parámetros en la llamada a una transacción. La sintaxis de la sentencia SET PARAMETER ID es la siguiente:
Con la ejecución de la sentencia anterior escribimos el contenido del campo f en la memoria global de SAP del usuario bajo el ID pid. Los ID de parámetro pueden tener hasta 20 caracteres
Los valores escritos en la memoria SAP se conservan incluso cuando el usuario sale del programa.
Por otro lado, la sentencia GET PARAMETER ID se utiliza para transferir el valor almacenado en un ID de parámetro de la memoria SAP a un campo o variable.
La sintaxis de la sentencia GET PARAMETER ID es la siguiente:
1.2 | La memoria de ABA
Tal como mencionamos anteriormente en ABAP existen sentencias que nos permiten manipular fácilmente los datos que subimos y bajamos de la memoria.
Para subir o exportar datos a la memoria ABAP vamos a utilizar la sentencia EXPORT tal como mostramos en la siguiente imagen:
Para bajar o importar los datos de la memoria ABAP utilizamos la sentencia IMPORT
Se pueden exportar e importar tanto variables, como estructuras o tablas internas a la memoria ABAP.
Luego de bajar los datos de la memoria, es conveniente liberar el área de memoria utilizada y esto lo hacemos con la sentencia FREE MEMORY tal como vemos a continuación:
Para que la exportación e importación de datos funcione correctamente se debe utilizar la misma sesión de memoria o ejecución
Ahora bien si deseamos pasar datos entre programas entonces podemos utilizar la sentencia SUBMIT para poder llamar a un programa dentro de la ejecución de otro programa.
 
 
 
Sobre el autor
Publicación académica de Octavio Ivan Pasciucco, en su ámbito de estudios para la Carrera Consultor ABAP.
Octavio Ivan Pasciucco
Profesión: Consultor Sap Btp - Argentina - Legajo: FX47X
✒️Autor de: 23 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Presentación:
Consultor sap btp
Certificación Académica de Octavio Pasciucco