So wie es aussieht kann Dein SQL-Statement einen NULL-Wert (hat nichts zu tun mit dem deutschen Wort Null = 0) zurückbringen. (NULL-Wert = Nix, Kein Ergebnis)
Um auf NULL-Wert prüfen zu können, wird eine Indikator/Anzeiger-Variable erwartet.
Eine Indikator-Variable wird in RPG mit 5I 0 definiert und im SQL-Statement unmittelbar (nur durch ein Blank getrennt) nach der Variablen angegeben, die geprüft werden soll. Wurde für die Variable ein NULL-Wert ausgegeben, so geht die Indikator-Variable auf -1 anderenfalls wird 0 zurückgegeben. Bei einem NULL-Wert wird die Host-Variable nicht initialisiert. Also am besten vor dem SQL-Statement clearen oder die Indikator-Variable abfragen und dann clearen.
Code:
D MyInd S 5I 0
/Free
Clear Amount;
Exec SQL Select sum(Wert1 - Wert2) into :AMOUNT :MyInd
from DateiX;
If MyInd < *Zeros;
Clear Amount;
Endif;
/End-Free
Birgitta
Bookmarks