✒️ABAP La ejecución de fondo
ABAP La ejecución de fondo
La memoria en ABAP:
En ciertas oportunidades, podria pasar que mientras ejecutamos un programa u objeto ABAP, necesitamos de datos que se obtengan en otro programa ABAP que se ejecuto previamente.
Existen varias formas de solucionarlo, una de ellas es pasar parametros de un programa a otro, si es que los dos objetos son programas. Otra opcion es utilizar la memoria para pasar datos. Existen sentencias para manipular los datos que subimos y bajamos de memoria. Para subir datos a memoria utilizaremos la sentencia EXPORT, ejemplo:
EXPORT <valor> TO MEMORY ID <id_unico>
El ID que se utiliza debe ser unico, veamos un ejemplo mas detallado:
* 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 continuacion.
IMPORT <valor> FROM MEMORY ID <id_unico>.
Veamos un ejemplo mas detallado:
*Import 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.
Nota: Se pueden importar tanto variables como estructuras o tablas internas a memoria.
Despues de bajar los datos de memoria es conveniente liberar el area de memoria utilizada. Esto lo hacemos con la sentencia FREE MEMORY tal como vemos a continuacion.
* Libero la memoria ABAP
FREE MEMORY ID 'Z_ESTADO'.
Para que la exportacion e importacion de datos funcione se debe utilizar la misma sesion de memoria o ejecucion.
Utilizaremos SUBMIT para llamar a un programa dentro de la ejecucion de otro programa. Ejemplo:
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.
 
 
 
Sobre el autor
Publicación académica de Juan Fernando Guerra Mata, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Fernando Guerra Mata
Profesión: Analista Programador - Guatemala - Legajo: CW28U
✒️Autor de: 63 Publicaciones Académicas
🎓Cursando Actualmente: Consultor Funcional Módulo SD Nivel Inicial
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Juan Guerra