Показаны сообщения с ярлыком Exclude. Показать все сообщения
Показаны сообщения с ярлыком Exclude. Показать все сообщения

вторник, 1 июля 2014 г.

Exclude calendar weekends

    DATA:
      lt_day_attributes TYPE TABLE OF casdayattr
     .

     RESULT = 0.
     IF   SOURCE_FIELDS-csm_clda <> SOURCE_FIELDS-csm_crda
       AND SOURCE_FIELDS-csm_clda IS NOT INITIAL
       AND SOURCE_FIELDS-csm_crda IS NOT INITIAL.

        "Exclude calendar weekends
        CALL FUNCTION 'DAY_ATTRIBUTES_GET'
          EXPORTING
            factory_calendar           = 'RU'
            holiday_calendar           = 'RU'
            date_from                  = SOURCE_FIELDS-csm_crda
            date_to                    = SOURCE_FIELDS-csm_clda
          TABLES
            day_attributes             = lt_day_attributes
          EXCEPTIONS
            factory_calendar_not_found = 1
            holiday_calendar_not_found = 2
            date_has_invalid_format    = 3
            date_inconsistency         = 4
            OTHERS                     = 5.

        DELETE lt_day_attributes WHERE FREEDAY = 'X' OR HOLIDAY = 'X'.
        DESCRIBE TABLE lt_day_attributes LINES RESULT.

        IF RESULT > 0.
          SUBTRACT 1 FROM RESULT.
        ENDIF.
      ENDIF.