Hallo,

sorry, Einspruch in zwei Punkten:
1. wenn die View dasselbe Format liefert, dann ist es völlig Wurscht wo die Daten wirklich herkommen, dann brauchts kein Recompile! Sprich: man ändert eventuell im View Layer und nicht das Programm.
2. Ob ich eine View habe, oder einen Join mache, das ist von der Performance her Banane. Die (SQL) View hat keinen Zugriffspfad und enthält auch keinen Zugriffsplan, der kann erst bei dem Select im Programm berechnet werden, da hier ja auch noch eine Order By Klausel stehen kann!

mfg

Dieter Bender

Zitat Zitat von B.Hauser
Ein Recompile ist allerdings nur dann nicht erforderlich, wenn einzelne Felder ausgewählt und in einer Datenstruktur zusammengefasst wurden.

Wird eine externe Datenstruktur und SELECT * verwendet, ist ein Recompile wie bei anderen Datei-Änderungen erforderlich.

@Zannaleer
Du kannst auch folgendes versuchen:
Die einzelnen Dateien als Externe Mehrfach Datenstrukturen definieren und beim Fetch diese Datenstrukturen aufzählen.

PHP-Code:
d Ds_AAP        e ds                  extname(AAPoccurs(7)        
d Ds_AAI        e ds                  extname(AAIoccurs(7)
d Ds_AAK        e ds                  extname(AAKoccurs(7)

c/EXEC SQL  FETCH Next from MyCursor for 7 Rows
C
+          into :DS_AAP, :DS_AAI, :DS_AAK
C
/END-EXEC 
Diese Lösung funktionniert zumindest beim Single Row Fetch, beim Multiple Row Fetch habe ich es noch nicht probiert.

Die bessere Lösung ist allerdings eine SQL-View zu benutzen.
Dies vereinfacht nicht nur den Code, sondern ist zudem auch noch performanter als ein direkter JOIN im Programm.

Birgitta