
Uso de la memoria en ABAP
1. la memoria en ABAP
Una forma de pasar datos de un programa a otro dentro de ABAP es usando la memoria.
a) EXPORT sentencia que nos permite subir datos a memoria por ejemplo
Export <valor> TO MEMORY ID <id_unico> " el ID debe ser unico
EXPORT v_estado_usu TO MEMORY ID 'Z_ESTADO'.
if sy-subrc NE 0.
Message e000(z1) WITH 'error al exportar'.
ENDIF.
b) IMPORT para bajar o descargar los datos de memoria.
IMPORT <valor> FROM MEMORY ID <id_unico>.
Export <valor> TO MEMORY ID <id_unico> " el ID debe ser unico
IMPORT v_estado_usu TO MEMORY ID 'Z_ESTADO'.
if sy-subrc NE 0.
Message e000(z1) WITH 'error al importar'.
ENDIF.
Se puede importar o exportar tanto variables, como estructras o tablas internas a memoria.
c) FREE MEMORY ID para bajar los datos de memoria, es coveniente liberar el area de memoria utilizada. con la sentencia FREE.
Para que la exportacion importacion funcione bien se debe utilizar la misma sesion de memoria o ejecucion.
Utilizaremos SUBMIT para poder llamar a un programa dentro de la ejecucion de otro programa.
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
Report zprueba_abap_4_8.
DATA: v_estado_usu type char10.
start-of-selection.
Import v_estado_usu TO MEMORY ID 'Z_estado'.
if sy-subrc NE 0.
Message e000(z1) WITH 'error al exportar'.
ENDIF.
FREE MEMORY ID 'Z_estado'.