Welcome To My BLOG

This site is to give a brief idea for the abap learners who are looking for some real time programs .It consists of collection of programs from my side . I hope these programs are very much used for all of the learners. Please check the links for any information in ABAP.
Please vote for my Blog. And please input me on this mail addrssess.Email me

Share this link with your friends

http://www.rebtel.com/u/15163104576

For every friend who signs up using this link and makes a payment, we'll give you 8 €!


Wednesday, September 22, 2010

TO CALCULATE THE WEEK DIFFERENCE BETWEEN TWO DATES

FUNCTION zweek_difference.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(END_DATE) LIKE SCAL-DATE
*" VALUE(START_DATE) LIKE SCAL-DATE
*" EXPORTING
*" REFERENCE(DAY_DIFF) TYPE I
*" REFERENCE(WEEK_DIFF) TYPE I
*"----------------------------------------------------------------------
**Data Declaration
DATA week1 LIKE scal-week.
DATA week2 LIKE scal-week.
DATA date_st LIKE scal-date.
DATA day LIKE scal-indicator.
DATA date_diff(5) TYPE n.
DATA date_change TYPE sy-datum.
**To get the Week of Start Date
CALL FUNCTION 'DATE_GET_WEEK'
EXPORTING
date = start_date
IMPORTING
week = week1
* EXCEPTIONS
* DATE_INVALID = 1
* OTHERS = 2
.
IF sy-subrc = 0.
**To get the First Day of the week from Start Date
CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
week = week1
IMPORTING
date = date_st
* EXCEPTIONS
* WEEK_INVALID = 1
* OTHERS = 2
.
IF sy-subrc = 0.
ENDIF.
ENDIF.
date_diff = end_date - date_st.
day_diff = date_diff MOD 7.
week_diff = date_diff DIV 7.
IF ( ( day_diff >= 1 ) AND ( day_diff < 7 ) ).
week_diff = week_diff + 1.
ENDIF.
date_change = end_date.
IF day_diff = 0.
CALL FUNCTION 'DATE_COMPUTE_DAY'
EXPORTING
date = date_change
IMPORTING
day = day.
IF sy-subrc = 0.
IF day = 1.
week_diff = week_diff + 1.
ENDIF.
ENDIF.
ENDIF.
ENDFUNCTION.

No comments: