アクティブ・データベースに更新指定の送信を開始し、更新用にロックされたデータ・ブロックのロックを解除できます。更新データはデータベースに保管することも、確認のみ行ってエラーがあれば戻すこともできます。
構文
ESS_STS_T EssBeginDataload (
hCtx, Store, Unlock, abortOnError, pRules
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx; |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
Store; |
ESS_BOOL_T |
データの保管を制御します。TRUEの場合は、データがサーバーに保管されます。FALSEの場合はデータは保管されません。 |
Unlock; |
ESS_BOOL_T |
データ・ブロックのロック解除を制御します。TRUEの場合、ロックされているすべての関連ブロックのロックが解除されます(必要に応じてデータの保管後)。FALSEの場合、ブロックのロックは解除されません。 |
abortOnError; |
ESS_BOOL_T |
TRUEの場合、最初のエラーでデータ・ロードが停止します。それ以外の場合は、データ・ロードを続行します。 |
pRules; |
ESS_OBJDEF_T |
ルール・ファイル・オブジェクト定義構造体へのポインタ。 |
備考
この関数の後に、EssSendStringを少なくとも1回呼び出して更新指定を送信し、次にEssEndDataloadを呼び出す必要があります。
EssBeginDataloadの後に呼び出したEssSendStringへ渡される各文字列の末尾は、改行復帰文字シーケンス("\r\n")である必要があります。
StoreおよびUnlockの両方のフラグがFALSEに設定されている場合、データベースは更新指定の構文確認のみを行います。
誤った入力行以降の入力行(レコード)を無視するEssBeginUpdateとは異なり、この関数は残りの入力行も処理し、必要に応じてコミットします。
EssEndDataloadは、ESS_MBRERR_Tにエラーのリンク・リストを戻します。
Unicode対応Essbaseアプリケーションとの通信にCのメインAPIを使用するUnicodeクライアントは、この関数の呼出し直後に、テキスト・ストリーム内のUTF-8でエンコードされたバイト・オーダー・マーク(BOM)を送信する必要があります。例としては、バイト・オーダー・エンコーディングの指定を参照してください。
戻り値
なし。
アクセス
EssBeginDataloadを使用するには、呼出し元がアクティブなデータベースに対する書込み権限(ESS_PRIV_WRITE)を持っている必要があります。
例
ESS_STS_T sts = ESS_STS_NOERR;
ESS_BOOL_T Store;
ESS_BOOL_T Unlock;
ESS_STR_T Query1, Query2;
ESS_PMBRERR_T pMbrErr;
Store = ESS_TRUE;
Unlock = ESS_FALSE;
Query1 = "Year Market Scenario Measures Product 12345";
Query2 = " Jan East Scenario Measures Coke 125";
/* Begin Update */
sts = EssBeginDataload (hCtx, Store, Unlock, ESS_FALSE, ESS_NULL);
/* Send update specification */
if(!sts)
sts = EssSendString(hCtx, Query1);
sts = EssSendString(hCtx, Query2);
/* End Update */
if(!sts)
sts = EssEndDataload(hCtx, &pMbrErr);
関連トピック