当需要计算 报表运行时间的时候 参考代码如下
DATA:T1 TYPE TIMESTAMPL, "开始时时戳
T2 TYPE TIMESTAMPL, "结束时间戳
TC1 TYPE C LENGTH 22, "开始时间戳文本
TC2 TYPE C LENGTH 22, "结束时间戳文本
TD1 TYPE D, "开始时间:日期
TD2 TYPE D, "结束时间:日期
TH1 TYPE I, "开始时间:时
TH2 TYPE I, "结束时间:时
TM1 TYPE I, "开始时间:分
TM2 TYPE I, "结束时间:分
TS1 TYPE P DECIMALS 7, "开始时间:秒(含小数部分)
TS2 TYPE P DECIMALS 7, "结束时间:秒(含小数部分)
TMD TYPE P DECIMALS 4. "时间差异,取6位小数
FORM FRM_TIME_CALC USING SOPT.
CASE SOPT.
WHEN ‘INIT‘.
GET TIME STAMP FIELD T1.
TC1 = T1.
TD1 = TC1+0(8).
TH1 = TC1+8(2).
TM1 = TC1+10(2).
TS1 = TC1+12(10).
WHEN ‘CALC‘.
GET TIME STAMP FIELD T2.
TC2 = T2.
TD2 = TC2+0(8).
TH2 = TC2+8(2).
TM2 = TC2+10(2).
TS2 = TC2+12(10).
TMD = ( TD2 - TD1 ) * 24 * 3600 + ( TH2 - TH1 ) * 3600 + ( TM2 - TM1 ) * 60 + ( TS2 - TS1 ).
MESSAGE S002(ZMPP) WITH ‘计算耗时‘ TMD ‘秒‘.
ENDCASE.
ENDFORM.