CL

186. CLPの印刷で失敗したら

先に紹介した「184.CLPで文字列を印刷するには?」で
CPF3482: コピー要求は正常に実行されなかった。スプール・ファイル
QSYSPRT はオープンされています。

のエラーが出る場合があることがわかった。
もちろんスプールは開いてなんかいないのにである。
いつものようにAIに相談してもハズレな答えばかりで
解決はない。
そこで次のようにDFRWRT(*NO) SPOOL(*NO)を付加して
スプールをしないように変更すると
見事に解決した。

             OVRPRTF    FILE(STDOUT) TOFILE(QPRINT) DFRWRT(*NO) +
                          SPOOL(*NO) HOLD(*YES) SECURE(*YES) +   
                          OVRSCOPE(*JOB) SHARE(*YES)             
             CALLPRC    PRC('printf') PARM((&MSG *BYREF))        
             DLTOVR     FILE(STDOUT) LVL(*JOB)  

印刷出力するプログラムを作ればよいのだが

・CLPなら手軽に印刷出力ができる。
・データの長さにかかわらず印刷ができる

との利点があるのでこのCLPによる印刷は便利で
今後も使いたいものである。