一般的に製造業はシステムが複雑であるが、印刷帳票は単純なものが多く、
流通業はシステムは単純ではあっても(失礼)報告書となると複雑な印刷が多い。
これは、流通業ではデータ数が莫大であって、その分析が不可欠であるからだ。
よくある報告書印刷プログラムでは、小計や合計との百分率(%)を求めなければならない。
商品 紙バッグ 売上本日計 xxxxxx 本日売上合計に占める比率 xxx%
といった具合だ。
このような印刷では まだ本日合計を計算して印刷していないのに、売上本日合計に対する比率が要求されている。
(売上本日計が印刷されるのは このリストの最終行である。)
さて、このようなプログラムでは 最初にすべてのデータを読んで本日の売上合計を求めておかなければならない。
最終合計に対する比率だけではなく、支店計や品種分類計に対する比率を求められるような場合もめずらしくない。
そうなるとプログラムは益々複雑怪奇なものとなり、バグ含みのいわゆるスパゲティ状態になることは必至である。
SQLPKG を使えばこのような難問もスマートに解決でき RPG より高速で小計を算出することができる。
合計する SELECT 文の CURSOR を宣言 FETCH で合計を取り出す。
詳細については SQLプログラマーの手引きの RPG サンプルを参照