Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Function module

Former Member
0 Likes
677

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
658

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

8 REPLIES 8
Read only

Former Member
0 Likes
658

Hi,

Check

Regards,

Santosh

Read only

Former Member
0 Likes
658

data: d1 type d, d2 type d, nr_of_days type i.

d1 = '20060101'.

d2 = '20050101'.

nr_of_days = d1 - d2.

Read only

Former Member
0 Likes
658

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

Read only

Former Member
0 Likes
658

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.

Read only

anversha_s
Active Contributor
0 Likes
658

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

Read only

RenjithKumar
Product and Topic Expert
Product and Topic Expert
0 Likes
658

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

Read only

Former Member
0 Likes
658

hi,

Use DATEDIFF()

>SELECT DATEDIFF(NOW(),’1947-08-15&#8242;);

regards,

keerthi.

Read only

Former Member
0 Likes
659

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