GET_OBJECT_NAME

Gültig für

Extrakt und Replicat

Beschreibung

Mit der Funktion GET_OBJECT_NAME können Sie den vollqualifizierten Namen eines Quell- oder Zielobjekts abrufen, das mit dem verarbeiteten Datensatz verknüpft ist. Diese Funktion sind gültige Tabellen und andere Objekte in einem DML- oder DDL-Vorgang.

Wenn Sie nur einen Teil des Objektnamens zurückgeben möchten, gehen Sie wie folgt vor:

GET_OBJECT_NAME_ONLY 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.

Syntax

#include "usrdecs.h"
short result_code;
env_value_def env_value;
ERCALLBACK (GET_OBJECT_NAME, &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 Objektnamen zu akzeptieren. Der Name ist Null-beendet.

<max_length>

Die maximale Länge des zugewiesenen Puffers, um den Objektnamen zu akzeptieren. Dies wird als beendete NULL-Zeichenfolge zurückgegeben.

<source_or_target>

Eine der folgenden Optionen gibt an, ob der Quell- oder Zielobjektname zurückgegeben werden soll.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

Ausgabe

<buffer>

Der vollqualifizierte, nullbeendete Objektname, z.B. schema.object oder catalog.schema.object, 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 Objektname im Sessionzeichensatz interpretiert.

Istlänge

Die Zeichenfolgenlänge des zurückgegebenen Objektnamens. Die tatsächliche Länge enthält nicht den Null-Terminator. Die tatsächliche Länge ist 0, wenn das Objekt 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 Objektnamens plus Null-Terminator 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