$QMOD – JES2 ジョブ・キュー内のジョブ・キュー・エレメントを変更する

$QMOD は、JES2 ジョブ・キューから変更されたジョブ・キュー・エレメントを除去し、 ジョブ・キュー・エレメントの優先順位に応じて、指定された論理キュー内のキュー上に 戻す場合に使用します。

フォーマット記述

注:
構文図を読む構文図をスキップする
>>-+--------+--$QMOD--+-element-addrx-+--+-,--queue-value-+----->
   '-symbol-'         '-(--Rn--)------'  '-,--(--Rn--)----'   

>--+----------+--+-------------------+-------------------------->
   '-,--ALONE-'  '-,--PCHANGE--=--OK-'   

                                                 .-NO--.   
>--+------------------------------+--,--KEEP--=--+-YES-+-------->
   |                 .-CHANGE---. |                        
   '-,--PRIORITY--=--+-NOCHANGE-+-'                        

>--+-----------------------+--+------------------+-------------->
   |               .-YES-. |  '-,--JCT--=--addrx-'   
   '-,--EXIT51--=--+-NO--+-'                         

>--+------------------------------+----------------------------->
   '-,--OLD_JOBCLASS--=--jobclass-'   

>--+------------------------------+----------------------------><
   '-,--OLD_SRVCLASS--=--srvclass-'   

element
変更された上で、JES2 ジョブ・キューにリキューされるエレメントのアドレスを 指定します。レジスター 1 が使用される場合は、このマクロ命令の実行前に、 アドレスがレジスター 1 にロードされる必要があります。
注: 戻される JQE は、実の場合も人工の場合も あります。
キュー
ジョブ・キュー・エレメントが置かれる論理キューを指定します。 この値は、常に論理キュー・タイプ 8 つのうちの 1 つである必要があります。 レジスター 0 が使用される場合は、このマクロ命令の実行前に、 これらの値のうちの 1 つがレジスター 0 にロードされる必要が あります。
ジョブ・キュー・エレメントに取り消しのフラグが立てられている場合は、キュー・ タイプ・オペランドは無視される可能性があります。結果の論理キューは、次の とおりです。
  • JQE1OCAN ビットはオン、JQE1PURG ビットはオフ。$XEQ の指定がある $QMOD は、 $OUTPUT に変更されます。
  • JQE1OCAN ビットはオフ、JQE1PURG ビットはオン。JQEJOECT およ び JQEHLDCT フィールドが 0 の $QMOD は、$PURGE に変更されます。JQEJOECT また は JQEHLDCT フィールドがゼロ以外の $QMOD は、$HARDCPY に変更されます。
重要:

$QMOD を発行するプロセッサーに $QSUSE を介した JQE の排他的所有権がない場合 は、$QMOD マクロ命令の結果は予測できないものになります。排他的所有権を保証する 手段の 1 つに、JQE $QGET または $QADD マクロ命令を介するか、$GETLOK マクロ命令を 使用して、JQE を取得する方法があります。

ALONE
移動後のエレメントに対応する使用中フラグが未変更のままになることを 示します。ALONE が指定されていない場合は、移動後のエレメントに対応する 使用中フラグはオフにされます。

キューが取得されたら、JES2 ジョブ・キューに すべての変更を施してからでないと、$WAIT マクロを 発行することはできません。$WAIT マクロの発行によって、プロセッサーがさらに キューを必要とすることはないことが暗黙指定されます。

PCHANGE=OK
別のキュー・タイプの方がより適切であることが判別された場合は、キュー・ タイプは $QMOD 論理によって無視される可能性があることを示します。キュー・タイプ の変更が行われる可能性があるときの例については、このマクロ の queue パラメーターの説明を参照してください。
PRIORITY=CHANGE|NOCHANGE
CHANGE は、$QMOD がジョブをキューに入れると、JES2 がそのジョブの優先順位 を変更できることを示します。これはデフォルトです。NOCHANGE は、$QMOD がジョブ をキューに入れたとき、そのジョブの優先順位は未変更のままであることを示します。

PRIORITY が CHANGE に設定されている場合は、ジョブがハードコピー・キューに入れ られると、ジョブの優先順位は 1 に設定されます。

KEEP=
YES または NO を指定します。オプションが有効なのは、JQE が人工 JQE の場合 だけです。KEEP=NO では、人工 JQE 用のメモリーを解放します。
EXIT51=YES|NO
EXIT51=YES である場合、ジョブが変更フェーズであるときに JES2 出口 51 が呼び出されることを示します。 EXIT51=NO である場合、出口の呼び出しが迂回されることを示します。デフォルトは YES です。
JCT
JCT のアドレスが JES2 出口 51 (ある場合) に渡されることを示します。 JCT を指定しなければ、JCT は出口に渡されません。
OLD_JOBCLASS=
ジョブが移動された元のキューに対応する 8 バイトのジョブ・クラスを指すポインターを指定します。
OLD_SRVCLASS=
ジョブが移動された元のキューに対応する 8 バイトのサービス・クラスを指すポインターを指定します。

実行環境