✒️La memoria en SAP y en ABAP
La memoria en SAP y en ABAP
Lección: Uso de la memoria en ABAP
1. En ciertas oportunidades podríamos necesitar datos que se obtengan de 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 que nos permiten manipular fácilmente los datos que subimos y bajamos de memoria. Para subir datos a memoria vamos a utilizar la sentencia EXPORT tal como mostramos a continuación.
EXPORT <valor> TO MEMORY ID <id_unico>
El ID que se utiliza para la sentencia IMPORT o Export debe ser único ya que representa un ubicación escrita en la memoria ABAP. Ejemplo:
*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 el sentencia IMPORT tal como mostramos a continuación.
IMPORT <valor> TO MEMORY ID <id_unico>
Veamos un ejemplo:
*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.
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 memeoria utilizada. Esto lo hacemos con la sentencia FREE MEMORY tal como vemos a continuación.
*Libero la memoria ABAP
FREE MEMORY ID 'Z_ESTADO'.
Para que la exportación-importación de datos funcione correctamente se debe utilizar la misma sesión de memoria o ejecución.
Utilizaremos 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_7.
DATA: v_estado_usu TYPE char10.
START-OF-SELECTION.
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.
Ahora el que importa los datos.
REPORT zprueba_abap_4_8.
DATA: v_estado_usu TYPE char10.
START-OF-SELECTION.
IMPORT v_estado_usu FROM MEMORY ID 'Z_ESTADO'.
IF sy-subrc NE 0.
MESSAGE e000(z1) WITH 'Error al importar'.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Pedro Alejandro Arroyo Gutierrez, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Alejandro Arroyo Gutierrez
Profesión: Gerente de Sistemas - Mexico - Legajo: MC48F
✒️Autor de: 65 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Pedro Arroyo