Die Ergebnismenge wird im Falle einer SQL-Anweisung mit FETCH USING DISCRIPTOR geholt. Es wird z.Z. nur der erste Satz in der Ergebnismenge geholt.
Das Ergebnis wird aus der sqlda Struktur in den
Ergebnisparameter des Types Gdat
kopiert. Dabei wird vom Datenbanksystem die Umwandlung in eine
Zeichenkette angefordert,führende und folgende Leerzeichen entfernt
und die Felder mit : getrennt.
Einbindung von DB-Prozeduren
Wenn die Daten aus der Datenbank noch aufbereitet werden sollen,
braucht man eine Möglichkeit mehrere SQL-Anweisungen und andere
Operationen anzugeben. Um einerseits Komplexität im dieser Arbeit zu
reduzieren und andereseits dem Administrator das Erlernen einer
weiteren Sprache zu ersparen verzichten wir auf
Sprachimplementierungen. Zudem erwies sich der Aufruf der
DB-Prozedueren als relativ problemlos:
Die Prozeduraufruf wird mit PROC eingeleitet. Der Name mus mit dem Datenbankbesitzer und Programm erweitert werden. Also z.B.
PROC MDBA.MG.GETGROUP('%s',:erg). Das %s wird von unserer Aufrufroutine wieder durch den aktuellen Schlüssel ersetzt. Mit dem Doppelpunkt wird angezeigt, daß die Routine einen Call-By-Reference-Rückgabeparameter zurückliefert. Der Name, hier "erg" ist egal.
Der Ergebnisparameter wird genau wie bei einer FETCH-Anweisung im sqlda zurückgeliefert.
Im Query funktionieren diese Anweisungen, im Programm irgendwie nicht.