wreichelt hat geschrieben:Hallo,
anbei ein Musterreport, die FB sind natürlich auch im Query verwendbar.
*&---------------------------------------------------------------------*
*& Report ZPARBTG *
*& *
*&---------------------------------------------------------------------*
*& Errechnen der Arbeitstage Datum1 - Datum2 über den *
*& Fabrikkalender (Musterprogramm) *
*&---------------------------------------------------------------------*
REPORT ZPARBTG .
PARAMETERS: DATE_1 LIKE SCAL-DATE DEFAULT SY-DATUM,
DATE_2 LIKE SCAL-DATE DEFAULT SY-DATUM,
FACCALID LIKE SCAL-FCALID DEFAULT 'HS'.
*
DATA: FAC_DATE_1 LIKE SCAL-FACDATE,
FAC_DATE_2 LIKE SCAL-FACDATE,
WORK_DAYS TYPE I.
*
CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
EXPORTING
CORRECT_OPTION = '+'
DATE = DATE_1
FACTORY_CALENDAR_ID = FACCALID
IMPORTING
* DATE =
FACTORYDATE = FAC_DATE_1 .
* WORKINGDAY_INDICATOR =
*
CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
EXPORTING
CORRECT_OPTION = '+'
DATE = DATE_2
FACTORY_CALENDAR_ID = FACCALID
IMPORTING
* DATE =
FACTORYDATE = FAC_DATE_2
* WORKINGDAY_INDICATOR =
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
CORRECT_OPTION_INVALID = 2
DATE_AFTER_RANGE = 3
DATE_BEFORE_RANGE = 4
DATE_INVALID = 5
FACTORY_CALENDAR_NOT_FOUND = 6
OTHERS = 7.
IF SY-SUBRC NE 0.
WRITE: / 'sy-subrc =', SY-SUBRC.
ENDIF.
*
WORK_DAYS = ABS( FAC_DATE_2 - FAC_DATE_1 ).
WRITE: / 'Mist', (4)WORK_DAYS, 'Tage zu schuften vom',
DATE_1, 'bis', DATE_2.
*
Gruß Wolfgang