Marks the end of an update specification being sent to the active database, and must be called after sending the update specification using EssSendString().
Syntax
ESS_STS_T EssEndDataload (hCtx, ppMbrError);
Parameter | Data Type | Description |
---|---|---|
hCtx; | ESS_HCTX_T | API context handle. |
ppMbrError; | ESS_MBRERR_T | Pointer to the linked list of errors contained in ESS_MBRERR_T. Possible errors (and error strings) are:
|
Notes
EssEndDataload() must be preceded by a call to EssBeginDataload(), and at least one call to EssSendString().
The memory allocated for ppMbrErr must be freed using EssFreeMbrErr().
Return Value
Returns zero, if successful. Otherwise, returns an error code, as follows:
If abortOnError is TRUE:
The error code for the first error condition is returned.
The error list is NULL.
If abortOnError is FALSE:
An error list is returned, if the server can process the data and can continue.
Otherwise, in exceptional circumstances, the error code explaining why the server cannot continue is returned. For example:
AD_MSGDL_COLS (too many data values in a record)
AD_MSGDL_MISDIM (data value encountered before all dimensions selected)
Access
EssEndDataload() requires the caller to have write privilege (ESS_PRIV_WRITE) to the active database.
Example
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);
See Also