Hast Du den SQLCODE oder den SQLSTATE unmittelbar nach der Ausführung der Funktionen geprüft
Vermutlich nicht, sonst hättest Du festgestellt, dass die Funktionen Days_Between und Days_To_End_Of_Month nicht in SQL bzw. in der Db2 for i vorhanden sind.
Ausserdem verwendest Du eine Syntax, die in der Db2 for i nicht unterstützt wird Date '2018-06-27'. Korrekt müsste es heissen Date('2018-06-27').

Um die Differenz in Tagen zwischen 2 Datums oder Zeitmarken-Werten in Tagen zu berechnen, musst du beide Werte mit Hilfe der Funktion DAYS in die rechnerische Anzahl Tage seit dem 01.01.0001 konvertieren und dann voneinander abziehen.

Code:
Exec SQL  Set :Num_Days = Days('2018-06-27') - Days('2018-01-01');
Wenn Du den laufenden Tag im Jahr ermitteln willst, kannst Du auch die Funktion DAYOFYEAR verwenden.

Um die Anzahl der Tage bis zum Monatsende zu berechnen musst Du mit der Funktione LAST_DAY das Monatsende ermitteln, das Ergebnis ebenfalls mit DAYS in die rechnerische Anzahl and Tagen seit dem 01.01.0001 konvertieren.

Code:
Exec SQL Set :NumDays = Days(Last_Day('2018-06-27')) - Days('2018-06-27');
Die in Db2 for i unterstützen skalaren Funktionen sind unter dem folgenden Link aufgelistet und beschrieben:
Db2 for i SQL scalar Functions

Birgitta