• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
^ω^SAp傻X^o^
博客园    首页    新随笔    联系   管理    订阅  订阅
计算两个日期之间的工作日

兰大顾的。。。

FUNCTION zget_workdays.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(I_DATE1) LIKE  SY-DATUM
*"     VALUE(I_DATE2) LIKE  SY-DATUM
*"  EXPORTING
*"     VALUE(E_DAYS) TYPE  I
*"----------------------------------------------------------------------
  DATA: week1   TYPE scal-week,
        monday1 TYPE sy-datum,
        sunday1 TYPE sy-datum,
        week2   TYPE scal-week,
        monday2 TYPE sy-datum,
        sunday2 TYPE sy-datum,
        days1    TYPE i,
        days2    TYPE i,
        wotnr1   TYPE p,
        wotnr2   TYPE p.

  CHECK i_date2 GE i_date1.

  CALL FUNCTION 'DAY_IN_WEEK'
    EXPORTING
      datum = i_date1
    IMPORTING
      wotnr = wotnr1.

  CALL FUNCTION 'DAY_IN_WEEK'
    EXPORTING
      datum = i_date2
    IMPORTING
      wotnr = wotnr2.

  "计算开始日期所在周
  CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
    EXPORTING
      date   = i_date1
    IMPORTING
      week   = week1
      monday = monday1
      sunday = sunday1.

  "计算结束日期所在周
  CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
    EXPORTING
      date   = i_date2
    IMPORTING
      week   = week2
      monday = monday2
      sunday = sunday2.

  IF week1 EQ week2.
    IF wotnr1 GE 5.
      e_days = 0.
      EXIT.
    ELSE.
      IF wotnr2 LE 5.
        e_days = i_date2 - i_date1 .
      ELSEIF wotnr2 EQ 6.
        e_days = i_date2 - i_date1 - 1.
      ELSEIF wotnr2 EQ 7.
        e_days = i_date2 - i_date1 - 2.
      ENDIF.
    ENDIF.
  ELSE.
    IF wotnr1 gt 5.
      days1 = 0.
    ELSE.
      days1 = sunday1 - 2 - i_date1 + 1.
    ENDIF.

    IF wotnr2 GT 5 .
      days2 = 4.
    ELSE.
      days2 = i_date2 - monday2.
    ENDIF.

    e_days = ( week2 - week1 - 1 ) * 5 + days1 + days2.

  ENDIF.


ENDFUNCTION.

 

^_^很多人都把资料锁进了note里,以后还怎么百度呢^_^
posted on 2017-06-19 10:52  ^ω^SAP傻X^o^  阅读(951)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3