*----------------------------------------------------------------------* * Example: How to calculate the time between clock-in and clock-out * * even pass midnight. * *----------------------------------------------------------------------* REPORT ZZXMP002. PARAMETERS: T1 TYPE T, "Clock-in T2 TYPE T. "Clock-out DATA: H TYPE I, "Hours M TYPE I, "Minutes S TYPE I, "Seconds R(6) TYPE N. "Result *----------------------------------------------------------------------* * Event: Start-of-selection * *----------------------------------------------------------------------* START-OF-SELECTION. PERFORM TIME_BETWEEN_CLOCK USING T1 T2 H M S. R(2) = H. R+2(2) = M. R+4(2) = S. *----------------------------------------------------------------------* * Event: End-of-selction * *----------------------------------------------------------------------* END-OF-SELECTION. WRITE: (8) T1 USING EDIT MASK '__:__:__' COLOR 3, (3) ' - ', (8) T2 USING EDIT MASK '__:__:__' COLOR 3, (3) ' = ', (8) R USING EDIT MASK '__:__:__' COLOR 6. *----------------------------------------------------------------------* * Calculate hours, minutes and seconds between T1 and T2. * *----------------------------------------------------------------------* FORM TIME_BETWEEN_CLOCK USING T1 T2 H M S. H = ( ( T2 - T1 ) MOD 86400 ) DIV 3600. M = ( ( ( T2 - T1 ) MOD 86400 ) DIV 60 ) - ( H * 60 ). S = ( ( T2 - T1 ) - ( H * 3600 ) - ( M * 60 ) ) MOD 86400. ENDFORM.