EssBeginReport() starts sending a report specification to the active database. This call must be followed by successive calls to EssSendString() to send the report specification, and finally by a call to EssEndReport(). The report data can either be output, or the report specification can just be verified and any errors returned. Also, the corresponding data blocks in the database can optionally be locked by this call (lock for update).
ESS_FUNC_M EssBeginReport (hCtx, Output, Lock);
ESS_HCTX_T | hCtx |
ESS_BOOL_T | Output |
ESS_BOOL_T | Lock |
hCtx | Essbase API context handle. |
Output | Controls output of data. If TRUE, data is output from the server, according to the specified report. If FALSE, no data is output. |
Lock | Controls block locking. If TRUE, all blocks which are accessed by the report specification are locked for update. If FALSE, no blocks are locked. |
None.
This function requires the caller to have read privilege (ESS_PRIV_READ) to one or more members in the active database.
ESS_FUNC_M ESS_Report (ESS_HCTX_T hCtx, ESS_HINST_T hInst ) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_STR_T rString = NULL; sts = EssBeginReport (hCtx,ESS_TRUE,ESS_FALSE); if (!sts) sts = EssSendString (hCtx, "<Desc Year !"); if (!sts) sts = EssEndReport (hCtx); /************** * Get report * **************/ if (!sts) sts = EssGetString (hCtx, &rString); while ((!sts) && (rString != NULL)) { printf ("%s", rString); EssFree (hInst, rString); sts = EssGetString (hCtx, &rString); } printf ("\r\n"); return(sts); }
EssBeginUpdate()
EssEndReport()
EssGetString()
EssReport
EssReportFile()
EssSendString()