Muchas veces, se nos puede presentar que los datos que necesitamos, se encuentran en otro programa Z y se desea obtener dicha información. ¿Qué solución se nos puede presentar y que nos facilite la obtención de la tabla que necesitamos? Pues asà como se puede importar y exportar variables, entre diferentes programas también podemos realizar lo mismo para tablas internas con los comandos EXPORT e IMPORT.
Export.
Esta instrucción la incluimos en el programa que queremos obtener los datos y tendrÃa la siguiente estructura
EXPORT tabla_interna FROM tabla_interna TO SHARED MEMORY indx(aa) ID ‘MC’.
Donde la tabla_interna representa la tabla que tenemos llena en un programa A, además colocamos en indx, que es una variable que será la misma empleada en el IMPORT y por último un ID que sirva para identificar la memoria en cualquier otro programa.
Import.
Esta instrucción la incluimos en el programa que va obtener el resultado y tendrÃa por lógica la siguiente
IMPORT tabla_interna TO tabla_interna2 FROM SHARED MEMORY indx(aa) ID ‘MC’.
Donde primero hacemos un llamado al nombre original de la tabla interna de nuestro programa A, pero le indicamos que dichos valores lo registre en la tabla interna perteneciente únicamente al programa B, en cuanto a los demás valores los mantenemos igual a lo registrado en el EXPORT.
Hasta ahora, es solo traer los valores, pero que pasa por ejemplo si el programa de cuál deseamos traer información tiene parámetros de entrada? Se podrÃa obtener información?
Claro que si, Pero para ello antes de ejecutar las sentencias IMPORT y EXPORT será necesario ejecutar la instrucción: SUMMIT y RETURN, con ellas se puede enviar los parámetros de un programa o transacción que deseamos tener información.
Es importante colocar RETURN para que regrese la información que estas solicitando y lo puedas importar utilizando IMPORT.
Con ello, ya podrás hacer uso de dicha información.
"SE COLOCA EN EL PROGRAMA QUE VA RECIBIR LOS DATOS SUBMIT zamr0012_aux WITH pa_bukrs = p_bukrs WITH pa_gjacn = l_year WITH pa_moncn = l_mes WITH so_anln1 IN p_anln1 AND RETURN. IMPORT gdt_anexo_10_0 FROM MEMORY ID 'MC'. "EXPORTO TABLA "VA EN EL PROGRAMA QUE VOY A TRAER LOS DATOS EXPORT gdt_anexo_10_0 FROM gdt_anexo_10_0 TO MEMORY ID 'MC'.