✒️La memoria en SAP y en ABAP
La memoria en SAP y en ABAP
Uso de Memoria en ABAP
La memoria en ABAP: En ciertas oportunidades, podría pasar que mientras ejecutamos un programa u objeto ABAP, necesitamos de datos que se obtengan en otros programas ABAP que se ejecutó previamente.
Existen varias formas de solucionar esto, una de ella 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 que nos permite manipular fácilmente los datos que subimos y bajamos de memoria. Para subir datos utilizamos la sentencia EXPORT tal como mostramos a continuación.
EXPORT <valor> TO MEMORY ID <in_unico>.
El ID que utilizamos debe ser único. Veamos un ejemplo de 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) WITH 'Error al exportar'.
ENDIF.
Para bajar o descargar los datos de memoria utilizamos la sentencia IMPORT tal como mostramos a continuación.
* 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'.
ELSE.
WRITE:/ v_estado_usu.
ENDIF.
Nota: "Se puede 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 lo hacemos con la sentencia FREE MEMORY tal como vemos a continuación.
* Libero la memoria ABAP
FREE MEMORY ID 'Z_ESTADO'.
Utilizamos la sentencia SUBMIT para poder llamar a un programa dentro de la ejecución de otro programa, Veamos un ejemplo de un programa que exporta datos:
*&---------------------------------------------------------------------*
REPORT zprueba_abap_4_9_2.
* 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 el programa que importa los datos haremos lo siguiente:
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'.
ELSE.
WRITE:/ v_estado_usu.
ENDIF.
* Libero la memoria Abap
FREE MEMORY ID 'Z_ESTADO'.
 
 
 
Sobre el autor
Publicación académica de Edward Henry Rosario Piezal, en su ámbito de estudios para la Carrera Consultor ABAP.
Edward Henry Rosario Piezal
Profesión: Ingeniero en Sistema - Republica Dominicana - Legajo: FM99R
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Edward Rosario