レビュー指摘 #11956
完了処理の流れが UC40020P分で変更された処理とUC40030P分の処理でかみ合わない プログラム統合の処理について認識齟齬がある
0%
説明
以下問題点
■1.UC40020PのOUTにあたる配列について
現行はUC40030で使用するデータとして、
集計行と、集計対象行 どちらも出力しているが、
新では 集計行?しか内部変数の配列にセットされていない。

~(中略)~

現行は INデータに連番を振ってOUTしている

~(中略)~
集計行のOUT

UC40030Pにあたる処理で再取得等を行っていない為、
このままでは集計対象行に按分結果をセットすることができない。
現行通りにするか、何かしらの対応が必要。
※現行通りにするのであれば、UC40020とUC40030の間のソート処理が配列に対して必要。

■2.構造体とワークテーブルに連番の項目が必要
コンソリ連番:コンソリKEY カウント
コンソリ明細連番オナジKEYデ
上記連番付与の為、集計処理をSQLで行う為に削除されたと思われるが、
UC40020Pから削除されたループ処理を復活させる必要がある。
※送り状マスタに項目が増える予定でその時に対応でも良いのですが、
処理の粒度が変わるので、先もって構造体とワークテーブルに項目を追加しておいたほうが
よいと思われます。
■3.UC40020PとUC40030Pを統合の認識齟齬がある
上記の通りの処理をしたとしても、処理のループは2回しないといけない為、
このままでは、ほとんど1クラスにした意味がないと思われる。
集約キーの1件目で集計を行い、
同じキーの間は集計データを元に按分 とかならループを1個に減らせて
1つのクラスにした意味が出てくると思われる。
(UC40030PのINデータのソートは集計行をKEYごとに先頭に持ってくるためと思われる。
連番の並び順は変わらない為、1ループにできると思われる。)
※岡崎さんも上記のような処理を想定していたことを確認しました。
ファイル