FUNCTION zweek_difference.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(DATE1) LIKE SCAL-DATE DEFAULT 12312004
*" REFERENCE(DATE2) LIKE SCAL-DATE DEFAULT 01012005
*" EXPORTING
*" REFERENCE(DAY_DIFF) TYPE I
*" REFERENCE(WEEK_DIFF) TYPE I
*"
*" Written By: Offshore Team (INDIA)
*"----------------------------------------------------------------------
**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 = date1
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
Requires Free Membership to View
When you register, you will start receiving targeted emails from my award-winning team of editorial writers. Our goal is to keep you informed on the hottest topics and biggest challenges faced by SAP professionals today.
Hannah Smalltree, Editorial Director.
IF sy-subrc = 0.
ENDIF.
ENDIF.
date_diff = date2 - 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 = date2.
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.
This was first published in July 2004
Join the conversationComment
Share
Comments
Results
Contribute to the conversation