全部博文(30)
分类: 项目管理
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