✒️La memoria en SAP y en ABAP
La memoria en SAP y en ABAP
1. La memoria
Cuando hablamos de memoria debemos hacer una distinción entre:
- La memoria de SAP
- La memoria de ABAP.
La memoria 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.
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.
El uso principal de la memoria ABAP es hacer que los datos sean accesibles para múltiples programas dentro de una misma sesión. Y en lo que respecta 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 a recuperar los valores de los ID de parámetros de los campos de las pantallas de SAP.
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.
Diferencias principales que existen entre la memoria de SAP y la memoria de ABAP.
Memoria de SAP | Memoria de ABAP |
Es una memoria global | Es una memoria local |
Todas las sesiones de SAP Gui de todos los usuarios de SAP tienen acceso a ella | Todos los programas dentro de una misma sesión tienen acceso a ella |
Hace que los datos estén disponibles en la sesión principal | Hace que los datos estén disponibles en múltiples sesiones dentro de la misma sesión |
Los datos pueden intercambiar utilizando parámetros GET / SET | Los datos se pueden intercambiar utilizando las sentencias EXPORT / IMPORT |
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 es la siguiente:
SET PARAMETER ID <pid> FIELD <f>.
Con 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.
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:
GET PARAMETER ID <pid> FIELD <f>.
1.2 La memoria de 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:
EXPORT <campo> TO MEMORY ID <id_unico>.
El ID que se utiliza debe ser único ya que identifica ese dato dentro de la memoria ABAP.
Para bajar o importar los datos de la memoria ABAP utilizamos la sentencia IMPORT:
IMPORT <campo> FROM MEMORY ID <id_unico>.
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:
FREE MEMORY ID.
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 ejecución de otro programa.
Luego en el programa que importa los datos ejecutaremos la sentencia IMPORT.
 
 
 
Sobre el autor
Publicación académica de Alexis Jesus Perez Ramirez, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexis Jesus Perez Ramirez
Profesión: Licenciado en Computación - Venezuela - Legajo: LK96B
✒️Autor de: 69 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Licenciado en computación egresado de la ucv, con amplia experiencia en base de datos, análisis de sistemas y programación; tanto en ambiente web, cliente/servidor como en computación central.
Certificación Académica de Alexis Perez