ファイルからアクティブなデータベースへレポート指定を送信します。レポート・データを出力できます。または、レポート指定の確認のみも可能です。エラーがあれば戻されます。また、この呼出しでは、オプションでデータベース内の対応するデータ・ブロックをロックすることもできます(更新用のロック)。
構文
ESS_FUNC_M EssReportFile (
hDestCtx, hSrcCtx, AppName, DbName, FileName, Output, Lock
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hDestCtx |
ESS_HCTX_T |
サーバー上のターゲット・データベースのAPIコンテキスト・ハンドル。 |
hSrcCtx |
ESS_HCTX_T |
レポート・ファイルの場所に対するAPIコンテキスト・ハンドル。レポート・ファイルは、クライアント、またはターゲット・データベースと同一のサーバー上に配置できます。レポート・ファイルがクライアント(ローカル)にある場合、ローカルのコンテキストはEssCreateLocalContextで作成する必要があります。 |
AppName |
ESS_STR_T |
レポート・ファイルの場所のアプリケーション名。 |
DbName |
ESS_STR_T |
レポート・ファイルの場所のデータベース名。 |
FileName |
ESS_STR_T |
レポート指定ファイル名。拡張子は.repであることがわかっているため、ファイル拡張子を指定する必要はありません。 |
Output |
ESS_BOOL_T |
データの出力を制御します。TRUEの場合は、指定したレポートに従ってサーバーから出力されます。FALSEの場合は、データは出力されません。 |
Lock |
ESS_BOOL_T |
ブロックのロックを制御します。TRUEの場合は、レポート指定でアクセスされるすべてのブロックが更新用にロックされます。FALSEの場合は、ブロックのロックは行われません。 |
備考
この関数によってデータが出力される場合(OutputフラグがTRUE)は、戻されるデータはEssGetStringを呼び出して読み取ることができます。
この関数によってブロックがロックされる場合(LockフラグがTRUE)、呼出し元はロックされたブロックのロック解除を行う必要があります(たとえば、UnlockフラグをTRUEに設定してEssUpdateを呼び出します)。
OutputおよびLockの両方のフラグがFALSEに設定されている場合、データベースはレポート指定の構文確認のみを行います。
戻り値
なし。
アクセス
この関数を使用するには、アクティブなデータベース内の1つ以上のメンバーに対して、呼出し元が読取り権限(ESS_PRIV_READ)を持っている必要があります。
例
ESS_FUNC_M
ESS_ReportFile (ESS_HCTX_T hCtx,
ESS_HINST_T hInst
)
{
ESS_FUNC_M sts = ESS_STS_NOERR;
ESS_HCTX_T hSrcCtx;
ESS_STR_T rString;
ESS_STR_T AppName;
ESS_STR_T DbName;
ESS_STR_T FileName;
hSrcCtx = hCtx;
AppName = "Sample";
DbName = "Basic";
FileName = "Test";
sts = EssReportFile (hCtx, hSrcCtx, AppName,
DbName, FileName, ESS_TRUE, ESS_FALSE);
/* Get the report */
if (!sts)
sts = EssGetString (hCtx, &rString);
while ((!sts) && (rString != NULL))
{
printf ("%s", rString);
EssFree (hInst, rString);
sts = EssGetString (hCtx,&rString);
}
return(sts);
}
関連トピック