GET_TABLE_NAME_ONLY
Gültig für
Extract und Replicat
Beschreibung
Mit der Funktion GET_TABLE_NAME_ONLY können Sie den nicht qualifizierten Namen (ohne Katalog, Container oder Schema) der Quelle oder Zieltabelle abrufen, die mit dem verarbeiteten Datensatz verknüpft ist. Diese Funktion ist nur für Tabellen in den Vorgängen DML und DDL gültig. So rufen Sie den nicht qualifizierten Namen eines Nicht-Tabellenobjekts ab:
Um den vollqualifizierten Namen einer Tabelle zurückzugeben, gehen Sie wie folgt vor:
Informationen zum Zurückgeben anderer Teile des Tabellennamens finden Sie in den folgenden Abschnitten:
GET_SCHEMA_NAME_ONLY GET_CATALOG_NAME_ONLY
Datenbankobjektnamen werden genau so zurückgegeben, wie sie in der Hostdatenbank definiert sind, einschließlich der Groß-/Kleinschreibung.
Diese Funktion gibt nur dann einen Wert zurück, wenn das Objekt eine Tabelle ist. Andernfalls gibt die actual_length der Variablen env_value_def 0 zurück.
Syntax
#include "usrdecs.h"
short result_code;
env_value_def env_value;
ERCALLBACK (GET_TABLE_NAME_ONLY, &env_value, &result_code);
Puffer
typedef struct
{
char *buffer;
long max_length;
long actual_length;
short value_truncated;
short index;
short source_or_target;
} env_value_def;
Eingabe
<buffer>
Ein Zeiger auf einen Puffer, um den zurückgegebenen Tabellennamen zu akzeptieren. Der Tabellenname ist null-beendet.
<max_length>
Die maximale Länge des zugewiesenen Puffers, um den Tabellennamen zu akzeptieren. Dies wird als beendete NULL-Zeichenfolge zurückgegeben.
<source_or_target>
Eine der folgenden Optionen gibt an, ob der Quell- oder Zieltabellenname zurückgegeben werden soll.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
Ausgabe
<buffer>
Der vollqualifizierte, nullbeendete Tabellenname, z.B. schema.table oder catalog.schema.table, je nach Datenbankplattform.
Wenn die Zeichensession des User Exit mit SET_SESSION_CHARSET auf einen anderen Wert als den Standardzeichensatz des Betriebssystems gesetzt wird, wie in ULIB_CS_DEFAULT in der Datei ucharset.h definiert, wird der Tabellenname im Sessionzeichensatz interpretiert.
Istlänge
Die Zeichenfolgenlänge des zurückgegebenen Tabellennamens. Die tatsächliche Länge enthält nicht den Null-Terminator. Die tatsächliche zurückgegebene Länge ist 0, wenn das Objekt eine andere als eine Tabelle ist.
<value_truncated>
Ein Flag (0 oder 1), das angibt, ob der Wert abgeschnitten wurde. Eine Abkürzung tritt auf, wenn die Länge des Tabellennamens plus des Null-Terminators die maximale Pufferlänge überschreitet.
Rückgabewerte
EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK