Colocar un Mensaje de Sistema en loops

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Aascan
    Junior Member
    • oct
    • 22

    #1

    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
    aascan@gmail.com
  • temaljose
    Senior Member
    • oct
    • 203

    #2
    Buenas tardes, amigo, crea una tabla tipo log y luego al finalizar el loop la lees y despliegas los mensajes, saludos
    Lo unico que se, es que no se nada.....

    Comentario

    • Aascan
      Junior Member
      • oct
      • 22

      #3
      Ya le dí la vuelta

      Originalmente publicado por temaljose
      Buenas tardes, amigo, crea una tabla tipo log y luego al finalizar el loop la lees y despliegas los mensajes, saludos
      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.

      Comentario

      Trabajando...