Lección 9/9: USO DE LA MEMORIA EN ABAP
1. LA MEMORIA EN ABAP
A veces podría pasar que mientras ejecutamos un programa u objeto ABAP, necesitemos de datos que se obtengan en otro programa ABAP que se ejecuto previamente.
Existe varias formas de solucionar esto.
1. Pasando parámetros de un programa a otro si es que ambos objetos son programas
2. Utilizar la memoria para pasar estos datos.
ABAP tiene sentencias que nos permiten manejar fácilmente los datos que subimos y bajamos de memoria.
Sentencia EXPORT Para subir datos a memoria.
Sintaxis.
EXPORT <valor> TO MEMORY ID <id_unico>
El id que se utiliza debe ser unico
Ejemplo como levantar o subir datos a memoria.
* Exporto a memoria el estado del usuario
EXPORT v_estado_usu TO MEMORY ID 'Z_ESTADO'.
IF sy-subrc NE 0.
MESSAGE e000(z1) 'Error al exportar'.
ENDIF.
Para bajar o descargar los datos de memoria utilizamos la sentencia IMPORT tal como mostramos a continuacion.
IMPORT <valor> FROM MEMORY ID <id_unico>.
Ejemplo de como bajar o desacargar datos de memoria.
*Importar de memoria el estado del usuario
IMPORT v_estado_usu FROM MEMORY ID 'Z_ESTADO'.
IF sy-subrc NE 0.
MESSAGE e000(z1) WITH 'Error al Importar'.
ENDIF.
NOTA: Se pueden exportar e importar variables como estructuras o tablas internas a memoria.
Luego de bajar los datos de memoria, es conveniente liberar el area de memoria utilizada. Esto lo hacemos con la sentencia FREE MEMORY tal como vemos a continuacion.
*Libero la memoria ABAP
FREE MEMORY ID 'Z_ESTADO'.
NOTA: Para que la exportacion e importacion de datos funcione correctamente se debe utilizar la misma sesion de memoria o ejecucion.
Para poder llamar a un programa dentro de la ejecución de otro programa se utiliza la sentencia SUBMIT.