マスタが索引順で、変更データが順編成の場合。ドライバも必要としないくらい簡単なアルゴリズムです。更新に際して種々のチェック等があると思いますが、訂正種別による振り分けをするところまでは共通なので、第一階層としてはここまでにしています。追加・修正の場合の[共通するチェック]等については、内容にもよりますが、別にした方が各モジュールの独立性が保たれでしょうね。
***** 索引順編成ファイル更新 ドライバ ***** [ISFDRV] (20 F10) * マスタf = 索引順ファイル データf = 順編成ファイル * ( ) 内に命令等を記述する procedure division. ********** [ 制御-module ] ********** open i-o (マスタf) input (データf) perform until (データf) 終了まで read (データf) end continue not end evaluate (訂正種別) when "A" perform 追加処理 thru 追加出口 when "M" perform 修正処理 thru 修正出口 when "D" perform 削除処理 thru 削除出口 when other perform err-処理 thru err-出口 end-evaluate end-read end-perform close (マスタf) (データf) stop run. ********** [ 機能-module ] ********** 追加処理. (追加処理). 追加出口. exit. 修正処理. (修正処理). 修正出口. exit. 削除処理. (削除処理). 削除出口. exit. err-処理. (err処理). err-出口. exit.