07-13-2007 5:47 AM
time 1= 19:43:31
date 1 = 19/04/2007
time2 = 15:39:30
date 2= 19/12/2007
please find the difference between these two dates and times.
the output should show exact difference in HH:MM:SS.
WILL BE REWARDED
07-13-2007 6:07 AM
REPORT ZEXAMPLE.
DATA V_DIFF TYPE I.
PARAMETERS P_BIRTHD LIKE SY-DATUM.
CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
EXPORTING
I_DATUM_BIS = SY-DATUM
I_DATUM_VON = P_BIRTHD
IMPORTING
E_TAGE = V_DIFF
EXCEPTIONS
DAYS_METHOD_NOT_DEFINED = 1
OTHERS = 2.
IF SY-SUBRC EQ 0.
WRITE:/ V_DIFF, 'DAYS HAVE PASSED SINCE', P_BIRTHD.
ELSE.
WRITE:/ 'ERROR IN CALCULATION'.
ENDIF.
-
REPORT ZEXAMPLE LINE-SIZE 120.
DATA: DDIFF TYPE P,
TDIFF TYPE P,
EDATE.
PARAMETERS: P_STARTD LIKE SY-DATUM DEFAULT SY-DATUM,
P_STARTT LIKE SY-UZEIT DEFAULT SY-UZEIT,
P_ENDD LIKE SY-DATUM,
P_ENDT LIKE SY-UZEIT.
WRITE:/ 'START DATE', 15 'START TIME', 30 'END DATE', 45 'END TIME', 60 'DAYS DIFF',
75 'HOURS DIFF', 90 'EARLIEST'.
ULINE.
CALL FUNCTION 'SD_DATETIME_DIFFERENCE'
EXPORTING
DATE1 = P_STARTD
TIME1 = P_STARTT
DATE2 = P_ENDD
TIME2 = P_ENDT
IMPORTING
DATEDIFF = DDIFF
TIMEDIFF = TDIFF
EARLIEST = EDATE
EXCEPTIONS
INVALID_DATETIME = 1
OTHERS = 2.
IF SY-SUBRC EQ 0.
WRITE:/ P_STARTD, 15 P_STARTT, 30 P_ENDD, 45 P_ENDT, 50 DDIFF, 65 TDIFF, 95 EDATE.
ELSE.
WRITE:/ 'COULD NOT CALCULATE THE DIFFERENCE'.
ENDIF.
-
Rewards if helpful.
07-13-2007 5:51 AM
Hi SSN,
Try this FM
<b>SD_DATETIME_DIFFERENCE</b>
Try this also,
<b>Try the FM 'HR_TIME_AND_DURATION'.</b>
Try the Following Sample Code:
DATA : lv_end_time TYPE uplend VALUE '140000',
lv_seconds TYPE sytabix,
lv_total_seconds TYPE sytabix,
lv_rem_seconds TYPE sytabix,
lv_temp_hours TYPE uplend.
lv_total_seconds = 5 * 60 * 60.
CALL FUNCTION 'SWI_DURATION_DETERMINE'
EXPORTING
start_date = sy-datum
end_date = sy-datum
start_time = sy-uzeit
end_time = lv_end_time
IMPORTING
duration = lv_seconds.
lv_rem_seconds = lv_total_seconds - lv_seconds.
lv_rem_seconds = lv_rem_seconds MOD 86400.
lv_temp_hours = lv_rem_seconds.
WRITE 😕 lv_temp_hours.
<b>Reward points if useful</b>
Regards
Ashu
07-13-2007 5:52 AM
hi,
"t1= 19:43:31
"d1 = 19/04/2007
"t2 = 15:39:30
"d2= 19/12/2007
CALL FUNCTION 'SD_DATETIME_DIFFERENCE'
EXPORTING
DATE1 = D1
TIME1 = T1
DATE2 = D2
TIME2 = T2
IMPORTING
DATEDIFF = D3
TIMEDIFF = T3
EXCEPTIONS
INVALID_DATETIME = 1
OTHERS = 2.
Regards
Reshma
07-13-2007 5:55 AM
07-13-2007 6:07 AM
REPORT ZEXAMPLE.
DATA V_DIFF TYPE I.
PARAMETERS P_BIRTHD LIKE SY-DATUM.
CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
EXPORTING
I_DATUM_BIS = SY-DATUM
I_DATUM_VON = P_BIRTHD
IMPORTING
E_TAGE = V_DIFF
EXCEPTIONS
DAYS_METHOD_NOT_DEFINED = 1
OTHERS = 2.
IF SY-SUBRC EQ 0.
WRITE:/ V_DIFF, 'DAYS HAVE PASSED SINCE', P_BIRTHD.
ELSE.
WRITE:/ 'ERROR IN CALCULATION'.
ENDIF.
-
REPORT ZEXAMPLE LINE-SIZE 120.
DATA: DDIFF TYPE P,
TDIFF TYPE P,
EDATE.
PARAMETERS: P_STARTD LIKE SY-DATUM DEFAULT SY-DATUM,
P_STARTT LIKE SY-UZEIT DEFAULT SY-UZEIT,
P_ENDD LIKE SY-DATUM,
P_ENDT LIKE SY-UZEIT.
WRITE:/ 'START DATE', 15 'START TIME', 30 'END DATE', 45 'END TIME', 60 'DAYS DIFF',
75 'HOURS DIFF', 90 'EARLIEST'.
ULINE.
CALL FUNCTION 'SD_DATETIME_DIFFERENCE'
EXPORTING
DATE1 = P_STARTD
TIME1 = P_STARTT
DATE2 = P_ENDD
TIME2 = P_ENDT
IMPORTING
DATEDIFF = DDIFF
TIMEDIFF = TDIFF
EARLIEST = EDATE
EXCEPTIONS
INVALID_DATETIME = 1
OTHERS = 2.
IF SY-SUBRC EQ 0.
WRITE:/ P_STARTD, 15 P_STARTT, 30 P_ENDD, 45 P_ENDT, 50 DDIFF, 65 TDIFF, 95 EDATE.
ELSE.
WRITE:/ 'COULD NOT CALCULATE THE DIFFERENCE'.
ENDIF.
-
Rewards if helpful.
07-13-2007 6:18 AM
hi
good
try this function module
SD_DATETIME_DIFFERENCE Give the difference in Days and Time for 2 dates
thanks
mrutyun^