SAPGUI_PROGRESS_INDICATOR
Muestra en la barra de estado un texto y un porcentaje de avance mientras el programa trabaja.
- Transacción
SE37- Grupo
- Varios
- Actualizado
- 21 de octubre de 2026
Alternativa moderna. Usa CL_PROGRESS_INDICATOR=>PROGRESS_INDICATE.
Para qué sirve
SAPGUI_PROGRESS_INDICATOR enseña en la barra de estado del SAP GUI un reloj con el porcentaje de avance y un texto. Avisa al usuario de que el programa sigue trabajando en procesos largos.
Desde la versión 7.02 existe CL_PROGRESS_INDICATOR=>PROGRESS_INDICATE, que además controla la frecuencia de refresco y funciona en fondo (escribe en el log del job).
Parámetros
Importing
Lo que recibe la función. En CALL FUNCTION se pasan tras EXPORTING.
| Parámetro | Tipo | Descripción |
|---|---|---|
PERCENTAGE | — | Porcentaje de avance (0-100).Por defecto: 0 |
TEXT | — | Texto que se muestra. |
Ejemplo
LOOP AT lt_datos INTO DATA(ls_dato).
DATA(lv_pct) = sy-tabix * 100 / lines( lt_datos ).
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = lv_pct
text = |Procesando { sy-tabix } de { lines( lt_datos ) }|.
" … proceso …
ENDLOOP.Hoy lo harías así: CL_PROGRESS_INDICATOR
LOOP AT lt_datos INTO DATA(ls_dato).
cl_progress_indicator=>progress_indicate(
i_text = |Procesando { sy-tabix } de { lines( lt_datos ) }|
i_processed = sy-tabix
i_total = lines( lt_datos )
i_output_immediately = abap_false ).
" … proceso …
ENDLOOP.Errores y excepciones habituales
- El programa va más lento: llamarla en cada vuelta de un bucle grande refresca la pantalla miles de veces; llámala cada cierto número de registros.
Relacionadas
Funciones relacionadas
Más en Varios
CONVERSION_EXIT_ALPHA_OUTPUTCONVERSION_EXIT_ALPHA_INPUTCLAF_CLASSIFICATION_OF_OBJECTSCLOI_PUT_SIGN_IN_FRONTENQUEUE_READF4_DXFILENAME_TOPRECURSIONMM_ADDRESS_GETQF05_RANDOM_INTEGERROUNDSPELL_AMOUNTSXPG_COMMAND_EXECUTETH_DELETE_USER
Transacciones y tablas
En abap.es
¿Dudas con esta función?
Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.
Actualizado: 21 de octubre de 2026