PRTFのソースファイルは何処にあるの?
Question
PRTFのソースファイルがどこにあるかを確認する方法はありますでしょうか。
弊社ではいくつかPRTFを用いて運用していますが前任者からそれらのオブジェクトに関しての引継ぎがなく、特に今回QGPLにQPRINT15という名前のPRTFを指定した帳票印刷のプログラムで印刷が出ない問題があり、このPRTFのDDSソース内容を確認したいと思っています。
このファイル自体が壊れているなら再コンパイルしてみようかと考えていますが、どうでしょうか...
Answer
PRTFのソースファイルの場所は、DSPOBJDコマンドで確認することが可能です。
例:
DSPOBJD OBJ(QGPL/QPRINT15) OBJTYPE(*FILE) DETAIL(*SERVICE)
では実際に確認してみましょう。
ソースファイルの欄には......記載がないですね。
わざわざ既存のQSYS/QPRINTと分けているので、何か指定しているはずです。
QPRINT15......15という値がひっかかりますね。
印刷装置ファイルでこの値は恐らくCPI(文字幅)ではないでしょうか。
でもソース変更なしにCPIは変更できるのかというと......
出来るんです!
実はPRTFは細かい指示をDDSで指定する以外に、大まかな印刷指示自体はCHGPRTFコマンドにて変更することが可能です。
恐らく今回のQPRINT15は、システム提供のQPRINTをコピーし値を一部変更したのでしょう。
CHGPRTFを入力しF4キーでプロンプトを表示したら、F9キーで追加パラメーターを表示します。
→次ページ以降も様々な変更パラメーターがございます。
では、今度はQPRINT15の記述内容を確認してみましょう。
CHGPRTFコマンドでも確認できますが、操作を誤って値を変更してしまわないように、今度はDSPFDコマンドを使います。
コマンド例:
DSPFD FILE(QGPL/QPRINT15)
数ページ表示される内容を確認し、
予想通り、CPIが15ですね、それに合わせてページサイズの幅も198になっているようです。
ソースファイルおよび設定値の確認方法は以上となります。
今回印刷が出なかったという事ですが、もしファイルの損傷があったとしても、中身の記述内容を参照されるだけなので、損傷によって内容を読み取れず印刷が失敗する可能性はそこまで高くないと考えられます。
物理ファイルなどでも、損傷しているが中身のデータは読めてしまうという事もあります。
印刷物が出ないときのトラブルシューティングについては、別の要因も考えられますので、詳細な情報を添えて改めてご相談ください。
by 大熊猫橋