在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.
在ABAP开发中,使用sy-uzeit或sy-timlo获取系统当前时间时,可能会遇到时间变量未实时更新的问题。这是因为这些变量存储于内存中,需要通过GET TIME指令进行刷新。本文提供了一个示例代码,展示了如何在循环中正确刷新时间变量,以确保时间的准确计算。
1609

被折叠的 条评论
为什么被折叠?



