Enterprise Developer バージョン 3.0 以降では、99999 を超えるジョブ番号がサポートされています。
プリンター出口ジョブ番号は spool.cpy コピーブックで処理されます。このコピーブックは、デフォルトでは %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\cpylib ディレクトリにあります。
99999 までのジョブ番号は ()-job-number フィールドに配置されます。
この値を超えるジョブ番号には ()-job-number-compx フィールドが使用されます。
ジョブ番号を報告するときに使用するフィールドを検出するには、()-job-number の値が数値かどうかをテストします。数値の場合は、()-job-number の内容を ()-job-nbr-disp に移動します。数値でない場合は、()-job-number-compx の内容を ()-job-nbr-disp に移動します。
この例は、sampprnx.cbl サンプル プリンター出口の print-processor section に含まれています。
*5 or 7 digit job number? if lk-job-number is numeric move lk-job-number to ws-job-nbr-disp else move lk-job-number-compx to ws-job-nbr-disp end-if move 1 to ws-srv-cmsg-size string " EXIT - Printer Printing for job number: " delimited by size ws-job-nbr-disp delimited by size into txt-buffer with pointer ws-srv-cmsg-size