2018.05.10
 

RPGでF仕様書のUCを使い、プログラムでオープンクローズをコントロールする

Question

伝票発行のプログラムを作成しました。
一つの処理が終わる毎に伝票を発行したいのですが、該当のプログラムを終了させないと印刷が開始されません。都度、終了させてメニューに戻らずに印刷を行う事は可能でしょうか。

Answer

RPGのF仕様書でプリンターファイルを指定しますが、通常何も指定しないと、「ファイル条件」はブランクです。
ここの「ファイル条件」に「UC」と指定することで、プログラム内でオープンとクローズをコントロールすることができるようになります。 処理の前に該当のプリントファイルをオープンさせ、処理の後にクローズをします。 そうすることで、プリンターファイルで出来上がるスプールファイルがOPNから、RDYとなり、プログラムを終了しなくても、印刷することができます。

RPGで使用するファイルをコピーで置き換えるような時も、RPGでUCを使ってコントロールしていないと、

CPF3130
メッセージ . . : メンバー XXXXXX は既に使用中である。

と、エラーになってしまいます。

その場合は、RPG内で使用するファイルの置換えを無くす等、全体のロジックを見直して回避することも可能ですし、「ファイル条件」で「UC」を入れてコントロールするのも一つの手法と考えます。

大切なのはテクニックを駆使するよりも、後々の若い後輩達にも解り易く、メンテナンスが容易なロジックでコーデイングをすることだと思います。

ページトップ

ボタン