Was ich gemeint habe, sind nicht Funktionen, sondern Listen. Ich kann nur eine Relation auswählen. Die kann natürlich aus allen der Apps kommen, auf denen diese App aufbaut. So weit, so klar und problemlos.
Aber ich kann keine zweite Relation aus einer anderen App damit verknüpfen, sondern nur solche Relationen aus der ersten App, die über Felder/Attribute vom Typ Beziehung verbunden sind.
Daß ich eine Funktion definieren kann, die dieses Select implementiert, das kann ich mir gut vorstellen. Sie hat dann wohl als Return Type TABLE oder so. Das habe ich schon gesehen und entspricht meinem Gefühl nach einfach dem VIEW.
Aber die Frage ist: Muß das sein? Gibt es keinen anderen Weg, passende Datensätze miteinander zu verknüpfen?
Vielleicht ein zweites, konkreteres Beispiel:
Eine App heißt Shop und enthält ein paar Dutzend Relationen, die den Online-Shop betreffen. Eine davon ist bestellzeile, in der Attribut code unser Artikelcode ist.
Eine zweite App enthält die interne Warenverwaltung mit ebenfalls ziemlich vielen Relationen. Eine davon ist artikel, ebenfalls mit Feld code.
Die dritte App baut auf den anderen beiden auf (lt. Definition im Builder). Ich kann beide Relationen im Builder sehen. Aber ich kann nicht nach shop.bestellzeile JOIN warenverwaltung.artikel USING (code) WHERE bestellzeile.preis != artikel.preis suchen, oder vieles anderes mehr. Also in Listen ist mir noch nichts untergekommen. Ich kann nur eine Backend-Funktion schreiben, die das implementiert. Ist das richtig?