レポート指定を単一文字列としてアクティブなデータベースに送信します。この関数は、EssBeginReportを呼び出し、次にEssSendStringを呼び出し、最後にEssEndReportを呼び出すのと同じです。レポート・データは出力することも、レポート指定の確認のみ行いエラーがあれば戻させることもできます。また、この呼出しでは、オプションでデータベース内の対応するデータ・ブロックをロックすることもできます(更新用のロック)。
構文
ESS_FUNC_M EssReport (
hCtx, Output, Lock, RptSpec
);
パラメータ | データ型 | 説明 |
---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
Output |
ESS_BOOL_T |
データの出力を制御します。TRUEの場合は、指定したレポートに従ってサーバーから出力されます。FALSEの場合は、データは出力されません。 |
Lock |
ESS_BOOL_T |
ブロックのロックを制御します。TRUEの場合は、レポート指定でアクセスされるすべてのブロックが更新用にロックされます。FALSEの場合は、ブロックのロックは行われません。 |
RptSpec |
ESS_STR_T |
単一の文字列としてのレポート指定(64KB未満である必要があります)。 |
備考
レポート指定の文字列の長さは、64KB未満である必要があります。
この関数によってデータが出力される場合(OutputフラグがTRUE)、戻されるデータは、NULLが戻されるまでEssGetStringを呼び出して読み取る必要があります。
この関数によってブロックがロックされる場合(LockフラグがTRUE)、呼出し元はロックされたブロックのロック解除を行う必要があります(たとえば、UnlockフラグをTRUEに設定してEssUpdateを呼び出します)。
OutputおよびLockの両方のフラグがFALSEに設定されている場合、データベースはレポート指定の構文確認のみを行います。
戻り値
なし。
アクセス
この関数を使用するには、アクティブなデータベース内の1つ以上のメンバーに対して、呼出し元が読取り権限(ESS_PRIV_READ)を持っている必要があります。呼出し元がアクセス権を持っていないすべてのメンバーは、不明として戻されます。
例
ESS_FUNC_M ESS_ReportLine (ESS_HCTX_T hCtx, ESS_HINST_T hInst ) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_STR_T rString; sts = EssReport (hCtx, ESS_TRUE, ESS_FALSE, "<Desc Year !"); /****************** * Get the 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); }
関連トピック