Chinaunix首页 | 论坛 | 博客
  • 博客访问: 575234
  • 博文数量: 30
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-28 13:40
文章分类

全部博文(30)

文章存档

2010年(1)

2009年(29)

我的朋友

分类: 项目管理

2009-05-19 13:12:49

 

*&---------------------------------------------------------------------*

*&      Form  GET_MONTHS_BETWEEN_DATES

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM GET_MONTHS_BETWEEN_DATES USING P_BEGDA LIKE SY-DATUM

                                    P_ENDDA LIKE SY-DATUM

                                    P_DURATION TYPE PSEN_DURATION_DEC.

  DATA: YY TYPE P,

        MM TYPE P,

        DD TYPE P.

  DATA: L_TEMP_DATE LIKE SY-DATUM.

  L_TEMP_DATE = P_ENDDA.

  IF P_BEGDA+6(2) > L_TEMP_DATE+6(2).

    L_TEMP_DATE+6(2) = '01'.

    L_TEMP_DATE = L_TEMP_DATE - 1.

    DD = L_TEMP_DATE+6(2) - P_BEGDA+6(2) + P_ENDDA+6(2).

    MM = L_TEMP_DATE+4(2) - P_BEGDA+4(2).

  ELSE.

    DD = P_ENDDA+6(2) - P_BEGDA+6(2).

    MM = P_ENDDA+4(2) - P_BEGDA+4(2).

  ENDIF.

  YY = P_ENDDA+0(4) - P_BEGDA+0(4).

  IF MM < 0.

    YY = YY - 1.

    MM = MM + 12.

  ENDIF.

  P_DURATION-CALYY = YY.

  P_DURATION-CALMM = MM.

  P_DURATION-CALDD = DD.

ENDFORM.                    " GET_MONTHS_BETWEEN_DATES

阅读(556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~