✒️La memoria en SAP y en ABAP
La memoria en SAP y en ABAP
USO DE LA MEMORIA ABAP
1.- La memoria en ABAP
En ciertas oportunidades, podría pasar que mientras ejecutemos un programa u objeto ABAP, necesitamos 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 que nos permites 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 <Iid_unico>
el ID debe ser único.
*Exporto a memoria al estado del usuario.
EXPORT v_estado_usu TO MEMORY ID 'Z_ESTADO'.
IF sy-subrc NE 0.
MESSAGE e000(z1) EITH 'Error al exportar'.
ENDIF.
Para bajar o descargar los datos a memoria utilizamos la sentencia IMPORT tal como mostramos a continuación.}
IMPORT <valor> FROM MEMORY ID <id_unico>.
Ejemplo:
*importar a 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 tants variables, como estructuras o tablas internas a memoria".
Luego de bajar los datos a memoria es conveniente liberar el área de memoria utilizada. Esto lo hacemos con la sentencia FREE MEMORY, ejemplo:
FREE MEMORY ID 'Z_ESTADO'.
"Para qeu 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.
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.
Luego en el programa que importa los datos haremos lo siguiente:
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.
*Libero la memoria ABAP
FREE MEMORY ID 'Z_ESTADO'.
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta