Eine (externe) UDTF wird mindestens 3x Aufgerufen:
- OPEN Call
- FETCH Call
- CLOSE Call

Diese 3 Schritte muss Du Programmieren.
Wobei der FETCH call solange aufgeruen wird bis Du den Status 02000 setzt.
Bei jedem FETCH call gibst Du einen Satz zurück. Dabei spielt es keine Rolle, ob Du den "Satz" aus einer Datenstruktur (die Du beim OPEN gefüllt hast) oder einer Tabelle/View, die du (satzweise) verarbeitest oder aus einem User Space (der z.B. durch ein LIST API) gefüllt wurde, liest.
Habe ich nicht Beispiele zum Verarbeiten einer intern beschriebenen Tabelle bzw. eines List APIs in dem Artikel.

... und Du gibst KEIN Select zurück (das funktioniert nur bei SQL Funktionen!), sondern programmierst eine ganz normale Schleife aus der beim FETCH die Ausgabe-Felder gefüllt werden.

Birgitta