✒️La memoria en SAP y en ABAP
La memoria en SAP y en ABAP
La memoria de SAP y ABAP: A veces sucede que cuando ejecutamos un programa u objeto ABAP necesitamos que los datos provengan de otro programa ABAP que se ejecutó previamente, una manera se solventar es pasando parámetros de un programa a otro, si es que ambos objetos son programas y la otra manera es utilizar memoria para pasar datos entre programas, haciendo distinción entre memoria SAP y memoria ABAP.
La memoria de ABAP es muy limitada, ya que solo se puede acceder a ella dentro de una sesión interna (sesión de usuario SAP) y los programas que se ejecutan fuera de la sesión no pueden leer ni escribir en esta memoria. 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.
Cuando se trate de la memoria de SAP se utilizaran 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 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.
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.
SENTENCIA SET PARAMETER ID: se utiliza para el envío de parámetros en la llamada a una transacción. La sintaxis: SET PARAMETER ID <PID>(se obtiene de los datos técnicos f1 en el campo) FILED <F>, los valores escritos en memoria SAP se conservar aún cuando el usuario sale del programa. Después de la ejecución de esta sentencia se debe evaluar el valor de la sentencia del sistema SY-SUBRC y en caso de que no consiga un parámetro como el que declaramos su valor será distinto de 0.
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 sentencia es: GET PARAMTER ID <PID> FILED <F>. Después de la ejecución de esta sentencia se debe evaluar el valor de la sentencia del sistema SY-SUBRC y en caso de que no consiga un parámetro como el que declaramos su valor será distinto de 0.
LA MEMORIA ABAP: Existen sentencias que nos permiten manipular fácilmente los datos que subimos y bajamos de la memoria. Para subir o exportar datos de la memoria ABAP se utiliza la sentencia EXPORT así: EXPORT <campo> TO MEMORY ID <ID_UNICO>. El ID que se utiliza debe ser único ya que identifica a ese datos dentro de la memoria ABAP.
Para bajar o importar los datos de la memoria ABAP utilizaremos la sentencia IMPORT así: IMPORT <campo> FROM MEMORY ID <ID_UNICO>.
Se puede exportar e importar tanto variables, como estructuras o tablas internas a la memoria ABAP.
Nota: Luego de bajar los datos de memoria, es conveniente liberar el área de memoria utilizada y esto lo hacemos con la sentencia FREE MEMORY así: FREE MEMORY ID 'Z_ESTADO'.
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 vamos a 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 Jean Carlos Lopez, en su ámbito de estudios para la Carrera Consultor ABAP.
Jean Carlos Lopez
Profesión: Ingeniero en Infomática - Venezuela - Legajo: AG33O
✒️Autor de: 61 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Jean Lopez