2007 Feb 09 6:00 AM
Hi,
Can any one tell me the function module name to calculate No of days,months and Yrs Between two Dates.
Thanks.
Arvind
2007 Feb 09 6:02 AM
2007 Feb 09 6:02 AM
CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
EXPORTING
I_DATUM_BIS = x_faede-zfbdt
I_DATUM_VON = p_fdat
I_KZ_EXCL_VON = '0'
I_KZ_INCL_BIS = '0'
I_KZ_ULT_BIS = ' '
I_KZ_ULT_VON = ' '
I_STGMETH = '0'
I_SZBMETH = '1'
IMPORTING
E_TAGE = dias_v.
IF SY-SUBRC <> 0.
ENDIF.
x_faede-zfbdt -> 20050915
p_fdat -> 20050811
DAYS_BETWEEN_TWO_DATES
MONTHS_BETWEEN_TWO_DATES Integer number
MONTHS_BETWEEN_TWO_DATES_NEW Most universal FM to determine months (both integer and float values)
REPORT ZDATEDIFF.
DATA: EDAYS LIKE VTBBEWE-ATAGE,
EMONTHS LIKE VTBBEWE-ATAGE,
EYEARS LIKE VTBBEWE-ATAGE.
PARAMETERS: FROMDATE LIKE VTBBEWE-DBERVON,
TODATE LIKE VTBBEWE-DBERBIS DEFAULT SY-DATUM.
call function 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
exporting
i_date_from = FROMDATE
i_date_to = TODATE
* I_FLG_SEPARATE = ' '
IMPORTING
E_DAYS = EDAYS
E_MONTHS = EMONTHS
E_YEARS = EYEARS.
WRITE:/ 'Difference in Days ', EDAYS.
WRITE:/ 'Difference in Months ', EMONTHS.
WRITE:/ 'Difference in Years ', EYEARS.
INITIALIZATION.
FROMDATE = SY-DATUM - 60.
Message was edited by:
Judith Jessie Selvi
2007 Feb 09 6:06 AM
Hi,
Check out with the below FM
DAYS_BETWEEN_TWO_DATES
FIMA_DAYS_BETWEEN_TWO_DATES
FIMA_DAYS_BETWEEN_TWO_DATES_2
FIMA_LEAP_DAYS_BETWEEN_2_DATES
LEAP_DAYS_BETWEEN_TWO_DATES
HR_99S_INTERVAL_BETWEEN_DATES
ISB_DAYS_BETWEEN_TWO_DATES
Regards,
Ram
Pls reward points if helpful
2007 Feb 09 6:08 AM
Aravind,
use below any FMs
1. CALL FUNCTION 'HR_MX_INTERVAL_BETWEEN_DATES'
EXPORTING
I_DATE_START = gd_start_date
I_DATE_END = gd_end_date
IMPORTING
E_YEARS = gd_years
E_DAYS = gd_days
EXCEPTIONS
SEQUENCE_OF_DATES_NOT_VALID = 1
ERROR_IN_CALC_OF_YEARS = 2
NO_ENTRY_IN_T511K = 3
OTHERS = 4.
if sy-subrc <> 0.
endif.
Pls. Mark if useful
2.HR_HK_DIFF_BT_2_DATES
2007 Feb 09 6:26 AM
2007 Feb 09 7:15 AM
Hi,
When ever u r opening a post try to reward poinst for those who have replied with helpful answers to ur query.
U have closed say u have solved by ur own.
Press the stars near the post which answered ur query adn reward points.
This will encourage others to reply for the post.
2007 Feb 09 9:09 AM
==========================================
Subtraction of Two Dates and Get Months
==========================================
DATA: TUM_BIS(10),
TUM_VON(10).
data: e_monate type i.
DATA: BEGIN OF DATUM_VON,
JJJJ(4) TYPE N,
MM(2) TYPE N,
TT(2) TYPE N,
END OF DATUM_VON.
DATA: BEGIN OF DATUM_BIS,
JJJJ(4) TYPE N,
MM(2) TYPE N,
TT(2) TYPE N,
END OF DATUM_BIS.
TUM_BIS = SY-DATUM.
TUM_VON = '20060101'.
E_MONATE = 0. " KOETZ 02.09.1994
CHECK NOT ( TUM_VON IS INITIAL ) " KOETZ 02.09.1994
AND NOT ( TUM_BIS IS INITIAL )." KOETZ 02.09.1994
DATUM_VON = TUM_VON.
DATUM_BIS = TUM_BIS.
E_MONATE = ( DATUM_BIS-JJJJ - DATUM_VON-JJJJ ) * 12
+ ( DATUM_BIS-MM - DATUM_VON-MM ).
Write:/ e_monate.
==========================================
Subtraction of Two Dates and Get Months
==========================================
DATA: TUM_BIS(10),
TUM_VON(10).
data: e_monate type i.
DATA: BEGIN OF DATUM_VON,
JJJJ(4) TYPE N,
MM(2) TYPE N,
TT(2) TYPE N,
END OF DATUM_VON.
DATA: BEGIN OF DATUM_BIS,
JJJJ(4) TYPE N,
MM(2) TYPE N,
TT(2) TYPE N,
END OF DATUM_BIS.
TUM_BIS = SY-DATUM.
TUM_VON = '20060101'.
E_MONATE = 0. " KOETZ 02.09.1994
CHECK NOT ( TUM_VON IS INITIAL ) " KOETZ 02.09.1994
AND NOT ( TUM_BIS IS INITIAL )." KOETZ 02.09.1994
DATUM_VON = TUM_VON.
DATUM_BIS = TUM_BIS.
E_MONATE = ( DATUM_BIS-JJJJ - DATUM_VON-JJJJ ).
Write:/ e_monate.
2007 Feb 09 9:09 AM
==========================================
Subtraction of Two Dates and Get years
==========================================
DATA: TUM_BIS(10),
TUM_VON(10).
data: e_monate type i.
DATA: BEGIN OF DATUM_VON,
JJJJ(4) TYPE N,
MM(2) TYPE N,
TT(2) TYPE N,
END OF DATUM_VON.
DATA: BEGIN OF DATUM_BIS,
JJJJ(4) TYPE N,
MM(2) TYPE N,
TT(2) TYPE N,
END OF DATUM_BIS.
TUM_BIS = SY-DATUM.
TUM_VON = '20060101'.
E_MONATE = 0. " KOETZ 02.09.1994
CHECK NOT ( TUM_VON IS INITIAL ) " KOETZ 02.09.1994
AND NOT ( TUM_BIS IS INITIAL )." KOETZ 02.09.1994
DATUM_VON = TUM_VON.
DATUM_BIS = TUM_BIS.
E_MONATE = ( DATUM_BIS-JJJJ - DATUM_VON-JJJJ ).
Write:/ e_monate.