GET_TABLE_NAME_ONLY
有効な対象
ExtractおよびReplicat
摘要
GET_TABLE_NAME_ONLYファンクションでは、処理中のレコードに関連付けられているソースまたはターゲット表の修飾されていない名前(カタログ、コンテナまたはスキーマなし)を取得します。このファンクションは、DMLおよびDDL操作の表にのみ有効です。表以外のオブジェクトの修飾されていない名前を取得するには、次を参照してください。
表の完全修飾表名を返すには、次を参照してください。
表名の他の部分を返すには、次を参照してください。
GET_SCHEMA_NAME_ONLY GET_CATALOG_NAME_ONLY
データベース・オブジェクト名は、大/小文字の区別を含め、ホストしているデータベースで定義されているとおりに、正確に返されます。
オブジェクトが表の場合にのみ、このファンクションは値を返します。それ以外の場合は、env_value_def変数のactual_lengthは0を返します。
構文
#include "usrdecs.h"
short result_code;
env_value_def env_value;
ERCALLBACK (GET_TABLE_NAME_ONLY, &env_value, &result_code);
バッファ
typedef struct
{
char *buffer;
long max_length;
long actual_length;
short value_truncated;
short index;
short source_or_target;
} env_value_def;
入力
<buffer>
返された表名を受け付けるバッファへのポインタ。表名はNULLで終了します。
<max_length>
表名を受け付けるために割り当てたバッファの最大長。NULL終了文字列として返されます。
<source_or_target>
ソースまたはターゲット表のどちらの名前を返すかを示す次の一方。
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
出力
<buffer>
schema.tableやcatalog.schema.tableなど、データベース・プラットフォームに応じた、NULLで終了する完全修飾表名。
ユーザー・イグジットの文字セッションが、SET_SESSION_CHARSETを使用して、オペレーティング・システムのデフォルトの文字セット以外の値に設定されている場合、ucharset.hファイルのULIB_CS_DEFAULTで定義されているように、表名はセッションの文字セットで解釈されます。
実際の長さ
返される表名の文字列長。実際の長さにNULL終了文字は含まれません。オブジェクトが表以外の場合、返される実際の長さは0です。
<value_truncated>
値が切り捨てられたかどうかを示すフラグ(0または1)。切捨ては、表名とNULL終了文字を足した長さが、最大バッファ長を超えるときに行われます。
戻り値
EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK