‎2006 Oct 09 11:55 AM
Hi ,
What is the function module to get no of days when
two months , year are specified .
No date is given
Eg: From : 01.2005
To : 01.2006
Thanks & Regards
‎2006 Oct 10 5:11 AM
Hi,
Check this..
DATA: V_FROM_DATE TYPE SYDATUM.
DATA: V_TO_DATE TYPE SYDATUM.
DATA: V_DIFF TYPE INT4.
DATA: BEGIN OF V_MONTH,
MONTH(2),
YEAR(4),
END OF V_MONTH.
DATA: V_MONTH_FROM(7) VALUE '09.2006'.
DATA: V_MONTH_TO(7) VALUE '10.2006'.
FROM MONTH.
SPLIT V_MONTH_FROM AT '.' INTO V_MONTH-MONTH V_MONTH-YEAR.
CONCATENATE V_MONTH-YEAR V_MONTH-MONTH '01' INTO V_FROM_DATE.
TO MONTH.
SPLIT V_MONTH_TO AT '.' INTO V_MONTH-MONTH V_MONTH-YEAR.
CONCATENATE V_MONTH-YEAR V_MONTH-MONTH '01' INTO V_TO_DATE.
*DISPLAY THE NUMBER OF DAYS..
V_DIFF = V_TO_DATE - V_FROM_DATE.
WRITE: / V_DIFF.
Thanks,
Naren
‎2006 Oct 09 12:01 PM
‎2006 Oct 09 12:01 PM
data: d1 type d, d2 type d, nr_of_days type i.
d1 = '20060101'.
d2 = '20050101'.
nr_of_days = d1 - d2.
‎2006 Oct 09 12:01 PM
Hi
Please use the FM
HR_AUPBS_CAL_DAY
also use the following FM
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
i_date_from =
I_KEY_DAY_FROM =
i_date_to =
I_KEY_DAY_TO =
I_FLG_SEPARATE = ' '
IMPORTING
E_DAYS =
E_MONTHS =
E_YEARS =
Message was edited by: Dominic Pappaly
‎2006 Oct 09 12:02 PM
Hi,
You can use FM DAYS_BETWEEN_TWO_DATES.
CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
EXPORTING
I_DATUM_BIS = SY-DATUM
I_DATUM_VON = T_LINEITEMS-ERDAT
I_STGMET = 1
IMPORTING
E_TAGE = NUM_OF_DAYS
EXCEPTIONS
DAYS_METHOD_NOT_DEFINED = 1.
T_DETAILS-DAYS = NUM_OF_DAYS.
Hope this helps.
‎2006 Oct 09 12:46 PM
hi renjith,
FM - > DAYS_BETWEEN_TWO_DATES
Ex:
PARAMETER:p_date1 TYPE dats,
p_date2 TYPE dats.
DATA:lv_diff TYPE i.
CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
EXPORTING
i_datum_bis = p_date1
i_datum_von = p_date2
IMPORTING
e_tage = lv_diff
EXCEPTIONS
days_method_not_defined = 1
OTHERS = 2.
IF sy-subrc = 0.
WRITE:/ lv_diff. "no of days
ENDIF
rds
anver
if ur issue solved , pls mark points
anver
‎2006 Oct 10 5:00 AM
Hi everyone ,
I am giving only month an year as input
no day is given .
Eg :
<b> From : MM.YYYY
To : MM.YYYY.</b>
No DD given .
If i give like this no function module accepts this
It asks for a valid value
Regards
Renjith Kumar
‎2006 Oct 10 5:09 AM
hi,
Use DATEDIFF()
>SELECT DATEDIFF(NOW(),1947-08-15′);
regards,
keerthi.
‎2006 Oct 10 5:11 AM
Hi,
Check this..
DATA: V_FROM_DATE TYPE SYDATUM.
DATA: V_TO_DATE TYPE SYDATUM.
DATA: V_DIFF TYPE INT4.
DATA: BEGIN OF V_MONTH,
MONTH(2),
YEAR(4),
END OF V_MONTH.
DATA: V_MONTH_FROM(7) VALUE '09.2006'.
DATA: V_MONTH_TO(7) VALUE '10.2006'.
FROM MONTH.
SPLIT V_MONTH_FROM AT '.' INTO V_MONTH-MONTH V_MONTH-YEAR.
CONCATENATE V_MONTH-YEAR V_MONTH-MONTH '01' INTO V_FROM_DATE.
TO MONTH.
SPLIT V_MONTH_TO AT '.' INTO V_MONTH-MONTH V_MONTH-YEAR.
CONCATENATE V_MONTH-YEAR V_MONTH-MONTH '01' INTO V_TO_DATE.
*DISPLAY THE NUMBER OF DAYS..
V_DIFF = V_TO_DATE - V_FROM_DATE.
WRITE: / V_DIFF.
Thanks,
Naren