在ABAP开发中,使用sy-uzeit或者sy-timlo进行获取系统当前时间来计算循环的时间的时候,出现2个变量的时间的值都是相等的,也就是第二个计算的时间并没有更新,后来发现原来是这2个系统结构存的是内存,所以没有刷新,需要get time去刷新一下,下面是demo:
*&---------------------------------------------------------------------*
*& Report ZHK037
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zhk037.
DATA: a1 TYPE sy-index,
t1 TYPE sy-uzeit,
t2 TYPE sy-uzeit,
t3 TYPE c.
SKIP.
DATA:time1 TYPE sy-uzeit.
time1 = sy-timlo.
WRITE time1.
t1 = sy-timlo.
a1 = 0.
DO.
a1 = sy-index.
GET TIME.
t2 = sy-timlo.
t3 = t2 - t1.
IF T3 >= 6.
EXIT.
ENDIF.
ENDDO.
SKIP.
WRITE:t2,/,t1.
WRITE: t3.