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.
BirgittaCode: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
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks