大きいジョブ番号の処理

Enterprise Developer バージョン 3.0 以降では、99999 を超えるジョブ番号がサポートされています。

プリンター出口ジョブ番号は spool.cpy コピーブックで処理されます。このコピーブックは、デフォルトでは %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\cpylib(Windows) または /opt/microfocus/EnterpriseDeveloper/cpylib(UNIX) ディレクトリにあります。

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