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

year specification issue

Former Member
0 Likes
480

HI Experts,

i am getting a year os service it will need to display like 6years 11 months how to convert like This.

Thanks&regards

rahul

2 REPLIES 2
Read only

naveen_kumar116
Active Participant
0 Likes
460

Hi,

This code may help you.

PARAMETERS : v_yoj TYPE sy-datum,

v_yol TYPE sy-datum.

DATA : v_year1(4) TYPE n,

v_year2(4) TYPE n,

v_year3(4) TYPE n,

v_month1(2) TYPE n,

v_month2(2) TYPE n,

v_month3(2) TYPE n,

v_service(100) TYPE c,

v_monthyear(6),

v_yearc(2) TYPE c,

v_monthc(2) TYPE c,

count TYPE i,

count1(999) TYPE c.

count = v_yol0(4) - v_yoj0(4).

count = count * 12.

IF count = 0.

count = v_yol4(2) - v_yoj4(2).

count = count + 1.

ENDIF.

v_month1 = v_yoj+4(2).

v_year1 = v_yoj+0(4).

v_month2 = v_yol+4(2).

v_year2 = v_yol+0(4).

CONCATENATE v_year1 v_month1 INTO v_monthyear.

DO count TIMES.

IF v_monthyear = v_yol+0(6).

CONDENSE count1.

CONDENSE count1.

v_monthc = count1.

CONCATENATE v_yearc 'years' v_monthc 'months' INTO v_service SEPARATED BY space.

EXIT.

ELSE.

count1 = count1 + 1.

CONDENSE count1.

IF count1 = '12'.

v_yearc = v_yearc + 1.

count1 = 1.

ENDIF.

IF v_month1 = 12.

v_month1 = 01.

v_year1 = v_year1 + 1.

ELSE.

v_month1 = v_month1 + 1.

ENDIF.

CONCATENATE v_year1 v_month1 INTO v_monthyear.

ENDIF.

ENDDO.

WRITE 😕 v_service.

Cheers,

Naveen.

Read only

Former Member
0 Likes
460

hi,

Function module              HR_CALC_YEAR_MONTH_DAY
  Import parameters               Value

  BEGDA                           11-12-2001
  ENDDA                           11-02-2008

  Export parameters               Value

  YEARS_OUT                       06
  MONTHS_OUT                      11
  DAYS_OUT                        20