BizとPrintStreamの連携例
CV.netの場合はSQL文を直接発行しPrintStreamを起動する場合、下記のようにする。(CV.netの場合、ログイン情報などのテーブルはBiz側からアクセス不可にしてあるので、SQLで呼び出せるのはアプリケーションに許可されたテーブルのみ)
----------------------------------------
SatooPrintStreamDocument pss;
pss.PreviewFlg=cvnet.Preview;
var pp = cvnet.DispBar();
var wrk_para=new array;
wrk_para[0] = new string(^.CodeHin1.OnGet());
wrk_para[1] = new string(^.CodeHin2.OnGet());
var wrk_sql = "select A.社員CD,A.名前,'__DATA__'||A.携帯TEL 画像";
wrk_sql += ",A.店舗CD";
wrk_sql += ",NVL((select H.得意先名 from HC$master_tokui H where H.得意先CD=A.店舗CD),'.') 店舗名";
wrk_sql += ",NVL((Select 自社名 From HC$MASTER_SYSKANRI where rownum<2),'.') 自社名";
wrk_sql += " from HC$master_shain A where A.社員CD between :1 and :2 order by A.社員CD";
var qfm_file = "cvnetfelica.qfm";
var ret_csv = ClassSatoo.AspxSqlQuery(wrk_sql,wrk_para,qfm_file); /* ? */
total_cnt = ret_csv.GetCell(1,0);
if (total_cnt<=0){
^.OnMess2("印刷データがありませんでした");
pp.popupClose();
return;
}
pss.AddUrl(ClassSatoo.AspxPath+ ret_csv.GetCell(0,0)+"/000000[01-99].pss",ret_csv.GetCell(1,0)); /* ? */
pp.popupClose();
----------------------------------------
?のClassSatoo.AspxSqlQuery(wrk_sql,wrk_para,qfm_file) で
SQL文、パラメータ、サーバ上のqfmファイル名を指定する
?のpss.AddUrl()で スプールファイルのダウンロード(とclass中で表示)
例えばこんな感じの帳票が印刷される。(全部で191ページ。これをDocクラスのみで実装するとかなり重くなる)

サーバ側、Biz側両方で汎用的に使えるモジュールを用意しておくことで、Biz側のSQL文とPrintStreamのフォームレイアウトを作るだけでどんな帳票でも作成できてしまう。
もし、現在帳票ごとにサーバもBizも1から作りこんでいるのであれば、ご参考にしてください。こんなやり方もあるということで。