GET_ERROR_INFO

Gültig für

Extract und Replicat

Beschreibung

Verwenden Sie die Funktion GET_ERROR_INFO, um Fehlerinformationen abzurufen, die mit einem Discard-Datensatz verknüpft sind. Der User Exit kann diese Informationen in einer benutzerdefinierten Fehlerbehandlungslogik verwenden. Beispiel: Der User Exit kann eine E-Mail mit detaillierten Fehlerinformationen senden.

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, werden die Meldungsdaten, die zwischen dem User Exit und dem Prozess ausgetauscht werden, im Sessionzeichensatz interpretiert.

Syntax

#include "usrdecs.h"
short result_code;
error_info_def error_info;
ERCALLBACK (GET_ERROR_INFO, &error_info, &result_code);

Puffer

typedef struct
{
long error_num;
char *error_msg;
long max_length;
long actual_length;
short msg_truncated;
} error_info_def;

Eingabe

<error_msg>

Ein Zeiger auf einen Puffer, um die zurückgegebene Fehlermeldung zu akzeptieren.

<max_length>

Die maximale Länge des zugewiesenen error_msg-Puffers, um die resultierende Fehlermeldung zu akzeptieren. Dies wird als beendete NULL-Zeichenfolge zurückgegeben.

Ausgabe

<error_num>

Die SQL- oder Systemfehlernummer, die dem verworfenen Record zugeordnet ist.

<error_msg>

Ein Zeiger auf die Null-beendete Fehlermeldung, die dem verworfenen Datensatz zugeordnet ist.

<actual_length>

Die Länge der Fehlermeldung, ohne den Null-Terminator.

<msg_truncated>

Ein Flag (0 oder 1), das angibt, ob die Fehlermeldung abgeschnitten wurde. Eine Abkürzung tritt auf, wenn die Länge der Fehlermeldung plus ein Null-Terminator die maximale Pufferlänge überschreitet.

Rückgabewerte

EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_OK