MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Colocar un Mensaje de Sistema en loops (foro/showthread.php?t=35661)

Aascan 15/03/10 17:35:12

Colocar un Mensaje de Sistema en loops
 
Hola a todos.

Mi situación es la siguiente. Tengo un programa de report donde hago varios loops a una tabla interna para buscar ciertos datos. Ahora, lo que quisiera es saber si existe alguna manera de colocar, en cada uno de estos loops, un mensaje tipo sistema es decir, que se muestre en la esquina inferior izquierda de la pantalla, -como por ejemplo cuando se graba un documento- y el programa continúe con su ejecución normal.

Actualmente, lo que hago es llamar a la función SAPGUI_PROGRESS_INDICATOR, que, aunque hace lo que necesito, en ocasiones retarda la ejecución del report.

Resumiendo, lo que necesito es que el mensaje se despliegue y el programa continúe ejecutándose, desdeluego, sin que el usuario tenga que pulsar ninguna tecla para interactuar con el mensaje.

De pronto esto es una tontería, pero debo reconocer que no soy un experto en Abap, estoy comenzando.

Agradezco de antemano a quien pueda ayudarme con este tema.

Saludos,

Asdrúbal Ascanio

temaljose 15/03/10 19:17:52

Buenas tardes, amigo, crea una tabla tipo log y luego al finalizar el loop la lees y despliegas los mensajes, saludos

Aascan 15/03/10 20:43:44

Ya le dí la vuelta
 

Gracias amigo, eso ya lo pensé y no me resultó por lo siguiente: Sabes que los tipos de mensaje (A,W,E,I,S) o bien requieren una acción del usuario (como pulsar enter) o bien te sacan de la ejecución del programa, y eso no es lo que necesito. Lo que necesito es que antes de cada uno de los Loops que manejo, se despliegue un mensaje en particular.

Lo logré finalmente, llamando a la función SAPGUI_PROGRESS_INDICATOR, pero la "engañé", haciéndola correr 3 veces y la puse antes de cada loop. (Originalmente la función se utiliza evaluando la cantidad de registros para determinar el porcentaje de ejecución ¿si?)

Te muestro como:

data: x_pass(2) type i.
clear x_pass.
do 3 times.
add 1 to x_pass.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
percentage = x_pass
text = 'Creando Tabla Interna'.
enddo.

El mensaje se mantiene hasta que llamo o muestro al siguiente mensaje.

Como ves, lo que hago es parecido a lo que me sugieres, sólo que me apoyo en la función, que sí me muestra el mensaje y continúa la ejecución sin que el usuario intervenga, en vez de hacer loop a una tabla y usar la sentencia MESSAGE.

De todas formas aprecio el apoyo.

Muchas Gracias nuevamente, Temaljose.


Husos Horarios son GMT. La hora en este momento es 06:01:43.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web