![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️La memoria en SAP y en ABAP
La memoria en SAP y en ABAP
![La memoria en SAP y en ABAP La memoria en SAP y en ABAP](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/441.jpg)
LA MEMORIA EN ABAP:
En ciertas oportunidades, podria pasar que mientras ejecutamos un programa u objeto, 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. Otra opción es utilizar la memoria para pasar los datos.
En ABAp existen sentencias quenos permiten manipular facilmente los datos que subimos y bajamos de memoria.
Para subir datos a memoria usamos la sentencia EXPORT , vemos a continuacion:
EXPORT <valor> TO MEMORY ID <id_unico>
El ID que se utiliza debe ser único. Veamosun ejemplo de cmo levantar o subir datos a memoria.
EXPORT v_estado_usu TO MEMORY ID ´Z_ESTADO' .
IF SY-SUBRC NE 0.
MESSAGE e000(z1) WITH 'Error al Exportar' .
ENDIF.
AUDIo TIPS
El ID de memoria que se usa tanto para la sentencia IMPORT como para la sentencia EXPORT debe se único y representa una ubicacion escrita en la memoria ABAP. En el caso del ejemplo usamos el texto z_estado pero podriamos haber usado cualquier otro literal que represente de algún modo el valor exportado e importado de la memoria.
Para bajar o descargar los datos de memoria se utiliza la sentencia IMPORT , veamos a continuación:
IMPORT <valor> FROM MEMORY ID ´id-unico' .
Ejemplo:
IMPORT v_estado_usu FROM MEMORY ID ´Z_ESTADO' .
IF SY-SUBRC NE 0.
MESSAGE e000(z1) WITH 'Error al Importar' .
ENDIF.
Se pueden exportar e Importar tanto variables, como estructuras o tablas internas a memoria.
Luego de bajar los datos DE Memoria , es conveniente liberar el área de memoria utilizada. Esto se hace con la sentencia FREE MEMORY , veamos a continuación:
*libero memoria
FREE MEMORY ID 'Z_ESTADO' .
PARA QUE LA EXPORTACIÓN-IMPORTACIÓN DE DATOS FUNCIONE CORRECTAMENTE SE DEBE UTILIZAR LA MISMA SESION DE MEMORIA O EJECUCIÓN.
*&---------------------------------------------------------------------* *& Report zprueba_abap_4_7 *& *&---------------------------------------------------------------------* REPORT zprueba_abap_4_7 * Declaración de datos DATA: v_estado_usu TYPE char10. **---------------------------------------------------* START-OF-SELECTION. **---------------------------------------------------* * Exporto a memoria el estado del usuario EXPORT v_estado_usu TO MEMORY ID 'Z_ESTADO'. IF sy-subrc NE 0. MESSAGE e000(z1) WITH 'Error al exportar'. ENDIF. SUBMIT zprueba_abap_4_8 AND RETURN. Luego en el programa que importa los datos haremos lo siguiente: *&---------------------------------------------------------------------* *& Report zprueba_abap_4_8 *& *&---------------------------------------------------------------------* REPORT zprueba_abap_4_8 * Declaración de datos DATA: v_estado_usu TYPE char10. **---------------------------------------------------* START-OF-SELECTION. **---------------------------------------------------* * Importo 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. * Libero la memoria Abap FREE MEMORY ID 'Z_ESTADO'.
Utilizamos la sentencia SUBMIT para poder llamar a un programam dentro de la ejecución de otro programa. veamos:
*&---------------------------------------------------------------------* *& Report zprueba_abap_4_8 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zprueba_abap_4_8. * Declaración de datos DATA: v_estado_usu TYPE char10. **---------------------------------------------------* START-OF-SELECTION. **---------------------------------------------------* * Importo 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. * Libero la memoria Abap FREE MEMORY ID 'Z_ESTADO'.
 
 
 
Sobre el autor
Publicación académica de Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.
Carlos Alberto Carreira
Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G
✒️Autor de: 92 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
🎓Egresado de los módulos:
Certificación Académica de Carlos Carreira