Moin,

vielen Dank für die Lösungsansätze.

Ich habe da noch einige Verständnisfragen:

1. Beim CRTSQLRPGI kann ich bei den Compilersettings kein *TERASPACE angeben / beim CRTBDNRPG, etc. geht das aber. Jetzt war mein Ansatz, dass ich das in die H-Bestimmung eintrage - wie lautet dafür denn die Korrekte Syntax?
--> H DFTACTGRP(*NO) STGMDL(*TERASPACE) wird als falsch angemeckert

2. Ich hatte die DS in ein RPG-Testprogramm reinkopiert und dann mit CRTBNDRPG und den Terraspace-Einstellungen compiliert - bricht aber trotzdem ab: Das Datenelement überschreitet die maximal zulässige Größe von 16.773.104 Byte. Warum??? Ich steh im Moment auf dem Schlauch...

@Fuerchau: Gibt es bei der Variante PF / Table noch irgendetwas bei der PROC zu beachten?
Sitzungssicher soll es sein, da mehrere User gleichzeitig Daten abrufen können... PF oder Table sollte sicherlich nach QTEMP dupliziert werden? Wenn ich dann den Cursor zurückgebe, muss sicherlich auch die PROC anders erstellt werden (siehe unten: CLOSQLCSR(*ENDMOD))?

Code:
CRTSQLRPGI OBJ(PGM/MYPGM) SRCFILE(PGMSRC/QRPGLESRC) COMMIT(     
*NONE)                                                            
OUTPUT(*PRINT) OPTION(*XREF *SEQSRC) CLOSQLCSR(*ENDMOD) DBGVIEW(  
*SOURCE)
Mit der Global Temporary Table habe ich keine Erfahrung. Verhält sich die temporäre Tabelle genauso wie das Füllen einer DS mit Mehrfachvorkommen (Stichwort "Performance")?

Viele Grüße
BM