View Full Version : Externe UDF nur mit Naming *SQL aufrufbar
Spateneder
08-03-11, 11:47
Ich habe eine externe UDF mit einem Serviceprogramm erstellt. Beim Erstellen der Funktion mit CREATE FUNCTION kann ich mit der Namenskonvention *SYS oder mit *SQL arbeiten, wenn ich qualifizierte Namen entsprechend angebe. Den Funktionsaufruf bekomme ich aber nur mit *SQL hin (d.h. ich gebe die Funktion qualifiziert an in der Form LIB.FUNKTION). Was muss ich tun, um auch *SYS verwenden zu können?
andreaspr@aon.at
08-03-11, 12:16
Hallo,
wie du eine Funktion mit *SYS qualifiziert aufrufen kannst, weis ich nicht. Ich bin mir nicht sicher, ob das überauhpt geht.
Wenn du jedoch im Pfad die Lib hinzufügst, kannst du die Funktion auch unqualifiziert aufrufen
Set Path MYLIB
Spateneder
08-03-11, 13:07
Danke, war wirklich der Pfad.
Ich wollte besonders schlau sein und alles in QGPL stellen ...
Ich habe eine externe UDF mit einem Serviceprogramm erstellt. Beim Erstellen der Funktion mit CREATE FUNCTION kann ich mit der Namenskonvention *SYS oder mit *SQL arbeiten, wenn ich qualifizierte Namen entsprechend angebe. Den Funktionsaufruf bekomme ich aber nur mit *SQL hin (d.h. ich gebe die Funktion qualifiziert an in der Form LIB.FUNKTION). Was muss ich tun, um auch *SYS verwenden zu können?
Leider ist der qualifizierte Aufruf im System-Naming nicht unterstützt, d.h. der Slash wird in diesem fall immer als "Dividieren durch" interpretiert.
Wenn Du in Deiner Umgebung mit System-Naming arbeitest genügt es die Bibliothek, in der die Funktion liegt in die Bibliotheksliste zu übernehemen.
Arbeitest Du mit SQL-Naming, musst Du wie Andreas bereits gesagt hat die Bibliothek in dem SQL PATH hinterlegen.
Birgitta
Spateneder
08-03-11, 20:14
Hallo Birgitta,
danke für die Unterstützung. Ich hatte alles schon in QGPL gespeichert, um keine Probleme mit der Bibliotheksliste zu bekommen. Aber der SQL PATH hat geholfen.
Grüße aus München
Mathias Spateneder