✒️ABAP / La memoria en SAP y en ABAP Por Gabriel Luces González
La memoria en SAP y en ABAP

¿Por qué usar la memoria?
En ocasiones, durante la ejecución de un programa u objeto ABAP, necesitamos acceder a datos que fueron obtenidos o procesados en otro programa ejecutado previamente. Para solucionar esto sin usar parámetros directos, utilizamos la memoria para intercambiar datos.
Es fundamental distinguir entre dos tipos de memoria con alcances diferentes:
- La memoria de SAP (Global).
- La memoria de ABAP (Local).
Es una memoria global accesible para todas las sesiones principales de un usuario. Los datos almacenados aquí permanecen disponibles incluso si el usuario sale del programa, permitiendo pasar datos de un programa a otro ya sea dentro de una sesión o entre sesiones distintas.
Comandos utilizados (SPA/GPA): Para el intercambio de datos se utilizan los "ID de parámetros" (Parameter IDs), que pueden tener hasta 20 caracteres.
- SET PARAMETER ID <pid> FIELD <f>: Asigna un valor al ID de parámetro en la memoria global. Se usa para "subir" el dato.
- GET PARAMETER ID <pid> FIELD <f>: Recupera el valor almacenado en el ID de parámetro hacia una variable. Se usa para "bajar" el dato.
Caso de uso típico: Pre-llenar campos en transacciones estándar.
- Buscas el ID de parámetro de un campo en una transacción (ej. Clase de pedido en la VA01) usando la tecla F1 y luego "Información técnica" (el ID puede ser, por ejemplo, 'AAT').
- En tu programa, usas SET PARAMETER ID 'AAT' FIELD 'VALOR'.
- Llamas a la transacción (CALL TRANSACTION), y esta leerá automáticamente ese valor de la memoria global, permitiendo incluso saltar la primera pantalla (SKIP FIRST SCREEN).
Es una memoria local y limitada. Solo se puede acceder a ella dentro de una misma sesión interna. Los programas que corren fuera de esta sesión no pueden leer ni escribir en ella. Su uso principal es hacer accesibles los datos para múltiples programas dentro de una secuencia de llamadas (por ejemplo, cuando un programa llama a otro mediante SUBMIT).
Comandos utilizados:
- EXPORT <campo> TO MEMORY ID <id_unico>: Sube datos (variables, estructuras o tablas internas) a la memoria ABAP. Se requiere un ID único para identificar el bloque de datos.
- IMPORT <campo> FROM MEMORY ID <id_unico>: Baja o importa los datos de la memoria ABAP hacia el programa actual.
- FREE MEMORY ID <id_unico>: Libera el área de memoria utilizada una vez que ya no se necesita.
Requisito técnico: Para que funcione, se debe mantener la misma sesión de memoria. Un ejemplo clásico es un programa que hace un EXPORT de datos y luego ejecuta SUBMIT <programa_destino> AND RETURN. El programa destino hace el IMPORT para leer esos datos.
Diferencias Clave (Resumen)Basado en la tabla comparativa de los documentos:
| Tipo | Global. | Local. |
| Alcance | Todas las sesiones del usuario (modo 1, modo 2, etc.). | Solo programas dentro de la misma sesión interna. |
| Persistencia | Se conservan al salir del programa. | Solo dura durante la secuencia de llamadas. |
| Comandos | SET PARAMETER / GET PARAMETER. | EXPORT / IMPORT. |
Analogía: Imagina una Oficina Corporativa:
-
La Memoria de SAP es el Tablón de Anuncios en el pasillo.
- Tú (Programa A) pegas una nota allí (SET PARAMETER).
- Luego te vas a almorzar.
- Más tarde, tú o un colega en otra oficina (Sesión 2) pueden pasar por el pasillo y leer la nota (GET PARAMETER). La nota sigue ahí pública para tu usuario.
-
La Memoria de ABAP es un Maletín cerrado en una carrera de relevos.
- Tú (Programa A) metes un documento en el maletín (EXPORT) y se lo entregas en mano (SUBMIT) al siguiente corredor (Programa B).
- El Programa B abre el maletín y saca el documento (IMPORT).
- Si el Programa B se va del estadio o la carrera termina, el contenido del maletín desaparece; nadie fuera de esa carrera específica sabía qué había dentro.
 
 
 
Sobre el autor
Publicación académica de Gabriel José Luces González, en su ámbito de estudios para el Curso SAP ABAP.
Gabriel José Luces González
Profesión: Consultor Sap Pm - Chile - Legajo: LA36W
✒️Autor de: 214 Publicaciones Académicas
🎓Cursando Actualmente: Curso SAP ABAP Avanzado
🎓Egresado de los módulos:
Presentación:
Objetivo principal, adquirir todos los conococimiento relacionado al modulo de mm que me permita complementar mis conocimientos en el mundo sap
Certificación Académica de Gabriel Luces






Disponibilidad Laboral: FullTime


















