1

ページに複数の子レコードを持つレコードがあります。ページに、行セットを介して XML Publisher を介してレポートをトリガーするボタンがあります。私が抱えている問題は、レポートに渡す行セットにバッファー内のすべてが含まれていることです。現在のコンテキストのみをレポートに表示したいのです。私が今持っているもの:

&rs_resp = CreateRowset(Record.AVZ_JD_RESP_TBL);
&rs_expr = CreateRowset(Record.AVZ_JD_EXPR_TBL);
&rs_skls = CreateRowset(Record.AVZ_JD_SKLS_TBL);
&rs_dtl = CreateRowset(Record.AVZ_JD_DTL_TBL, &rs_resp, &rs_expr, &rs_skls   

&RS0 = GetLevel0().GetRow(1).GetRowset(Scroll.AVZ_JD_DTL_TBL);
&RS0.CopyTo(&rs_dtl);

次に、レポートを開始します。

&oReportDefn.SetRuntimeDataRowset(&rs_dtl);   
&oReportDefn.ProcessReport(&MyTemplate, &LanguageCd, &AsOfDate, &OutFormat);

以前は、各行セット (親と子) で Rowset.Fill を使用していましたが、copyto メソッドはどういうわけか「よりクリーン」に見えました (確かに少ないコード:-))。現在のコンテキストのみをコピーする方法はありますか?

ありがとう

4

2 に答える 2

1

私が質問を理解していれば、次のようなことができます:

Getrow().Copyto(&rs_dtl(1));
于 2012-05-18T13:46:00.883 に答える
0

行セットのコピーを実行すると、すべての行がコピーされたと思います-
    &RS0.CopyTo(&rs_dtl);

for-each ループで改ページを使用することにより、レポートの行ごとに新しいページの作成を制御できます (テンプレートの行セットをトラバースするために使用します)。
   <?split-by-page-break:?>

最新の effdt 行のみを印刷する場合は、最新の effdt 行のみを &rs_dtl 行セットにコピーします。これを行うには、最初に &RS0 行セットを次のキーに基づいて並べ替えます。
    &RS0.sort(keyfield1,keyfield2,"A");

次に、指定されたキー セットの max effdt をチェックする並べ替えられた行セットをループします。

行の挿入機能を使用して、行を &rs_dtl に挿入します。
    &rs_dtl.Insertrow(&rownumber);

これが機能するかどうか教えてください。

于 2012-05-20T08:54:10.563 に答える