Code: Alles auswählen.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
i_date_from = zeile-yyadal
i_date_to = pn-begda
i_flg_separate = ' '
IMPORTING
e_days = z_day
e_months = z_month
e_years = z_year.
Code: Alles auswählen.
FUNCTION Z_JULIAN_DATE.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(IN_DATUM) LIKE SCAL-DATE
*" EXPORTING
*" VALUE(JULIAN_DATE) LIKE SCAL-FACDATE
*" EXCEPTIONS
*" DATE_INVALID
*"----------------------------------------------------------------------
* Für das Datum DATE wird das julianische Datum ermittelt.
DATA:
* Lokale Daten
W_DATUM(08) TYPE N,
JAHRESANFANG LIKE SCAL-DATE,
JAHR LIKE SCAL-INDICATOR,
MONAT LIKE SCAL-INDICATOR,
TAG LIKE SCAL-INDICATOR,
CHECK TYPE C,
CDATE(3) TYPE C.
** Initialisation **
JULIAN_DATE = 001.
W_DATUM = 19000101.
W_DATUM = IN_DATUM.
JAHRESANFANG = IN_DATUM.
JAHRESANFANG+4(4) = 0101.
** Falsches Datum **
*
* > w_datum wird nur bei richtiger eingabe nach scal-date gespeichert.
* > Somit ist bei richtiger eingabe auch kein punkt vorhanden.
CHECK = W_DATUM+2(1).
IF CHECK EQ '.'.
RAISE DATE_INVALID.
ENDIF.
*" SAP hat seit Sa. 01.01.1900 ,von NULL (0) angefangen, inkrementiert.
JULIAN_DATE = IN_DATUM - JAHRESANFANG + 1.
CDATE = JULIAN_DATE.
JULIAN_DATE = CDATE.
ENDFUNCTION.