Zum Hauptinhalt springen

ProcAdvertise

ProcAdvertise(alpha1, alpha2[, logic3]) : logic

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle

"Stored Procedure" bekannt geben

Details

Diese Anweisung wirkt sich nur bei der Verwendung des ODBC-Treibers von CONZEPT 16 aus. Der Befehl kann in einer Startprozedur einer ODBC-Datenquelle (siehe ODBC-Schnittstelle - Funktionen ) oder in einer "Stored Procedure" ausgeführt werden.

Mit dem Befehl wird die in (alpha1) übergebene Funktion der ODBC-Schnittstelle unter dem im (alpha2) angegebenem symbolischen Namen bekanntgegeben. Die Funktion kann dann als "Stored Procedure" von der ODBC-Applikation ausgeführt werden, insofern diese die "Stored Procedure"-Funktionalität unterstützt. Funktionsparameter können dabei wie gewohnt an die "Stored Procedure" übergeben werden.

In (logic3) wird optional mit true definiert, dass alle Funktionsparameter der bekanntgegebenen Funktion als In/Out-Parameter (Ähnlich wie bei einer Call-by-Reference) verwendet werden. Das bedeutet, dass sich Änderungen der Werte in der "Stored Procedure" auch auf die ursprünglich übergebenen Variablen auswirken. Ein Markieren der Funktionsparameter in CONZEPT 16 mit var entfällt dabei. Wird (logic3) nicht oder mit false angegeben, werden alle Parameter nur als In-Parameter verwendet (Notwendig falls Konstante Werte als Parameter übergeben werden sollen). Ein einzelnes festlegen der In/Out-Funktionalität der Parameter ist nicht möglich.

Konnte die Funktion bekannt gegeben werden, erfolgt die Rückgabe von true. Im anderen Fall wird false zurückgegeben. Funktionen können nicht bekanntgegeben werden, wenn sie Übergabeparameter erwarten, die nicht von ODBC unterstützt werden (Arrays und zusammengesetzte Datentypen) oder nicht definiert sind.

info

Innerhalb einer "Stored Procedure" können keine Oberflächen-Befehle verarbeitet werden.

Beispiele:

Mit der folgenden Anweisung wird die Funktion Start in der Prozedur ODBC bekanntgegeben. Die Parameter werden dabei nur als In-Parameter registriert. In der Applikation kann diese Funktion dann mit dem Namen InterfaceInit gestartet werden:

ProcAdvertise('ODBC:Start', 'InterfaceInit', false); 

Innerhalb der Applikation kann diese Funktion dann über einen entsprechenden Menüpunkt oder ähnliches aufgerufen werden. Der Aufruf kann ebenfalls innerhalb eines SQL-Statements erfolgen:

{ CALL InterfaceInit() }

Sind bei der Funktion Übergabeparameter definiert, müssen diese ebenfalls beim Aufruf angegeben werden:

{ CALL InterfaceInit( 1, 3.5, 'Start') }