Algoritmo de ejemplo para crear correctamente un indicador de progreso en ABAP.
Primero se debe obtener el total de registros o procesos (lv_total), y dentro de un LOOP a los registros a procesar, realizar el algoritmo siguiendo el ejemplo a continuacion :
DATA:
lv_total(7) TYPE n,
lv_actua(7) TYPE n,
lv_porce TYPE i,
lv_resto TYPE i,
lv_texto(40) TYPE c.
lv_total = <cantidad de registros>
lv_actua = 0.
LOOP AT <registros>...
* Progress Indicator
lv_actua = lv_actua + 1.
lv_resto = lv_actua MOD 8.
CONCATENATE 'Procesando partida' lv_actua 'de' lv_total
INTO lv_texto SEPARATED BY space.
IF lv_resto IS INITIAL. "Para no perder tanto performance con el mje
lv_porce = ( lv_actua * 100 ) / lv_total.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = lv_porce
text = lv_texto.
ENDIF.
ENDLOOP.
No hay comentarios:
Publicar un comentario