Hallo, hab mal eine Frage zu den SQL-Funktionen NUM_DAYS=DAYS_BETWEEN bzw. DAYS_TO_END_OF_MONTH

Was mach ich bei den Aufrufen falsch? Kann mir da einer einen Tip geben?

D Tage S 5i 0 inz
D NUM_DAYS S 5i 0 inz
D Quartal S 2p 0 inz

Hier funktioniert das. Der Rückgabewert sind ok
when EntryParam = '04';
C/EXEC SQL Set :WeekISO = WEEK_ISO(:MyDate)
C/END-EXEC
EntryRTC = WeekISO;

when EntryParam = '05';
C/EXEC SQL Set :Quartal = Quarter(:MyDate)
C/END-EXEC
EntryRTC = %editc(Quartal:'X');

Hier funzt das nicht. Die Rückgabewerte sind bei beiden immer 0, egal wie ich das Datum hinändere?
w

when EntryParam = '06';
C/EXEC SQL SET:NUM_DAYS=DAYS_BETWEEN(DATE '2018-01-01',DATE '2018-06-27')
C/END-EXEC
EntryRTC = %editc(NUM_DAYS:'X');

when EntryParam = '07';
C/EXEC SQL SET : Tage = DAYS_TO_END_OF_MONTH(DATE '2018-06-27')
C/END-EXEC
EntryRTC = %editc(Tage:'X');