はじめまして、TABAと申します。現在、javaで作成したWebのシステムからCLを呼び出し、その中で作成したスプールをMRGAPWしています。MRGAPWする時にはTipics CL「50. バッチ印刷ジョブのジョブ番号を調べるには?」を参考にさせていただいています。その時、当社の環境では、QPRTJOBのJOBNOを取得しようとすると、以下のような重複JOBが存在している為、正しく取得できない現象が発生しています。 ジョブ ユーザー 番号 タイプ ----- 状況 ----- 入力されたシステム QPRTJOB QPGMR 027938 PRINT OUTQ 05/08/12 QPRTJOB QPGMR 288848 PRINT OUTQ 11/03/18 QPRTJOB QPGMR 353694 PRINT OUTQ 09/12/19 QPRTJOB QPGMR 717483 PRINT OUTQ 10/12/06 何か対応する方法はあるのでしょうか。アドバイス願います。
ご指摘のように同じユーザー・プロフィールに複数のJOB番号が発生してしまうのは OS の障害でありどちらかを削除すればよいのですが方法はまだ特定できていません。しかしご利用中の i5/OS が V5R2M0 以上であればAPI: QSPRILSP ( Retrieve Identify of Last Spool File Created )というAPI が公開されていますので、これを利用することができます。[例] CHGVAR VAR(%BIN(&RCVLEN)) VALUE(128) CALL PGM(QSPRILSP) PARM(&RCVDTA &RCVLEN + 'SPRL0100' &APIERR) CHGVAR VAR(&JOBNBR) VALUE(%SST(&RCVDTA 39 6))[参考]実際に弊社製品では OS を判断してし上記の QSPRILSP を利用しています。最新の CLP : PRTJOBNO を下記に配置致しましたのでご参照ください。http://218.44.135.18/QSYS.LIB/PGMRLIB.LIB/QCLSRC.FILE/PRTJOBNO.MBR
IKDさま回答ありがとうございます。OSは、5.3と5.4になりますので、「API:QSPRILSP」を使用して対応いたします。