公告: 新浪微博开通,欢迎跟听!SAP酒吧上线, 欢迎加入!

计算一段时间间隔有多少个周六周日

  在ITPUB上看到的问题, 写了一下, 没有详细的测试, 有问题的请留言.

FUNCTION ZBOBO_HOW_MANY_SS.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(FROM_DATE) TYPE  D
*"     REFERENCE(TO_DATE) TYPE  D
*"  EXPORTING
*"     REFERENCE(NUM_SAT) TYPE  I
*"     REFERENCE(NUM_SUN) TYPE  I
*"----------------------------------------------------------------------
 
data: lday type i,  "日期间隔
      ln type i,    "多少个7天
      lm type i.    "剩余多少天
data: ld type p.    "星期几
 
* 1. 取得时间间隔
lday = to_date - from_date.
 
* 2. 获得多少个周以及剩余多少天
ln = lday div 7.
lm = lday mod 7.
* 3. 取得From日期的星期数
CALL FUNCTION 'DAY_IN_WEEK'
  EXPORTING
    DATUM         = from_date
 IMPORTING
   WOTNR         = ld
          .
 
* 4. 如果是星期日, 则需要减少一个周六天数
if ld > 6.
  num_sat = ln + ( lm + ld ) div 6 - 1.
else.
* 4. 如果不是周日, 计算个数
  num_sat = ln + ( lm + ld ) div 6.
endif.
num_sun = ln + ( lm + ld ) div 7.
 
ENDFUNCTION.

相关文章列表

  • 暂无相关日志
Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。