ISGENQ — グローバル・リソース逐次化 ENQ サービス

説明

グローバル・リソースの逐次化 ENQ の OBTAIN 要求および RELEASE 要求のためのインターフェース

GRS ENQ サービス・ルーチンは、ISGENQ マクロから制御を受け取って以下の処理を実行します。
  • 装置予約が関連付けられているかまたは関連付けられていない単一または複数の ENQ を取得する。
  • 単一または複数の既存の ENQ を変更する。
  • 単一または複数の ENQ を解放する。
  • 取得要求をテストする。
このサービスは、ENQ、DEQ、および RESERVE に置き換えて使用されます。

環境

呼び出し側についての要件は、次のとおりです。

環境要因 要件
最低限の許可: 問題プログラム状態。 任意の PSW キー。

OWNINGTTOKEN、ENQMAX、 を使用する場合、あるいは指定する QNAME が許可された QNAME の 1 つである場合は、監視プログラム状態、PSW キー 0 から 7、または APF 許可のいずれかの権限が必要です。

注: 許可された呼び出し側が無許可の QNAME を使用して OBTAIN 要求を出した場合は、COND=YES であればその要求は認可されますが、警告戻りコードおよび理由 ISGENQRsn_UnprotectedQName が返されます。これは、無許可の呼び出し側が ENQ をブロックする可能性があり、しかも所有タスクで実行中の場合は ENQ を解放してしまう可能性さえあることを警告するものです。 COND=NO の場合、許可された呼び出し側は、無保護のリソースの ENQ を取得することはできません。
許可された QNAMES は以下のとおりです。
  • ADRDFRAG
  • ADRDSN
  • ARCENQG
  • BWODSN
  • SYSCTLG
  • SYSDSN
  • SYSIEA01
  • SYSIEECT
  • SYSIEFSD
  • SYSIGGV1
  • SYSIGGV2
  • SYSPSWRD
  • SYSVSAM
  • SYSVTOC
  • SYSZ*
ディスパッチ可能単位モード: タスク
仮想記憶間モード: すべての PASN、HASN、SASN についての注: 結果の ENQ は、ホーム・アドレス・スペース内の所有タスクに関連付けられます。
AMODE: 31 または 64 ビット・モード

AMODE 64 の場合は、このマクロを呼び出す前に SYSSTATE AMODE64=YES を指定する。

ASC モード: 基本またはアクセス・レジスター (AR) モード

アクセス・レジスター ASC モードの場合は、このマクロを呼び出す前に SYSSTATE ASCENV=AR を指定する。

割り込み状況: 入出力割り込みおよび外部割り込みが可能
ロック: 呼び出し側にロックがかかっていてはなりません。
制御パラメーター: 制御パラメーターは 1 次アドレス・スペースあるいは、AR モードの呼び出し側の場合、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) 上の共通項目を 介してアドレッシング可能な、アドレス / データ・スペースにある必要がある。

制御パラメーターは、呼び出し側と同一のキー内になければなりません。

指定する ECB は、呼び出し側のホーム・アドレス・スペース内にあるか、または共通域になければなりません。

所有タスク (現行タスクまたは OWNINGTTOKEN により指定されているタスク) の TCB は、呼び出し側のホーム・アドレス・スペース内になければなりません。

キャプチャーされた UCB アドレスを指定する場合は、そのキャプチャーされた UCB は呼び出し側のホーム・アドレス・スペース内になければなりません。

プログラミングの要件

呼び出し側は、戻りコードと理由コードを取得するために ISGYCON マクロを組み込む必要があります。

呼び出し側は、ISGYENQAA、ISGYENQRES、ISGYENQTOKEN、および ISGYENQRETURN テーブルのマッピングを得るために ISGYENQ マクロを組み込む必要があります。

z/OS MVS プログラミング:アセンブラー・サービス ガイド」の中の『インターロックの回避』を参照して、インターロックを回避するために必要なプロトコルに必ず従ってください。

制約事項

呼び出し側には、機能回復ルーチン (FRR) があってはなりません。

このマクロは、複数のバージョンをサポートしています。 一部のキーワードは、特定バージョンに固有のものです。 ,PLISTVER=IMPLIED_VERSIONのパラメーターの説明を参照してください。

入力レジスター情報

呼び出し側は、ISGENQ マクロを発行する前に、どの汎用レジスター (GPR) またはアクセス・レジスター (AR) にも何の情報も入れておく必要はありません。ただし、特定のパラメーターに関するレジスター表記の中でそのレジスターを使用する場合、またはそのレジスターを基底レジスターとして使用する場合を除きます。

出力レジスター情報

制御が呼び出し側に戻ったとき、GPR には次のものが入っています。
レジスター
内容
0
GPR15 が 0 でない場合、理由コード
1
システムが作業レジスターとして使用。
2-13
変更なし。
14
システムが作業レジスターとして使用。
15
戻りコード。
制御が呼び出し側に戻るとき、AR の内容は次のとおりです。
レジスター
内容
0-1
システムが作業レジスターとして使用。
2-13
変更なし。
14-15
システムが作業レジスターとして使用。

呼び出し側の中には、サービスを発行する前と後のレジスター内容が同じであることを前提とするものもあります。呼び出し側が依存するレジスターの内容をシステムが変更する場合には、呼び出し側は、サービスを出す前に、レジスターの内容を保管し、システムが制御を戻した後に、その内容を復元する必要があります。

パフォーマンスとの関係

なし。

構文

構文図を読む構文図をスキップする
主構文図

>>-+------+--b--ISGENQ--b--+-REQUEST--=--OBTAIN--|  |--+-------->
   '-name-'                +-REQUEST--=--CHANGE--|  |--+   
                           '-REQUEST--=--RELEASE--|  |-'   

   .-,--COND--=--NO--.                               
>--+-----------------+--+------------------------+-------------->
   '-,--COND--=--YES-'  '-,--RETCODE--=--retcode-'   

>--+------------------------+----------------------------------->
   '-,--RSNCODE--=--rsncode-'   

   .-,--PLISTVER--=--IMPLIED_VERSION-.   
>--+---------------------------------+-------------------------->
   +-,--PLISTVER--=--MAX-------------+   
   +-,--PLISTVER--=--1---------------+   
   '-,--PLISTVER--=--2---------------'   

   .-,--MF--=--S--------------------------------------.   
>--+--------------------------------------------------+--------><
   |                               .-,--0D---.        |   
   +-,--MF--=--(--L--,--list addr--+---------+--)-----+   
   |                               '-,--attr-'        |   
   |                               .-,--COMPLETE-.    |   
   '-,--MF--=--(--E--,--list addr--+-------------+--)-'   

構文図を読む構文図をスキップする
parameters-1

     .-,--TEST--=--NO-.                                                                                                 
>>-+-+----------------+--|  |---------------------------------------------------------------------------------------+-->
   |                                              .-,--ANSLEN--=--NO_ANSLEN-.  .-,--OWNINGTTOKEN--=--CURRENT_TASK-. |   
   '-,--TEST--=--YES--+------------------------+--+-------------------------+--+----------------------------------+-'   
                      '-,--ANSAREA--=--ansarea-'  '-,--ANSLEN--=--anslen----'  '-,--OWNINGTTOKEN--=--owningttoken-'     

     .-,--RESLIST--=--NO-.           
>--+-+-------------------+--|  |-+-----------------------------><
   '-,--RESLIST--=--YES--|  |----'   

構文図を読む構文図をスキップする
parameters-2

     .-,--RESLIST--=--NO-.                                                                                            
>>-+-+-------------------+--,--ENQTOKEN--=--enqtoken--------------------------------------------------------------+-->
   '-,--RESLIST--=--YES--,--NUMRES--=--numres--,--ENQTOKENTBL--=--enqtokentbl--+--------------------------------+-'   
                                                                               '-,--RETURNTABLE--=--returntable-'     

   .-,--OWNINGTTOKEN--=--CURRENT_TASK-.   
>--+----------------------------------+------------------------->
   '-,--OWNINGTTOKEN--=--owningttoken-'   

>--+-,--CONTROL--=--EXCLUSIVE-+--------------------------------><
   '-,--CONTROL--=--SHARED----'   

構文図を読む構文図をスキップする
parameters-3

     .-,--RESLIST--=--NO-.                                                                                            
>>-+-+-------------------+--,--ENQTOKEN--=--enqtoken--------------------------------------------------------------+-->
   '-,--RESLIST--=--YES--,--NUMRES--=--numres--,--ENQTOKENTBL--=--enqtokentbl--+--------------------------------+-'   
                                                                               '-,--RETURNTABLE--=--returntable-'     

   .-,--OWNINGTTOKEN--=--CURRENT_TASK-.   
>--+----------------------------------+------------------------><
   '-,--OWNINGTTOKEN--=--owningttoken-'   

構文図を読む構文図をスキップする
parameters-4

     .-,--CONTENTIONACT--=--WAIT-.  .-,--WAITTYPE--=--SUSPEND-----------------------------------------------------.     
>>-+-+---------------------------+--+-----------------------------------------------------------------------------+-+-->
   |                                |                                        .-,--OWNINGTTOKEN--=--CURRENT_TASK-. | |   
   |                                '-,--WAITTYPE--=--ECB--,--ECB@--=--ecb@--+----------------------------------+-' |   
   |                                                                         '-,--OWNINGTTOKEN--=--owningttoken-'   |   
   |                            .-,--OWNINGTTOKEN--=--CURRENT_TASK-.  .-,--ENQMAX -=--YES-.                         |   
   '-,--CONTENTIONACT--=--FAIL--+----------------------------------+--+-------------------+-------------------------'   
                                '-,--OWNINGTTOKEN--=--owningttoken-'  '-,--ENQMAX -=--NO--'                             

   .-,--USERDATA--=--NO_USERDATA-.   
>--+-----------------------------+-----------------------------><
   '-,--USERDATA--=--userdata----'   

構文図を読む構文図をスキップする
parameters-5

>>-,--QNAME--=--qname--,--RNAME--=--rname----------------------->

>--,--RNAMELEN--=--rnamelen------------------------------------->

>--+-,--CONTROL--=--EXCLUSIVE---------------------------+------->
   +-,--CONTROL--=--SHARED------------------------------+   
   '-,--CONTROL--=--VALUE--,--CONTROLVAL--=--controlval-'   

     .-,--RESERVEVOLUME--=--NO-.                                                    .-,--RNL--=--YES-.     
>--+-+-------------------------+--+-,--SCOPE--=--STEP----------------------------+--+----------------+-+-->
   |                              +-,--SCOPE--=--SYSTEM--------------------------+  '-,--RNL--=--NO--' |   
   |                              +-,--SCOPE--=--SYSTEMS-------------------------+                     |   
   |                              +-,--SCOPE--=--SYSPLEX-------------------------+                     |   
   |                              '-,--SCOPE--=--VALUE--,--SCOPEVAL--=--scopeval-'                     |   
   |                                             .-,--SYNCHRES--=--SYSTEM-.                            |   
   '-,--RESERVEVOLUME--=--YES--,--UCB@--=--ucb@--+------------------------+----------------------------'   
                                                 +-,--SYNCHRES--=--YES----+                                
                                                 '-,--SYNCHRES--=--NO-----'                                

>--,--ENQTOKEN--=--enqtoken------------------------------------><

構文図を読む構文図をスキップする
parameters-6

>>-,--NUMRES--=--numres--,--RESTABLE--=--restable--------------->

>--,--ENQTOKENTBL--=--enqtokentbl------------------------------->

>--+--------------------------------+--------------------------->
   '-,--RETURNTABLE--=--returntable-'   

   .-,--QNAME--=--DO_NOT_OVERRIDE-.   
>--+------------------------------+----------------------------->
   '-,--QNAME--=--qname-----------'   

   .-,--RNAME--=--DO_NOT_OVERRIDE-.   
>--+------------------------------+----------------------------->
   '-,--RNAME--=--rname-----------'   

   .-,--RNAMELEN--=--DO_NOT_OVERRIDE-.   
>--+---------------------------------+-------------------------->
   '-,--RNAMELEN--=--rnamelen--------'   

   .-,--CONTROL--=--DO_NOT_OVERRIDE-.   
>--+--------------------------------+--------------------------->
   +-,--CONTROL--=--EXCLUSIVE-------+   
   '-,--CONTROL--=--SHARED----------'   

   .-,--SCOPE--=--DO_NOT_OVERRIDE-.   
>--+------------------------------+----------------------------->
   +-,--SCOPE--=--STEP------------+   
   +-,--SCOPE--=--SYSTEM----------+   
   +-,--SCOPE--=--SYSTEMS---------+   
   '-,--SCOPE--=--SYSPLEX---------'   

   .-,--RNL--=--DO_NOT_OVERRIDE-.   
>--+----------------------------+------------------------------->
   +-,--RNL--=--YES-------------+   
   '-,--RNL--=--NO--------------'   

   .-,--UCB@--=--DO_NOT_OVERRIDE-.   
>--+-----------------------------+------------------------------>
   '-,--UCB@--=--ucb@------------'   

   .-,--SYNCHRES--=--DO_NOT_OVERRIDE-.   
>--+---------------------------------+-------------------------><
   +-,--SYNCHRES--=--SYSTEM----------+   
   +-,--SYNCHRES--=--YES-------------+   
   '-,--SYNCHRES--=--NO--------------'   

パラメーター

パラメーターの説明は、次のとおりです。

name
オプションのシンボル。これは 1 桁目から始まり、ISGENQ マクロ呼び出しの名前を表します。 名前は通常のアセンブラー言語シンボルの規則に従う必要があります。
,ANSAREA=ansarea
TEST=YES および REQUEST=OBTAIN が指定されている場合に、返された情報を入れる領域を示すオプションの出力パラメーター。 この領域は、ISGYENQ マクロ内の ISGYENQAA によってマップされるレコードのリストです。 RESLIST=YES の場合は、レコードは RESTABLE 内の要求と同じ順序になっています。 ANSAREA を指定する場合は、ANSLEN は必須です。

注: 応答域は、RC=0 または RC=4 の場合のみ返されます。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,ENQMAX=YES
,ENQMAX=NO
TEST=NO および REQUEST=OBTAIN が指定されている場合に、 ENQMAX 検査を行うかどうかを示すオプションのパラメーター。 このキーワードは、同時に実行できるリソース要求数の限度を超えているか確認するために検査を行うかどうかを、グローバル・リソースの逐次化に指示します。 デフォルトは ENQMAX=YES です。
,ENQMAX=YES
ENQMAX 検査を行うように指定します。 グローバル・リソースの逐次化がこの処理を実行できるようにする、デフォルトの ENQMAX=YES を使用することをお勧めしています。
,ENQMAX=NO
ENQMAX 検査を使用しないように指定します。 ホーム・アドレス・スペースから行われるリソース要求の同時実行の数に関係なく、優先すべきシステム・クリティカルな ENQ 要求がある場合は、ENQMAX=NO を使用してください。
注: ENQMAX=NO は、許可されたリクエスターのみが指定できるため、許可されたリクエスターの最大数のみを指定変更できます。

詳しくは、「z/OS MVS 計画: グローバル・リソース逐次化」を参照してください。

,ANSLEN=anslen
,ANSLEN=NO_ANSLEN
TEST=YES および REQUEST=OBTAIN が指定されている場合に、提供する応答域の長さを指示するオプションの入力パラメーター。 応答域は、個々の要求 (NUMRES で指定されている数、または RESLIST=NO の場合は 1) について、ISGYENQAA レコードおよび RNAME を 1 つずつ保留できる大きさを備えている必要があります。 1 つの RNAME を含めるために必要な領域の最大サイズは 256 バイトです。 ANSLEN を指定する場合は、ANSAREA は必須です。 デフォルトは NO_ANSLEN です。

コーディング: フルワード・フィールドのアドレスとして RS タイプ・アドレスまたはレジスター (2) から (12) の中のアドレスを指定するか、あるいはリテラルの 10 進数値を指定します。

,COND=NO
,COND=YES
処理が失敗した場合に要求をどのように扱うかを示すオプション・パラメーター。 デフォルトは COND=NO です。
,COND=NO
要求が失敗した場合に、ISGENQ が呼び出し側を異常終了させることを指示します。 COND=NO は、RETCODE、RSNCODE、RETURNTABLE、WAITTYPE=ECB、および TEST=YES と同時には使用できません。
,COND=YES
ISGENQ が常に呼び出し側に戻り、要求が成功したかどうかを戻りコードと理由コードで示すことを指示します。 COND=YES を指定する場合は、RETCODE および RSNCODE (および、RESLIST=YES の場合は RETURNTABLE) は必須キーワードです。

注: COND=YES の場合、ISGENQ は、処理中に発生したエラーについて戻りコードと理由コードを返そうとしますが、異常終了が発行されることもあります。

,CONTENTIONACT=WAIT
,CONTENTIONACT=FAIL
TEST=NO および REQUEST=OBTAIN が指定されている場合に、要求したリソースに対する競合が生じた場合に行うべき処置を示すオプション・パラメーター。

グローバル ENQ (システム) のみに変換されるわけではない予約要求 (UCB@ が指定されている場合) は、ENQ リソースとハードウェア予約で構成されます。 予約処理について詳しくは、,SYNCHRES=SYSTEMにある予約処理に関するキーワードの説明を参照してください。 デフォルトは CONTENTIONACT=WAIT です。

,CONTENTIONACT=WAIT
ENQ リソースが使用可能になるまで、および (該当する場合は) 同期予約入出力 (SYNCHRES を参照) が完了するまで、呼び出し側が待つことを示します。
,CONTENTIONACT=FAIL
ENQ リソースに対する競合がある場合は、ENQ 取得要求を取り消して呼び出し側に戻ることを示します。
注:
  • 要求全体のタイミングの設定方法として、CONTENTIONACT=WAIT に ECB@ を指定する場合の説明を参照してください。
  • 予約要求 (UCB@ が指定されている場合) では、ENQ リソースがいつでも最初に取得されます。 したがって、CONTENTIONACT=FAIL は、ENQ リソースに競合が生じている場合は要求全体を取り消すことを示します。 ただし、これはハードウェア予約の競合には適用されません。 ハードウェア予約の競合の管理またはタイミング設定方法については、CONTENTIONACT=WAIT に WAITTYPE=ECB を指定する場合の説明を参照してください。
,CONTROL=EXCLUSIVE
,CONTROL=SHARED
,CONTROL=VALUE
RESLIST=NO および REQUEST=OBTAIN が指定されている場合に、取得する ENQ の制御タイプを指示する必須パラメーター。 リソースがタスクの制御下にあるときに変更される場合は、要求は排他制御を必要とします。 リソースが変更されない場合は、要求は共用制御を必要とします。
,CONTROL=EXCLUSIVE
要求がリソースの排他制御を求めるものであることを指示します。
,CONTROL=SHARED
要求がリソースの共用制御を求めるものであることを指示します。
,CONTROL=VALUE
要求する制御を示す値を、ユーザーが CONTROLVAL キーワードに指定します。
,CONTROL=DO_NOT_OVERRIDE
,CONTROL=EXCLUSIVE
,CONTROL=SHARED
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、リソース・テーブル内で指定されているすべてのリソースに使用する制御のタイプを指示するオプション・パラメーター。 これは、リソース・テーブル内で指定されているすべての制御をオーバーライドします。 リソースがタスクの制御下にあるときに変更される場合は、要求は排他制御を必要とします。 リソースが変更されない場合は、要求は共用制御を必要とします。 デフォルトは CONTROL=DO_NOT_OVERRIDE です。
,CONTROL=DO_NOT_OVERRIDE
リソース・テーブル内で指定されている制御を使用することを指示します。
,CONTROL=EXCLUSIVE
すべての要求がリソースの排他制御を求めるものであることを指示します。
,CONTROL=SHARED
すべての要求がリソースの共用制御を求めるものであることを指示します。
,CONTROL=EXCLUSIVE
,CONTROL=SHARED
RESLIST=NO および REQUEST=CHANGE が指定されている場合、CONTROL は、ENQ の変更後の制御タイプを表すオプションのキーワード入力です。 リソースがタスクの制御下にあるときに変更される場合は、要求は排他制御を必要とします。リソースが変更されない場合は、要求は共用制御を必要とします。 RESLIST=YES が指定されている場合、リストにあるすべてのリソースは、指定されたスコープに変更されます。 デフォルトは CONTROL=EXCLUSIVE です。
,CONTROL=EXCLUSIVE
要求が、リソースの排他制御への変更を求めるものであることを示します。
,CONTROL=SHARED
要求が、リソースの共用制御への変更を求めるものであることを示します。
,CONTROLVAL=controlval
CONTROL=VALUE、RESLIST=NO および REQUEST=OBTAIN が指定されている場合に、必要な制御を指示する値を含む必須入力パラメーター。 指定する値は、ISGYENQ マクロの中で制御を示すために使用されている定数と等価でなければなりません。 (詳しくは、ISGYENQ マクロの中の ISGYENQ_kControl 定数の説明を参照してください。)

コーディング: 1 バイト・フィールドのアドレスとして、RS タイプ・アドレスまたはレジスター 2 から 12 の中のアドレスを指定します。

,ECB@=ecb@
WAITTYPE=ECB、CONTENTIONACT=WAIT、TEST=NO、および REQUEST=OBTAIN が指定されている場合に、要求されたリソースが取得されたときに通知する ECB のアドレスが入っている必須入力パラメーター。
ECB は次のいずれかの場所になければなりません。
  • 呼び出し側のホーム・アドレス・スペース
  • 共通スペース
  • 要求者が許可されていない場合は、要求者と同じストレージ・キー内

ISGENQ サービスが呼び出し側に戻ったとき、各リソースについて、タスクにそのリソースの制御権が与えられたか、それとも ECB が通知されるまで待つ必要があるかどうかが、戻りコードおよび理由コードに示されています。

ECB が通知されるとき、ECB には戻りコードと理由コードのペアが含まれています。 ビット 8 から 23 には理由コードの下位ハーフワードが含まれており、ビット 24 から 31 には戻りコードの下位バイトが含まれています。 RESLIST=NO 要求の場合は、ECB にはその要求の戻りコードと理由コードが含まれています。 RESLIST=YES 要求の場合は、ECB には全体的な戻りコードが含まれています。

コーディング: ポインター・フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,ENQTOKEN=enqtoken
RESLIST=NO および REQUEST=OBTAIN が指定されている場合に、ENQ を一意的に識別するトークンを示す必須出力パラメーター。 ENQTOKEN は、後続の REQUEST=RELEASE または CHANGE 呼び出しで、ENQ 要求を解放または変更するために使用されます。

コーディング: 32 文字フィールドのアドレスとして、RS タイプ・アドレスまたはレジスター 2 から 12 の中のアドレスを指定します。

,ENQTOKEN=enqtoken
RESLIST=NO および REQUEST=CHANGE が指定されている場合に、変更する ENQ の ENQ トークンを指示する必須入力パラメーター。

コーディング: 32 文字フィールドのアドレスとして、RS タイプ・アドレスまたはレジスター 2 から 12 の中のアドレスを指定します。

,ENQTOKEN=enqtoken
RESLIST=NO および REQUEST=RELEASE が指定されている場合に、解放する ENQ の ENQ トークンを示す必須入力パラメーター。

コーディング: 32 文字フィールドのアドレスとして、RS タイプ・アドレスまたはレジスター 2 から 12 の中のアドレスを指定します。

,ENQTOKENTBL=enqtokentbl
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、ENQ トークンのテーブルを示す必須出力パラメーター。 これは ISGYENQ マクロの中の ISGYENQToken によってマップされます。 REQUEST=OBTAIN によって取得した ENQ を解放しやすくするには、同じ ENQToken テーブルを REQUEST=RELEASE への入力として使用します。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,ENQTOKENTBL=enqtokentbl
RESLIST=YES および REQUEST=CHANGE が指定されている場合に、ENQ トークンのテーブルを示す必須入力パラメーター。 これは ISGYENQ マクロの中の ISGYENQToken によってマップされます。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,ENQTOKENTBL=enqtokentbl
RESLIST=YES および REQUEST=RELEASE が指定されている場合に、ENQ トークンのテーブルを指示する必須入力パラメーター。 これは ISGYENQ マクロの中の ISGYENQToken によってマップされます。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,MF=S
,MF=(L,list addr)
,MF=(L,list addr,attr)
,MF=(L,list addr,0D)
,MF=(E,list addr)
,MF=(E,list addr,COMPLETE)
マクロの形式を指定するオプションの入力パラメーター。

MF=S を使用して、インライン・パラメーター・リストを組み立て、サービス に制御を渡すためのマクロ呼び出しを生成するマクロの標準形式を指定します。 MF=S はデフォルトです。

MF=L を使用して、マクロのリスト形式を指定します。 再入可能コードを必要とするアプリケーションに対しては、マクロの実行形式と一緒にリ スト形式を使用します。 リスト形式は、実行形式がパラメーターを保管するために使用するストレージ域を定義します。 マクロのリスト形式でコーディングできるのは、PLISTVER パラメーターのみです。

MF=E を使用して、マクロの実行形式を指定します。 再入可能コードが必要 なアプリケーションには、実行形式をマクロのリスト形式と一緒に使用します。 マクロの実行形式は、リスト形式で定義されたストレージ域内にパラメーターを記憶し、マクロ呼び出しを生成してサービスに制御を渡します。

,list addr
パラメーターが入るストレージ域の名前。 MF=S と MF=E の場合は、これは RS タイプ・アドレス、または レジスター (1) から (12) に入れたアドレス。
,attr
オプションの 1 から 60 文字の入力ストリング。これを使用して、パラメーター・リストの 境界合わせを強制的に行います。 0F の値を使用して、強制的にパラメーター・リストをワード境界に合わせるか、0D を使用してダブルワード境界に合わせます。 attr をコーディングしない場合は、システムは 0D の値を提供します。
,COMPLETE
システムが必須パラメーターを検査し、省略したオプション・パラメーターに デフォルトを提供することを指定します。
,NUMRES=numres
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、リソース・テーブル内のリソース項目の数を示す必須入力パラメーター。 指定値は、1 から 2 の 16 乗 -1 (65535) の範囲で指定できます。

コーディング: ハーフワード・フィールドのアドレスとして RS タイプ・アドレスまたはレジスター (2) から (12) の中のアドレスを指定するか、あるいはリテラルの 10 進数値を指定します。

,NUMRES=numres
RESLIST=YES および REQUEST=CHANGE が指定されている場合に、ENQ トークン・テーブル内の ENQ トークンの数を示す必須入力パラメーター。 指定値は、1 から 2 の 16 乗 -1 (65535) の範囲で指定できます。

コーディング: ハーフワード・フィールドのアドレスとして RS タイプ・アドレスまたはレジスター (2) から (12) の中のアドレスを指定するか、あるいはリテラルの 10 進数値を指定します。

,NUMRES=numres
RESLIST=YES および REQUEST=RELEASE が指定されている場合に、ENQ トークン・テーブル内の ENQ トークンの数を示す必須入力パラメーター。 指定値は、1 から 2 の 16 乗 -1 (65535) の範囲で指定できます。

コーディング: ハーフワード・フィールドのアドレスとして RS タイプ・アドレスまたはレジスター (2) から (12) の中のアドレスを指定するか、あるいはリテラルの 10 進数値を指定します。

,OWNINGTTOKEN=owningttoken
,OWNINGTTOKEN=CURRENT_TASK
WAITTYPE=ECB、CONTENTIONACT=WAIT、TEST=NO、および REQUEST=OBTAIN が指定されている場合に、どのタスクについて ENQ を取得するかを示すタスク・トークン (TToken) を指示する、オプションの入力パラメーター。 TToken (タスク・トークン) は、呼び出し側のホーム・アドレス・スペース内のタスクを示していなければなりません。

注: RESERVEVOLUME=YES と同時には使用できません。 デフォルトは CURRENT_TASK です。

コーディング: 16 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,OWNINGTTOKEN=owningttoken
,OWNINGTTOKEN=CURRENT_TASK
CONTENTIONACT=FAIL、TEST=NO、および REQUEST=OBTAIN が指定されている場合に、どのタスクについて ENQ を取得するかを示すタスク・トークン (TToken) を指示する、オプションの入力パラメーター。 TToken (タスク・トークン) は、呼び出し側のホーム・アドレス・スペース内のタスクを示していなければなりません。

注: RESERVEVOLUME=YES と同時には使用できません。 デフォルトは CURRENT_TASK です。

コーディング: 16 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,OWNINGTTOKEN=owningttoken
,OWNINGTTOKEN=CURRENT_TASK
TEST=YES および REQUEST=OBTAIN が指定されている場合に、どのタスクについてテスト要求を実行するかを示すタスク・トークン (TToken) を指示する、オプションの入力パラメーター。 TToken (タスク・トークン) は、呼び出し側のホーム・アドレス・スペース内のタスクを示していなければなりません。

注: RESERVEVOLUME=YES と同時には使用できません。 デフォルトは CURRENT_TASK です。

コーディング: 16 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,OWNINGTTOKEN=owningttoken
,OWNINGTTOKEN=CURRENT_TASK
REQUEST=CHANGE が指定されている場合に、変更する ENQ を所有しているタスクのタスク・トークン (TToken) を示すオプションの入力パラメーター。 TToken (タスク・トークン) は、呼び出し側のホーム・アドレス・スペース内のタスクを示していなければなりません。 デフォルトは CURRENT_TASK です。

コーディング: 16 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,OWNINGTTOKEN=owningttoken
,OWNINGTTOKEN=CURRENT_TASK
REQUEST=RELEASE が指定されている場合に、解放する ENQ を所有しているタスクのタスク・トークン (TToken) を示すオプションの入力パラメーター。 TToken (タスク・トークン) は、呼び出し側のホーム・アドレス・スペース内のタスクを示していなければなりません。 デフォルトは CURRENT_TASK です。

コーディング: 16 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,PLISTVER=IMPLIED_VERSION
,PLISTVER=MAX
,PLISTVER=1
,PLISTVER=2
マクロのバージョンを指定する、オプションの入力パラメーター。 PLISTVER は、システムが生成するパラメーター・リストを示します。 PLISTVER は、マクロの形式すべて (リスト形式を含む) でオプションの入力パラメーターに なっています。 PLISTVER を使用する場合は、要求に対して使用するマクロ形式すべてで PLISTVER を指 定し、かつマクロ形式のすべてに同じ値を使って指定します。 その値は以下のとおりです。
  • IMPLIED_VERSION 要求で指定するパラメーターすべてを 処理することができる最下位のバージョンです。 PLISTVER パラメーターを指定しなかった場合は、IMPLIED_VERSION がデフォルトとなります。
  • MAX パラメーター・リストを、現在可能な最大サイズにした い場合に指定します。 このサイズは、リリースごとに大きくなる場合があり、またプログラムが必要とする記憶容量に影響する場合があります。

    サイズ変更が生じても構わないのであれば、IBM は、マクロのリスト形式では常に PLISTVER=MAX を指定することをお勧めします。 MAX を指定すると、両方の形式を同じレベルのシステムでアセンブルする場合、リスト形式のパラメーター・リストが常に実行形式に指定するパラメーターのすべてを入れるのに十分な長さになります。 このようにして、MAX は、パラメーター・リストが 隣接するストレージを上書きすることのないようにします。

  • 1 は、上位バージョンで明示的に指示されているものを除き、すべてのパラメーターをサポートすることを示します。
  • 2 は、パラメーター USERDATA とバージョン 1 からのパラメーターの両方をサポートします。
コーディング: 次のいずれかを指定します。
  • IMPLIED_VERSION
  • MAX
  • 10 進数値 1 または 2
,QNAME=qname
RESLIST=NO および REQUEST=OBTAIN が指定されている場合に、リソースの QNAME を示す必須入力パラメーター。 QNAME には、X'00' から X'FF' までの任意の文字を含めることができます。 ただし、機能領域を識別する固有の読み取り可能値か、または逐次化対象の中で上位にあるものが優先されます。 逐次再使用可能リソースに対する要求を出すすべてのプログラムでは、そのリソースを表記するときに同一の QNAME、RNAME、および有効範囲を使用する必要があります。 特定の文字の組み合わせ (SYSZ など) で始まる一部の名前は、発行元プログラムが監視プログラム状態、システム・キー、または APF 許可で実行されていることが必要な場合に使用されます。これによって、システム・リソースを保護することができます。 許可プログラムは、無許可のプログラムからの干渉を防ぐために、制限付き QNAME を使用する必要があります (このサービスの環境セクションにある最低限の権限の説明を参照してください)。

QNAME (大分類名とも言う)、RNAME (小分類名とも言う)、ENQ 名、DEQ 名、および ENQ または DEQ を発行するリソースのリストについては、「z/OS MVS 診断: 解説書」を参照してください。

コーディング: 8 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,QNAME=qname
,QNAME=DO_NOT_OVERRIDE
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、リソース・テーブル内のすべてのリソースに使用する共通の QNAME を示すオプションの入力パラメーター。 これは、リソース・テーブル内で指定されているすべての QNAME をオーバーライドします。 QNAME には、X'00' から X'FF' までの任意の文字を含めることができます。 ただし、機能領域を識別する固有の読み取り可能値か、または逐次化対象の中で上位にあるものが優先されます。 逐次再使用可能リソースに対する要求を出すすべてのプログラムでは、そのリソースを表記するときに同一の QNAME、RNAME、および有効範囲を使用する必要があります。 特定の文字の組み合わせ (SYSZ など) で始まる一部の名前は、発行元プログラムが監視プログラム状態、システム・キー、または APF 許可で実行されていることが必要な場合に使用されます。これによって、システム・リソースを保護することができます。 許可プログラムは、無許可のプログラムからの干渉を防ぐために、制限付き QNAME を使用する必要があります (このサービスの環境セクションにある最低限の権限の説明を参照してください)。

QNAME (大分類名とも言う)、RNAME (小分類名とも言う)、ENQ 名、DEQ 名、および ENQ または DEQ を発行するリソースのリストについては、「z/OS MVS 診断: 解説書」を参照してください。

デフォルトは DO_NOT_OVERRIDE です。

コーディング: 8 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

REQUEST=OBTAIN
REQUEST=CHANGE
REQUEST=RELEASE
ISGENQ 要求のタイプを示す必須パラメーター。
REQUEST=OBTAIN
リソースの ENQ を取得する要求であることを示します。
REQUEST=CHANGE
ENQ の状況を共用制御から排他制御に変更する要求であることを示します。
REQUEST=RELEASE
リソースの ENQ を解放 (デキュー) する要求であることを示します。
,RESERVEVOLUME=NO
,RESERVEVOLUME=YES
RESLIST=NO および REQUEST=OBTAIN が指定されている場合に使用するオプション・パラメーター。 デフォルトは RESERVEVOLUME=NO です。
,RESERVEVOLUME=NO
通常の ENQ 取得要求を発行し、予約要求は発行しないことを指示します。
,RESERVEVOLUME=YES
ENQ リソースを取得した後で、指定された装置 (共用 DASD) に対する予約要求を発行することを示します。

注: RESERVEVOLUME=YES は OWNINGTTOKEN と同時には使用できません。

,RESLIST=NO
,RESLIST=YES
REQUEST=OBTAIN が指定されている場合に使用するオプション・パラメーター。デフォルトは RESLIST=NO です。
,RESLIST=NO
単一のリソースについて ENQ を取得することを指示します。
,RESLIST=YES
リソース・テーブルに指定されている複数のリソースについて ENQ を取得することを指示します。 リスト内に複数の要求を指定した場合、それらの要求は他の ISGENQ 要求に関しても自動的に処理されます。 ただし、要求が処理される順序は予測不能です。 各要求は独立した要求として扱われるので、COND=YES を指定した場合は、各要求について戻りコードを確認する必要があります。

注: ENQ のリストを解放するための簡単な方法は、OBTAIN 要求からの出力 ENQTOKEN テーブルを RELEASE 要求への入力として使用することです。

,RESLIST=NO
,RESLIST=YES
REQUEST=CHANGE が指定されている場合に使用するオプション・パラメーター。デフォルトは RESLIST=NO です。
,RESLIST=NO
単一 ENQ の制御を変更することを指示します。
,RESLIST=YES
複数の ENQ の制御を変更することを指示します。
,RESLIST=NO
,RESLIST=YES
REQUEST=RELEASE が指定されている場合に使用するオプション・パラメーター。デフォルトは RESLIST=NO です。
,RESLIST=NO
単一の ENQ の RELEASE 要求を示します。
,RESLIST=YES
複数の ENQ の処理方法を変更することを指示します。

注: ENQ のリストを解放するための簡単な方法は、OBTAIN 要求からの出力 として得た ENQTOKEN テーブルを RELEASE 要求への入力として使用することです。

,RESTABLE=restable
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、複数の ENQ 要求を指定しているテーブルを指示する必須入力パラメーター。 リソース・テーブルは、ISGYENQ マクロの中の ISGYENQRes によってマップされます。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,RETCODE=retcode
オプションの出力パラメーター。これに戻りコードが GPR 15 からコピーされます。 15、GPR15、REG15、または R15 (括弧を付けても付けなくても) を指定すると、値が GPR 15 の中に残ります。

コーディング: フルワード・フィールドのアドレスとして、RS タイプ・アドレスを指定するか、レジスター (2) から (12)、(15)、(GPR15)、(REG15)、または (R15) を指定します。

,RETURNTABLE=returntable
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、戻りコードと理由コードを入れるテーブルを示すオプションの出力パラメーター。 これは ISGYENQ マクロの中の ISGYENQReturn によってマップされます。 戻りテーブルが有効なのは、RSNCODE に ISGENQRsn_NonZeroReturnCodes が返される場合のみです。 これは COND=NO と同時には使用できません。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,RETURNTABLE=returntable
RESLIST=YES および REQUEST=CHANGE が指定されている場合に、戻りコードと理由コードを入れるテーブルを示すオプションの出力パラメーター。 これは ISGYENQ マクロの中の ISGYENQReturn によってマップされます。 戻りテーブルが有効なのは、RSNCODE に ISGENQRsn_NonZeroReturnCodes が返される場合のみです。 これは COND=NO と同時には使用できません。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,RETURNTABLE=returntable
RESLIST=YES および REQUEST=RELEASE が指定されている場合に、戻りコードと理由コードを入れるテーブルを示すオプションの出力パラメーター。 これは ISGYENQ マクロの中の ISGYENQReturn によってマップされます。 戻りテーブルが有効なのは、RSNCODE に ISGENQRsn_NonZeroReturnCodes が返される場合のみです。 これは COND=NO と同時には使用できません。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,RNAME=rname
RESLIST=NO および REQUEST=OBTAIN が指定されている場合に、リソースの RNAME を示す必須入力パラメーター。 RNAME は 1 バイトから 255 バイトまでの長さでなければならず、X'00' から X'FF' までの任意の 16 進文字をこの名前に含めることができます。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,RNAME=rname
,RNAME=DO_NOT_OVERRIDE
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、リソース・テーブル内のすべてのリソースに使用する共通の RNAME を示すオプションの入力パラメーター。 これは、リソース・テーブル内で指定されているすべての RNAME をオーバーライドします。 RNAME は 1 バイトから 255 バイトまでの長さでなければならず、X'00' から X'FF' までの任意の 16 進文字をこの名前に含めることができます。 デフォルトは DO_NOT_OVERRIDE です。

コーディング: 文字フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,RNAMELEN=rnamelen
RESLIST=NO および REQUEST=OBTAIN が指定されている場合に、指定した RNAME の長さを示す必須入力パラメーター。 1 から 255 までの範囲内で長さを指定できます。

コーディング: 1 バイト・フィールドのアドレスとして、RS タイプ・アドレスまたはレジスター 2 から 12 の中のアドレスを指定します。

,RNAMELEN=rnamelen
,RNAMELEN=DO_NOT_OVERRIDE
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、リソース・テーブル内のすべての RNAME に使用する共通の長さを示すオプションの入力パラメーター。ただし、共通 RNAME が指定されている場合は、この長さはその共通 RNAME の長さです。 1 から 255 までの範囲内で長さを指定できます。 これは、リソース・テーブル内で指定されているすべての RNAME の長さをオーバーライドします。 デフォルトは DO_NOT_OVERRIDE です。

コーディング: 1 バイト・フィールドのアドレスとして、RS タイプ・アドレスまたはレジスター 2 から 12 の中のアドレスを指定します。

,RNL=YES
,RNL=NO
RESERVEVOLUME=NO、RESLIST=NO、および REQUEST=OBTAIN が指定されている場合に、グローバル・リソースの逐次化のリソース名リスト (RNL) 処理または動的出口によって有効範囲を変更できるかどうかを示すオプション・パラメーター。 デフォルトは RNL=YES です。
,RNL=YES
グローバル・リソース逐次化の RNL 処理を使用することを指示します。この場合は、リソースの有効範囲が変更される可能性があります。 グローバル・リソースの逐次化が RNL 処理を実行できるようにする、デフォルトの RNL=YES を使用することをお勧めしています。
,RNL=NO
グローバル・リソース逐次化の RNL 処理を使用しないことを指示します。 リソースの有効範囲は、RNL でも動的出口でも変更されません。 グローバル・リソースの逐次化により、指定した有効範囲のみを使用して要求が処理されるようにしたい場合に限り、RNL=NO を使用してください。RNL=NO を指定した場合は、代替の逐次化製品では ENQ 要求が無視されることがあります。
,RNL=DO_NOT_OVERRIDE
,RNL=YES
,RNL=NO
RESLIST=YES および REQUEST=OBTAIN が指定されている場合に、グローバル・リソースの逐次化のリソース名リスト (RNL) 処理または動的出口によって有効範囲を変更できるかどうかを示すオプション・パラメーター。 これは、リソース・テーブル内で指定されているすべての RNL 処理をオーバーライドします。 デフォルトは RNL=DO_NOT_OVERRIDE です。
,RNL=DO_NOT_OVERRIDE
リソース・テーブル内の RNL 指定を使用することを指示します。
,RNL=YES
グローバル・リソース逐次化の RNL 処理を使用することを指示します。この場合は、リソースの有効範囲が変更される可能性があります。 グローバル・リソースの逐次化が RNL 処理を実行できるようにする、デフォルトの RNL=YES を使用することをお勧めしています。
,RNL=NO
グローバル・リソース逐次化の RNL 処理を使用しないことを指示します。 リソースの有効範囲は、RNL でも動的出口でも変更できません。 グローバル・リソースの逐次化により、指定した有効範囲のみを使用して要求が処理されるようにしたい場合に限り、RNL=NO を使用してください。RNL=NO を指定した場合は、代替の逐次化製品では ENQ 要求が無視されます。
,RSNCODE=rsncode
GPR 0 からコピーされた理由コードを入れる、オプションの出力パラメーター。0、00、GPR0、GPR00、REG0、REG00、または R0 を (括弧を付けても付けなくても) 指定すると、値が GPR 0 の中に残ります。

コーディング: フルワード・フィールドの RS タイプ・アドレスを指定するか、または、レジスター (0)、(2) から (12)、(00)、(GPR0)、(GPR00)、(REG0)、(REG00)、または (R0) を指定します。

,SCOPE=STEP
,SCOPE=SYSTEM
,SCOPE=SYSTEMS
,SCOPE=SYSPLEX
,SCOPE=VALUE
RESERVEVOLUME=NO、RESLIST=NO および REQUEST=OBTAIN が指定されている場合に、リソースの有効範囲を指示する必須パラメーター。
,SCOPE=STEP
リソースを 1 つのアドレス・スペース内でのみ逐次化することを指示します。 STEP を指定した場合は、別のアドレス・スペース内のプログラムからの同じ QNAME および RNAME に対する要求は別のリソースを意味します。
,SCOPE=SYSTEM
リソースを 1 つのシステム内のすべてのアドレス・スペースにわたって逐次化することを指示します。
,SCOPE=SYSTEMS
GRS 用のスター型またはリング型の複合システム内で、すべてのシステムにわたってリソースを逐次化することを指示します。
,SCOPE=SYSPLEX
GRS スター型シスプレックスまたは GRS リング内で、すべてのシステムにわたってリソースを逐次化することを指示します。 (有効範囲 SYSTEMS と同じです。)
,SCOPE=VALUE
要求する範囲を示す値を、ユーザーが SCOPEVAL キーワードに指定します。
,SCOPE=DO_NOT_OVERRIDE
,SCOPE=STEP
,SCOPE=SYSTEM
,SCOPE=SYSTEMS
,SCOPE=SYSPLEX
RESLIST=YES および REQUEST=OBTAIN が指定されている場合は、リソース・テーブル内のすべてのリソースに適用する有効範囲を指示するオプション・パラメーター。 これは、リソース・テーブル内で指定されているすべての有効範囲をオーバーライドします。 デフォルトは SCOPE=DO_NOT_OVERRIDE です。
,SCOPE=DO_NOT_OVERRIDE
リソース・テーブル内で指定されている有効範囲を使用することを指示します。
,SCOPE=STEP
リソースを 1 つのアドレス・スペース内でのみ逐次化することを指示します。 STEP を指定した場合は、別のアドレス・スペース内のプログラムからの同じ QNAME および RNAME に対する要求は別のリソースを意味します。
,SCOPE=SYSTEM
リソースを 1 つのシステム内のすべてのアドレス・スペースにわたって逐次化することを指示します。
,SCOPE=SYSTEMS
GRS 用のスター型またはリング型の複合システム内で、すべてのシステムにわたってリソースを逐次化することを指示します。
,SCOPE=SYSPLEX
GRS スター型シスプレックスまたは GRS リング内で、すべてのシステムにわたってリソースを逐次化することを指示します。 (有効範囲 SYSTEMS と同じです。)
,SCOPEVAL=scopeval
SCOPE=VALUE、RESERVEVOLUME=NO、RESLIST=NO および REQUEST=OBTAIN が指定されている場合に、必要な有効範囲を示す値が入っている必須入力パラメーター。 指定する値は、ISGYENQ マクロの中で有効範囲を示すために使用されている定数と等価でなければなりません。 (詳しくは、ISGYENQ マクロの中の ISGYENQ_ 定数の説明を参照してください。)

コーディング: 1 バイト・フィールドのアドレスとして、RS タイプ・アドレスまたはレジスター 2 から 12 の中のアドレスを指定します。

,SYNCHRES=SYSTEM
,SYNCHRES=YES
,SYNCHRES=NO
RESERVEVOLUME=YES、RESLIST=NO、および REQUEST=OBTAIN が指定されている場合は、要求が同期予約を発行するかどうかを指定するオプション・パラメーター。 同期予約では、最初の使用時まで待たずに、ただちにボリュームが予約されます。

CONTENTIONACT=WAIT, WAITTYPE=ECB 予約要求 (UCB@ を指定) を指定すると、ENQ リソースに競合が生じた場合、またはリソースに競合がなくても入出力予約が同期的に行われた場合は、RC=4 (ISGENQRc_Warn), RSC=0403 (ISGENQRsn_ECBWillBePosted) が返されます。 デフォルトは SYNCHRES=SYSTEM です。

,SYNCHRES=SYSTEM
インストール・システムのデフォルトの SYNCHRES 設定を使用することを指示します。
,SYNCHRES=YES
同期予約を発行することを指示します。 ハードウェア予約 (これはグローバル/システム ENQ には変換されません) が実行される場合は、ISGENQ 要求が正常に完了した時点で、入出力予約の完了が呼び出し側に通知されます。
,SYNCHRES=NO
可能な場合には同期予約の発行を回避することを指示します。 一部の装置では、この設定に関係なく、予約を同期的に実行することが必要な場合があります。 入出力予約が同期的に行われない場合は、予約要求の発行後に装置に対する最初の入出力が実行される時点で、予約が実行されます。 詳しくは、z/OS MVS 計画: グローバル・リソース逐次化を参照してください。
,SYNCHRES=DO_NOT_OVERRIDE
,SYNCHRES=SYSTEM
,SYNCHRES=YES
,SYNCHRES=NO
RESLIST=YES および REQUEST=OBTAIN が指定されている場合は、リソース・テーブル内で指定されているすべての要求が同期予約を発行するかどうかを指定するオプションのオプション・パラメーター。 これは、リソース・テーブル内で指定されているすべての SYNCHRES をオーバーライドします。 同期予約では、最初の使用時まで待たずに、ただちにボリュームが予約されます。 デフォルトは SYNCHRES=DO_NOT_OVERRIDE です。
,SYNCHRES=DO_NOT_OVERRIDE
リソース・テーブル内で指定されている SYNCHRES を使用することを指示します。
,SYNCHRES=SYSTEM
システムのデフォルト設定を使用することを指示します。
,SYNCHRES=YES
同期予約を発行することを指示します。 ハードウェア予約 (これはグローバル/システム ENQ には変換されません) が実行される場合は、要求が正常に完了した時点で、入出力予約の完了が呼び出し側に通知されます。
,SYNCHRES=NO
可能な場合には同期予約の発行を回避することを指示します。 一部の装置では、この設定に関係なく、予約を同期的に実行することが必要な場合があります。 入出力予約が同期的に行われない場合は、予約要求の発行後に装置に対する最初の入出力が実行される時点で、予約が実行されます。 詳しくは、「z/OS MVS 計画: グローバル・リソース逐次化」を参照してください。
,TEST=NO
,TEST=YES
REQUEST=OBTAIN が指定されている場合に使用するオプション・パラメーター。 デフォルトは TEST=NO です。
,TEST=NO
テスト要求ではないことを示します。 ENQ を取得する必要があります。
,TEST=YES
テスト要求であることを示します。 ENQ を取得してはなりません。 このパラメーター設定を使用すると、指定された取得要求の処理方法。および現行タスクや OWNINGTTOKEN で指定されたタスクによって現在リソースがどのように保持されているかに関する情報を取得できます。

これは COND=NO と同時には使用できません。

指定されたリソースと一致する要求がすでに同一のタスクから出ている場合は、その要求の ENQToken が返されます。

未解決の ENQ 要求に関する情報については、ISGQUERY SEARCH=BY_ENQTOKEN を参照してください。

次の戻りコードと理由コードを使用すると、リソースが使用可能かどうか、および OWNINGTTOKEN タスクでリソースがどのように保持されるかを判別できます。
  • ISGENQRc_ok
  • ISGENQRsn_NotImmediatelyAvailable
  • ISGENQRsn_TaskOwnsExclusive
  • ISGENQRsn_TaskOwnsShared
  • ISGENQRsn_TaskWaiting
,UCB@=ucb@
RESERVEVOLUME=YES、RESLIST=NO、および REQUEST=OBTAIN が指定されている場合は、予約する装置用の UCB のアドレスが入る必須入力パラメーター。 無許可の呼び出し側の場合は、ISGENQ RESERVEVOLUME(YES) を発行する前に、ジョブ・ステップに UCB を割り振る必要があります。

注: 許可された呼び出し側は、ISGENQ を呼び出す前に UCB をジョブ・ステップに割り振る必要はありませんが、動的入出力再構成要求に対して UCB を逐次化する必要があります。 呼び出し側は、UCB の割り振りまたは固定 (pin) を行うことによって、この逐次化を達成できます。 この逐次化を行えば、ISGENQ マクロが UCB のアドレスを使用する前に、動的入出力再構成要求によってその UCB が削除または再使用されないようにすることができます。

コーディング: ポインター・フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,UCB@=ucb@
,UCB@=DO_NOT_OVERRIDE
RESLIST=YES および REQUEST=OBTAIN が指定されている場合は、リソース・テーブル内のすべてのリソース用に予約する装置の UCB@ のアドレスが入っているオプションの入力パラメーター。 これは、リソース・テーブル内で指定されているすべての UCB アドレスをオーバーライドします。 デフォルトは DO_NOT_OVERRIDE です。

コーディング: ポインター・フィールドの RS タイプ・アドレス、またはレジスター (2) から (12) に入れたアドレスを指定します。

,USERDATA=userdata
,USERDATA=NO_USERDATA
TEST=NO および REQUEST=OBTAIN が指定されている場合に、この要求に関連付けるユーザー・データを含むオプションの入力パラメーター。 USERDATA をフィルターとして使用する方法、または要求に対して ISGQUERYから USERDATA を返す方法については、ISGQUERY — グローバル・リソース逐次化照会サービスを参照してください。

GRS は、USERDATA の内容を考慮しないことに注意してください。 QNAME、RNAME、および SCOPE パラメーターと異なり、USERDATA は、論理的に逐次化されたリソース ID の定義においては意味をなしません。 例えば、ユーザー・データが異なっていても、同じ QNAME、RNAME、および SCOPE が指定されている排他的要求は、互いに競合します。

この要求では、バージョン 2 のパラメーター・リストが必要です。 デフォルトは、NO_USERDATA です。

コーディング: 32 文字フィールドのアドレスとして、RS タイプ・アドレスまたはレジスター 2 から 12 の中のアドレスを指定します。

,WAITTYPE=SUSPEND
,WAITTYPE=ECB
CONTENTIONACT=WAIT、TEST=NO、および REQUEST=OBTAIN が指定されている場合に、呼び出し側が待つ方法を示すオプション・パラメーター。 デフォルトは、WAITTYPE=SUSPEND です。
,WAITTYPE=SUSPEND
要求全体が完了するまで、現行タスクを中断することを示します。
,WAITTYPE=ECB
ENQ リソースの競合が生じている場合、または装置予約が同期的に行われる場合 (,SYNCHRES=SYSTEMを参照) に、呼び出し側に戻り、要求が完了した時点で ECB を通知することを示します。

これは COND=NO と同時には使用できません。

WAITTYPE=ECB を、ECB に対するタイマー設定と組み合わせて使用することで、ENQ 競合または同期予約が完了するまで待つ時間を制御できます。 この時間が満了するまでに要求が完了しなかった場合は、次の処置をとることができます。
  • ISGECA サービスと ISGQUERY サービスを使用して、要求とそれに関連するリソースの全体的な状態を調べる。
  • ISGENQ REQUEST=RELEASE 要求を使用して、要求を取り消す。

異常終了コード

REQUEST=OBTAIN および REQUEST=CHANGE 要求の場合、呼び出し側に異常終了コード X'138'、X'238'、X'338'、X'438'、X'538'、X'638'、X'738'、X'838'、または X'938' が返されることがあります。

REQUEST=RELEASE 要求の場合、呼び出し側に異常終了コード X'130'、X'230'、X'330'、X'430'、X'530'、X'630'、X'730'、X'830'、または X'930' が返されることがあります。

これらのコードの説明と応答については、「z/OS MVS システム・コード」を参照してください。

ABEND 理由コードは、表 1 にリストされているのと同じ理由コードに対応している点に注意してください。

戻りコードおよび理由コード

ISGENQ マクロがユーザー・プログラムに制御を返すときに、次のことが起こります。
  • GPR 15 と retcode (RETCODE をコーディングしている場合) には 戻りコードが入っています。
  • GPR 15 の値が 0 でない場合は、GPR 0 と rsncode (RSNCODE をコーディングした場合) には 理由コードが入ります。

ISGYCON マクロは、戻りコードおよび理由コードの同等シンボルを提供します。

以下の表に戻りコードと理由コード (16 進数) およびそれぞれの理由コード に関連する同等シンボルを示します。 IBM は値 xxxx をサポートしています。ここでの xxxx は 4 桁の 16 進数字を表しています。 値 xxxx が 16 進数の「E0F2」の場合、ISGNQXITBATCH または ISGNQXITBATCHCND 出口で設定された理由コードを示す点に注意してください。

表 1. ISGENQ マクロの戻りコードおよび理由コード
戻りコード 理由コード 同等シンボルの意味と処置
00 同等シンボル: ISGENQRc_OK

意味: ISGENQ 要求は正常に完了しました。 要求のタイプに応じて、ENQ は正常に取得されたか、排他制御に変更されたか、または解放されました。 RESLIST=YES が指定されている場合は、すべての ENQ の取得要求、変更要求、および解放要求が成功します。 REQUEST=OBTAIN、TEST=YES の場合、リソースはただちに使用可能になります。

処置: 必要なし。

04 同等シンボル: ISGENQRc_Warn

意味: 警告

処置: 個々の理由コードに対する処置を参照してください。

04 xxxx0401 同等シンボル: ISGENQRsn_NonZeroReturnCodes

意味: RESLIST=YES 要求で、1 つ以上の項目についてゼロ以外の戻りコードが返されました。 リストの個々の要求について、戻りテーブルに戻りコードと理由コードが入っています。

処置: RETURNTABLE に返された戻りコードと理由コードを参照してください。

04 xxxx0402 同等シンボル: ISGENQRsn_RequestNotProcessed

意味: RESLIST=YES 要求の場合。 RESTABLE 内の他の要求のいずれかが失敗したために、この要求は処理されませんでした。 RESTABLE 内の要求は、必ずしも RESTABLE に配置された順序で処理されるわけではないことに注意してください。 注: この理由コードは、RSNCODE キーワードに入れず、RETURNTABLE のみに入れて返されます。

処置: RETURNTABLE 内の他のすべての要求についての戻りコードと理由コードを調べて、問題を判別してください。

04 xxxx0403 同等シンボル: ISGENQRsn_ECBWillBePosted

意味: REQUEST=OBTAIN CONTENTIONACT=WAIT WAITTYPE=ECB の場合、OBTAIN 要求は成功しましたが、ENQ リソースがすぐに使用可能でなかったか、または入出力予約を同期的に実行 (SYNCHRES) する必要がありました。 要求したすべてのリソースを指定されたタスクが所有している場合、またはエラーが発生した場合は、ECB が通知されます。 要求の ENQToken が返されています。

処置: 要求したリソースを使用する前に、ECB で待機し、ECB の中の戻りコードを調べてください。

04 xxxx0404 同等シンボル: ISGENQRsn_NotImmediatelyAvailable

意味: リソースの ENQ はすぐに使用可能になりませんでした。 REQUEST=OBTAIN CONTENTIONACT=FAIL の場合、要求したリソースは取得されていません。 REQUEST=OBTAIN TEST=YES の場合、ホルダーは OWNINGTTOKEN 以外のタスクです。

処置: 処置は不要です。

04 xxxx0405 同等シンボル: ISGENQRsn_TaskOwnsExclusive

意味: TEST=YES を含めて、REQUEST=OBTAIN の場合は、OWNINGTTOKEN で指定された所定のタスクが、指定されたリソースを排他的に所有しています。 所有している要求の ENQToken が返されています。

処置: 処置は不要です。

04 xxxx0406 同等シンボル: ISGENQRsn_TaskOwnsShared

意味: TEST=YES を含めて、REQUEST=OBTAIN の場合は、OWNINGTTOKEN で指定された所定のタスクが、指定された共用リソースを所有しています。 所有している要求の ENQToken が返されています。

処置: 処置は不要です。

04 xxxx0407 同等シンボル: ISGENQRsn_TaskWaiting

意味: TEST=YES を含めて、REQUEST=OBTAIN の場合は、OWNINGTTOKEN で指定された所定のタスクが、指定されたリソースの制御を待機中です。 待ち要求の ENQToken が返されています。

処置: 処置は不要です。

04 xxxx0409 同等シンボル: ISGENQRsn_OtherSharedOwners

意味: REQUEST=CHANGE の場合。 制御を排他制御に変更することができません。 このリソースについてはほかにも共用所有者が存在します。

処置: 処置は不要です。

04 xxxx040A 同等シンボル: ISGENQRsn_TaskDoesNotOwn

意味: REQUEST=CHANGE の場合。 制御を排他制御に変更することができません。 このタスクはまだ該当リソースを所有していません。

処置: 処置は不要です。

04 xxxx040B 同等シンボル: ISGENQRsn_TaskSuspendedForResource

意味: REQUEST=RELEASE の場合。 ENQ の取得を要求したタスクは、まだ該当リソースの制御を割り当てられていません。このタスクは待機し続け、リソースは解放されません。 (割り込みが原因で制御を受け取った出口ルーチンが、タスクに代わって RELEASE 要求を出した場合に、この理由コードが返されることがあります。)

処置: ISGENQ RELEASE 要求の発行は、必ず ISGENQ OBTAIN 要求がタスクに戻った後になるように、プログラムを訂正してください。 出口ルーチンの中で RELEASE 要求を出すのはできる限り避けてください。

04 xxxx040D 同等シンボル: ISGENQRsn_UnprotectedQName

意味: REQUEST=OBTAIN の場合。 許可された呼び出し側が、無許可の QNAME を使用して ENQ を要求しました。

TEST=NO,COND=YES の場合は、OBTAIN 要求は正常に完了しましたが、同一の所有タスクの下の無許可の呼び出し側が ENQ を解放する可能性があります。 ENQToken が返されています。

TEST=NO、COND=NO の場合は、リクエスターが X'438' 異常終了を返して異常終了しました。 要求は、正常に完了していない可能性があります。

TEST=YES 要求の場合は、リソースは現在使用可能です。

処置: 処置は不要です。 この ENQ を、無許可の RELEASE 要求から保護する必要、または ENQ を取得してこの要求を妨害しようとする無許可の呼び出し側から保護する必要がある場合は、リソースについて許可されている QNAME の 1 つを指定してください。

04 xxxx040E 同等シンボル: ISGENQRsn_UnprotectedExitQNAME

意味: REQUEST=OBTAIN の場合。 許可された呼び出し側が、動的出口により無許可の QNAME に変更された QNAME を使用して、ENQ を要求しました。 TEST=NO の場合は、OBTAIN 要求は正常に完了しましたが、同一の所有タスクの下の無許可の呼び出し側が ENQ を解放する可能性があります。 ENQToken が返されています。 TEST=YES 要求の場合は、リソースは現在使用可能ですが、QNAME は動的出口によって無保護の QNAME に変更されました。

処置: 処置は不要です。 この ENQ を、無許可の RELEASE 要求から保護する必要、または ENQ を取得してこの要求を妨害しようとする無許可の呼び出し側から保護する必要がある場合は、システム・プログラマーに連絡してください。 システム・プログラマーは、ISGNQXIT インストール・システム出口を調べて、許可された要求について無許可の QNAME を指定するようなコーディングがないことを確認する必要があります。

04 xxxx040F 同等シンボル: ISGENQRsn_ECBAtleastOneRequestFailed

意味: ECB@ を指定した REQUEST=OBTAIN RESLIST=Yes の場合に、少なくとも 1 つの要求の処理に失敗しました。 一部の要求の処理に失敗した可能性があります。 システムは、正常に処理された要求をバックアウトしない可能性があります。

注: この理由コードは、RSNCODE または RETURNTABLE キーワードを介してではなく、通知先の ECB に返されます。

処置: ユーザーは ENQTOKEN について ISGQUERY を発行して、ENQTOKEN が取得されたかどうかを調べ、適切な処置を行う必要があります。 代わりに、ユーザーは、ENQTOKENTBL を指定した ISGENQ REQUEST=RELEASE を使用してすべての ENQ を解放してから、ISGENQ OBTAIN 要求を再発行することもできます。

08 同等シンボル: ISGENQRc_ParmError

意味: ISGENQ 要求で誤ったパラメーターが指定されました。

処置: 個々の理由コードに対する処置を参照してください。

08 xxxx0801 同等シンボル: ISGENQRsn_BadPlistAddress

意味: パラメーター・リストにアクセスできません。

処置: パラメーター・リスト全体がアドレス可能であることを確認してください。 AR モードの場合は、パラメーター・リストの ALET が正しいことを確認してください。 このマクロを AR モードで発行する場合は、このマクロの前に SYSSTATE ASCENV=AR を発行する必要があるということに注意してください。 必ず、呼び出し側と同一のキーで実行されるストレージを指定してください。

08 xxxx0802 同等シンボル: ISGENQRsn_BadPlistALET

意味: パラメーター・リストの ALET が正しくありません。 ALET が、ゼロでも、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) にある有効な共通項目に関連付けられているものでもなく、共通域データ・スペース用の有効な項目でもありません。

処置: パラメーター・リストの ALET には必ず有効なものを指定してください。アクセス・レジスターが適切にセットアップされていない可能性があります。

08 xxxx0803 同等シンボル: ISGENQRsn_BadPlistVersion

意味: パラメーター・リストのバージョン番号が正しくありません。 呼び出し側が実行されている GRS のサービス・レベルが、このバージョンの ISGENQ サービスをサポートしていないか、または ISGENQ パラメーター・リストのバージョンが、指定されたパラメーターに必要な最小バージョンより下位のバージョンです。

処置: パラメーター・リストのストレージがオーバーレイされていないかを チェックしてください。 正しいバージョン番号で、要求を再試行します。 プログラムをアセンブルするときに、プログラムが実行されている MVS のリリースに適合する正しいマクロ・ライブラリーが使用されたかどうかを確認してください。

08 xxxx0804 同等シンボル: ISGENQRsn_ReservedFieldNotNull

意味: パラメーター・リスト内の予約フィールドにゼロ以外の値が入っています。

処置: パラメーター・リストのストレージがオーバーレイされていないかを チェックしてください。

08 xxxx0805 同等シンボル: ISGENQRsn_MutuallyExclusive

意味: 互いに排他的なキーワードが指定されています。

処置: パラメーター・リストのストレージ・オーバーレイが生じている可能性がないか調べてください。

08 xxxx0806 同等シンボル: ISGENQRsn_BadRequest

説明: REQUEST パラメーターが正しくありません。

処置: IBM では、ISGENQ サービスを呼び出すときは ISGENQ マクロの使用をお勧めします。

08 xxxx0807 同等シンボル: ISGENQRsn_BadContentionAct

意味: CONTENTIONACT パラメーターが正しくありません。

処置: パラメーター・リストのストレージがオーバーレイされていないかを チェックしてください。

08 xxxx0808 同等シンボル: ISGENQRsn_BadOwningTToken

意味: 指定された TToken は有効なタスクを表していません。

処置: 必ず、有効なタスクを表すタスク・トークン (TToken) を指定してください。

08 xxxx0809 同等シンボル: ISGENQRsn_BadAnsAreaAddress

意味: 応答域にアクセスできません。

処置: 必ず、応答域全体がアドレス可能なものを指定してください。 AR モードでは、このフィールドにはアドレスおよび ALET を使用してアクセスするので、これらの値が両方とも正しいことを確認してください。 応答域の長さを正しく指定したことを確認してください。 必ず、呼び出し側と同一のキーで実行されるストレージを指定してください。

08 xxxx080A 同等シンボル: ISGENQRsn_BadAnsAreaALET

意味: 応答域の ALET が正しくありません。 ALET が、ゼロでも、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) にある有効な共通項目に関連付けられているものでもなく、共通域データ・スペース用の有効な項目でもありません。

処置: 応答域の ALET には必ず有効なものを指定してください。 アクセス・レジスターが適切にセットアップされていない可能性があります。

08 xxxx080B 同等シンボル: ISGENQRsn_AnsLenTooSmall

意味: 指定された応答域の長さが足りないため、要求された情報を返すことができません。

処置: もっと大きい応答域を指定して、ISGENQ を呼び出し直してください。 必要な応答域の長さは、NUMRES で指定するリソース要求の数によって決まります。

08 xxxx080C 同等シンボル: ISGENQRsn_BadRNameAddress

意味: RNAME にアクセスできません。

処置: 必ず、RNAME 全体がアドレス可能なものを指定してください。 AR モードでは、このフィールドにはアドレスおよび ALET を使用してアクセスするので、これらの値が両方とも正しいことを確認してください。 RNAME の長さを正しく指定したことを確認してください。 必ず、呼び出し側と同一のキーで実行されるストレージを指定してください。

08 xxxx080D 同等シンボル: ISGENQRsn_BadRnameALET

意味: RNAME の ALET が正しくありません。 ALET が、ゼロでも、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) にある有効な共通項目に関連付けられているものでもなく、共通域データ・スペース用の有効な項目でもありません。

処置: RNAME の ALET には必ず有効なものを指定してください。 アクセス・レジスターが適切にセットアップされていない可能性があります。

08 xxxx080E 同等シンボル: ISGENQRsn_BadRNameLen

意味: 指定された RNAME の長さが無効です。

処置: RNAME の長さフィールドには、必ず 1 から 255 までの範囲内の数値を指定してください。

08 xxxx080F 同等シンボル: ISGENQRsn_BadScope

意味: SCOPE キーワード・パラメーターが正しくありません。

処置: パラメーター・リストのストレージがオーバーレイされていないかを チェックしてください。

08 xxxx0810 同等シンボル: ISGENQRsn_BadUCB@

意味: UCB@ キーワードに指定されているストレージが有効な UCB にマップされません。

処置: UCB@ に、必ず有効な UCB を指す値を指定してください。

08 xxxx0811 同等シンボル: ISGENQRsn_BadCond

意味: COND キーワード・パラメーターが正しくありません。

処置: IBM では、ISGENQ サービスを呼び出すときは ISGENQ マクロの使用をお勧めします。

08 xxxx0812 同等シンボル: ISGENQRsn_BadSynchRes

意味: SYNCHRES キーワード・パラメーターが正しくありません。

処置: パラメーター・リストのストレージがオーバーレイされていないかを チェックしてください。

08 xxxx0813 同等シンボル: ISGENQRsn_BadENQTokenAddress

意味: ENQToken にアクセスできません。

処置: 必ず ENQToken 全体がアドレス可能なものを指定してください。 AR モードでは、このフィールドにはアドレスおよび ALET を使用してアクセスするので、これらの値が両方とも正しいことを確認してください。 必ず、呼び出し側と同一のキーで実行されるストレージを指定してください。 注: ISGENQ 要求が完了していない可能性があります。

08 xxxx0814 同等シンボル: ISGENQRsn_BadENQTokenALET

意味: ENQToken の ALET が正しくありません。 ALET が、ゼロでも、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) にある有効な共通項目に関連付けられているものでもなく、共通域データ・スペース用の有効な項目でもありません。

処置: ENQToken の ALET には必ず有効なものを指定してください。 アクセス・レジスターが適切にセットアップされていない可能性があります。 注: ISGENQ 要求が完了していない可能性があります。

08 xxxx0815 同等シンボル: ISGENQRsn_BadENQToken

意味: REQUEST=RELEASE または REQUEST=CHANGE の場合に、指定された ENQToken が該当タスク (現行タスクまたは OWNINGTTOKEN で指定されているタスク) の ENQ を表していません。

処置: 必ず、該当タスクに対する前の要求で取得され、その後まだ解放されていない ENQToken を指定してください。

08 xxxx0816 同等シンボル: ISGENQRsn_BadNumRes

意味: 指定された NUMRES が無効です。

処置: NUMRES フィールドには、必ず 1 から 65535 (2 の 16 乗 -1) までの範囲内の数値を指定してください。

08 xxxx0817 同等シンボル: ISGENQRsn_BadResTableAddress

意味: リソース・テーブルにアクセスできません。

処置: 必ずリソース・テーブル全体がアドレス可能なものを指定してください。 AR モードでは、このフィールドにはアドレスおよび ALET を使用してアクセスするので、これらの値が両方とも正しいことを確認してください。 リソース・テーブルの長さが正しいことを確認してください。 必ず、呼び出し側と同一のキーで実行されるストレージを指定してください。

08 xxxx0818 同等シンボル: ISGENQRsn_BadResTableALET

意味: リソース・テーブルの ALET が正しくありません。 ALET が、ゼロでも、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) にある有効な共通項目に関連付けられているものでもなく、共通域データ・スペース用の有効な項目でもありません。

処置: リソース・テーブルの ALET には、必ず有効なものを指定してください。 アクセス・レジスターが適切にセットアップされていない可能性があります。

08 xxxx0819 同等シンボル: ISGENQRsn_BadResTable

意味: 指定された RESTABLE が無効です。

処置: リソース・テーブルには、相互に排他的なパラメーターを絶対に指定しないでください。

08 xxxx081A 同等シンボル: ISGENQRsn_BadENQTokenTblAddress

意味: ENQToken テーブルにアクセスできません。

処置: 必ず ENQToken テーブル全体がアドレス可能なものを指定してください。 AR モードでは、このフィールドにはアドレスおよび ALET を使用してアクセスするので、これらの値が両方とも正しいことを確認してください。 ENQToken テーブルの長さが正しいことを確認してください。 必ず、呼び出し側と同一のキーで実行されるストレージを指定してください。 注: ISGENQ 要求が完了していない可能性があります。

08 xxxx081B 同等シンボル: ISGENQRsn_BadENQTokenTblALET

意味: ENQToken テーブルの ALET が正しくありません。 ALET が、ゼロでも、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) にある有効な共通項目に関連付けられているものでもなく、共通域データ・スペース用の有効な項目でもありません。

処置: ENQToken テーブルの ALET には、必ず有効なものを指定してください。 アクセス・レジスターが適切にセットアップされていない可能性があります。 注: ISGENQ 要求が完了していない可能性があります。

08 xxxx081C 同等シンボル: ISGENQRsn_BadReturnTableAddress

意味: 戻りテーブルにアクセスできません。

処置: 必ず戻りテーブル全体がアドレス可能なものを指定してください。 AR モードでは、このフィールドにはアドレスおよび ALET を使用してアクセスするので、これらの値が両方とも正しいことを確認してください。 戻りテーブルの長さが正しいことを確認してください。 必ず、呼び出し側と同一のキーで実行されるストレージを指定してください。 注: ISGENQ 要求が完了していない可能性があります。

08 xxxx081D 同等シンボル: ISGENQRsn_BadReturnTableALET

意味: 戻りテーブルの ALET が正しくありません。 ALET が、ゼロでも、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) にある有効な共通項目に関連付けられているものでもなく、共通域データ・スペース用の有効な項目でもありません。

処置: 戻りテーブルの ALET には、必ず有効なものを指定してください。 アクセス・レジスターが適切にセットアップされていない可能性があります。 注: ISGENQ 要求が完了していない可能性があります。

08 xxxx081E 同等シンボル: ISGENQRsn_NotAuthorizedForQName

意味: REQUEST=OBTAIN の場合。 無許可の呼び出し側が、許可された QNAME を指定しました。

処置: 無許可の呼び出し側が、ISGENQ マクロ・プロローグにリストされている許可された QNAME を指定しないようにしてください。

08 xxxx081F 同等シンボル: ISGENQRsn_NotAuthorizedForExitQname

意味: REQUEST=OBTAIN の場合。 ISGNQXIT 出口で、無許可の OBTAIN 要求について許可された QNAME が指定されました。

処置: システム・プログラマーに連絡してください。 システム・プログラマーは、ISGNQXIT インストール・システム出口を調べて、無許可の要求について許可された QNAME を指定するようなコーディングがないことを確認する必要があります。

08 xxxx0821 同等シンボル: ISGENQRsn_NotAuthorizedForOWNINGTTOKEN

意味: 無許可の呼び出し側が OWNINGTTOKEN を指定しました。

処置: 無許可の呼び出し側は、OWNINGTTOKEN を指定してはなりません。

08 xxxx0822 同等シンボル: ISGENQRsn_BadUserDataAddress

意味: USERDATA にアクセスできません。

処置: 必ず、USERDATA 全体がアドレス可能なものを指定してください。 AR モードでは、このフィールドにはアドレスおよび ALET を使用してアクセスするので、これらの値が両方とも正しいことを確認してください。 必ず、呼び出し側と同一のキーで実行されるストレージを指定してください。

08 xxxx0823 同等シンボル: ISGENQRsn_BadUserDataAlet

意味: UserData の ALET が正しくありません。 ALET が、ゼロでも、呼び出し側のディスパッチ可能単位アクセス・リスト (DU-AL) にある有効な共通項目に関連付けられているものでもなく、共通域データ・スペース用の有効な項目でもありません。

処置: USERDATA の ALET には必ず有効なものを指定してください。 アクセス・レジスターが適切にセットアップされていない可能性があります。

08 xxxx0824 同等シンボル: ISGENQRsn_DeviceNotAllocated

意味: RESERVEVOLUME=YES を指定した REQUEST=OBTAIN の場合。 無許可の呼び出し側が、要求元タスクに割り振られていない装置を指定しました。

処置: 無許可の呼び出し側は、ISGENQ RESERVEVOLUME(YES) を発行する前に、ジョブ・ステップに UCB を割り振る必要があります。

08 xxxx0825 同等シンボル: ISGENQRsn_ExitDeviceNotAllocated

意味: REQUEST=OBTAIN の場合。 ISGNQXIT 出口で、要求元の無許可のタスクに割り振られていない装置の UCB が指定されています。

処置: システム・プログラマーに連絡してください。 システム・プログラマーは、インストール・システム出口が UCB を変更して、無許可の要求に割り振られていない UCB を指定することのないようにする必要があります。

08 xxxx0826 同等シンボル: ISGENQRsn_BadControl

意味: CONTROL キーワード・パラメーターが正しくありません。

処置: パラメーター・リストのストレージがオーバーレイされていないかを チェックしてください。

08 xxxx0827 同等シンボル: ISGENQRsn_BadExitUCB@

意味: 動的出口により変更された UCB アドレスが指しているストレージが、有効な UCB にマップされません。

処置: システム・プログラマーに連絡してください。 システム・プログラマーは、インストール・システム出口が誤った UCB アドレスを指定しないようにする必要があります。

08 xxxx0828 Equate Symbol: ISGENQRsn_NotAuthorizedForENQMAX

意味: REQUEST=OBTAIN の場合に、無許可の呼び出し側が ENQMAX=NO を指定しました。

処置: 無許可の呼び出し側は、ENQMAX=NO を指定してはなりません。

0C 同等シンボル: ISGENQRc_EnvError

意味: ISGENQ 要求に環境エラーがあります。

処置: 個々の理由コードに対する処置を参照してください。

0C xxxx0C01 同等シンボル: ISGENQRsn_RequestLimitExceeded

意味: REQUEST=OBTAIN の場合に、同時に実行できるリソース要求数の限度に達しました。 以前に出された何らかの ENQ 要求や RESERVE 要求によって、タスクがそのリソースの制御を取得している場合を除いて、タスクはそのリソースを制御できません。

処置: 1 回または複数回要求を再試行します。問題が解決しない場合は、システム・プログラマーに連絡してください。 同時実行数の限度およびシステムの調整が必要な場合の調整方法については、「z/OS MVS 計画: グローバル・リソース逐次化」を参照してください。

0C xxxx0C05 同等シンボル: ISGENQRsn_AbendInExit

意味: GRS 動的出口の 1 つが異常終了しました。

処置: 1 回または複数回要求を再試行します。システム・プログラマーにお問い合わせください。

0C xxxx0C0A 同等シンボル: ISGENQRsn_TaskEnding

意味: 指定された TToken が表しているタスクは終了しようとしていました。 タスク終了の過程の中で、以後は ENQ の取得ができなくなるポイントに達しました。

処置: TToken により識別されるタスクが終了しようとしていた理由を判別してください。 エラーを訂正し、要求を再試行します。

0C xxxx0C0B 同等シンボル: ISGENQRsn_FRRHeld

意味: FRR の確立時に、呼び出し側が ISGENQ を発行しました。

処置: 機能回復ルーチンを使用しているときは ISGENQ を発行しないでください。

0C xxxx0C0C 同等シンボル: ISGENQRsn_LockHeld

意味: 入った時点でロックが保持されていました。 ISGENQ を呼び出すときにロックが保持されていてはなりません。

処置: ロックが保持されているときは ISGENQ を使用しないでください。

0C xxxx0C0D 同等シンボル: ISGENQRsn_SrbMode

意味: ISGENQ が SRB モードで発行されました。

処置: SRB モードでは ISGENQ を使用しないでください。

0C xxxx0C0E 同等シンボル: ISGENQRsn_NotEnabled

意味: 割り込み可能でないときに ISGENQ が発行されました。

処置: 割り込み可能になっていないときは ISGENQ を使用しないでください。

0C xxxx0C0F 同等シンボル: ISGENQRsn_MasidTarget

意味: 解放対象のリクエスターはまだ、MASID および MTCB オプションが指定されている ENQ のターゲットになっています。 解放は完了していますが、リソースが損傷している可能性があります。

処置: MASID および MTCB を指定した ENQ マクロ命令を発行したタスクが、このリクエスターより前に DEQ を発行する必要があります。

0C xxxx0C10 >同等シンボル: ISGENQRsn_UnsupportedMode。

意味: GRS の現行モードは、この特定の要求をサポートしません。

処置: この特定タイプの要求の使用は保留してください。

0C xxxx0C11 同等シンボル: ISGENQRsn_MasidNotSupported。

意味: 現在、またはある一時点でこの REQUEST=CHANGE,CONTROL=SHARED 要求のターゲットであったリソースに、MASID ユーザーが含まれていました。MASID のリクエスターに関連するリソースについては、REQUEST=CHANGE,CONTROL=SHARED はサポートされていません。

処置: MASID のリクエスターに関連するリソースでは、REQUEST=CHANGE,CONTROL=SHARED を使用しないでください。

10 同等シンボル: ISGENQRc_CompError

意味: コンポーネント・エラー。

処置: IBM サポートに連絡してください。

以下に定義されていない理由コードには、内部診断情報が含まれています。

10 xxxx1002 同等シンボル: ISGENQRsn_CannotObtainHomeStorage

意味: ISGENQ 処理で、ホーム・アドレス・スペース内にストレージを獲得できませんでした。

10 xxxx1003 同等シンボル: ISGENQRsn_CannotObtainCommonStorage

意味: ISGENQ 処理で、共通域内にストレージを獲得できませんでした。

10 xxxx1004 同等シンボル: ISGENQRsn_CannotObtainPrimaryAlet

意味: ISGENQ 処理で、呼び出し側の 1 次アドレス・スペースの ALET を取得できませんでした。

10 xxxx1006 同等シンボル: ISGENQRsn_SynchResFlushFailed

意味: REQUEST=OBTAIN の場合に、同期予約による装置状態遷移のフラッシュが失敗しました。

10 xxxx1007 同等シンボル: ISGENQRsn_ReserveStartFailed

意味: REQUEST=OBTAIN の場合に、予約開始処理が失敗しました。

10 xxxx1008 同等シンボル: ISGENQRsn_ReserveCountOverflow

意味: REQUEST=OBTAIN の場合に、予約処理で予約カウントを更新するときにオーバーフローが検出されました。

10 xxxx1009 同等シンボル: ISGENQRsn_CannotObtainDSQE

意味: ISGENQ 処理で、RNL の変更時に要求を中断するための DSQE を取得できませんでした。

10 xxxx100A 同等シンボル: ISGENQRsn_ReserveDoneFailed

意味: REQUEST=OBTAIN の場合に、同期予約バックエンド処理が失敗しました。予約は完了していません。

10 xxxx100B 同等シンボル: ISGENQRsn_CannotObtainPrimaryStorage

意味: ENQ/DEQ 処理で、1 次アドレス・スペース内にストレージを獲得できませんでした。

以下の例はガイドとして使用してください。
* **********************************************************************
*  Request exclusive control of a single resource                       
* **********************************************************************
                                                                        
         ISGENQ REQUEST=OBTAIN,QNAME=QNAM1,RNAME=RNAM1,RNAMELEN=RLEN1,  X
               SCOPE=SYSTEMS,CONTROL=EXCLUSIVE,ENQTOKEN=ENQT1           
                                                                        
* **********************************************************************
*  Release control of a single resource                                 
* **********************************************************************

         ISGENQ REQUEST=RELEASE,ENQTOKEN=ENQT1,COND=YES,                X
               RETCODE=(3),RSNCODE=(2)                                  

* ***********************************************************************
*  Conditionally request shared control of 3 resources                  
* ***********************************************************************
                                                                        
         ISGENQ REQUEST=OBTAIN,RESLIST=YES,NUMRES=3,RESTABLE=RSTBL,     X
               ENQTOKENTBL=ETTBL,RETURNTABLE=RTTBL,COND=YES,            X
               RETCODE=(3),RSNCODE=(2),PLISTVER=1                       
                                                                        
QNAM1    DC    CL8'QNAME1'                                              
RNAM1    DC    CL10'RNAME1'                                             
RLEN1    DC    AL1(L'RNAM1)                                             
RNAM2    DC    CL12'RNAME2'                                             
RNAM3    DC    CL14'RNAME3'                                             
         DS    0D                                                       
RSTBL    DS    0CL(3*ISGYENQRES_LEN)                                    
ENTRY1   DC    CL8'QNAME1'          QNAME                               
         DC    F'0'                 FIRST WORD OF RNAME ADDR            
         DC    A(RNAM1)             RNAME ADDR31                        
         DC    F'0'                 RNAME ALET                          
         DC    A(0)                 UCB@                                
         DC    AL1(L'RNAM1)         RNAME LENGTH                        
         DC    AL1(ISGYENQ_kSTEP)                                       
         DC    AL1(ISGYENQ_kCONTROLSHARED)                              
         DC    XL1'00'              FLAGS                               
         DC    XL4'00'              RESERVED                            
ENTRY2   DC    CL8'QNAME2'          QNAME                               
         DC    F'0'                 FIRST WORD OF RNAME ADDR            
         DC    A(RNAM2)             RNAME ADDR31                        
         DC    F'0'                 RNAME ALET                          
         DC    A(0)                 UCB@                                
         DC    AL1(L'RNAM2)         RNAME LENGTH                        
         DC    AL1(ISGYENQ_kSYSTEM)                                     
         DC    AL1(ISGYENQ_kCONTROLSHARED)                              
         DC    XL1'00'              FLAGS                               
         DC    XL4'00'              RESERVED                            
ENTRY3   DC    CL8'QNAME3'          QNAME                               
         DC    F'0'                 FIRST WORD OF RNAME ADDR            
         DC    A(RNAM3)             RNAME ADDR31                        
         DC    F'0'                 RNAME ALET                          
         DC    A(0)                 UCB@                                
         DC    AL1(L'RNAM3)         RNAME LENGTH                        
         DC    AL1(ISGYENQ_kSYSTEMS)                                    
         DC    AL1(ISGYENQ_kCONTROLSHARED)                              
         DC    XL1'00'              FLAGS                               
         DC    XL4'00'              RESERVED                            
                                                                        
DYNAREA  DSECT                                                          
ENQT1    DS    CL(ISGYENQTOKEN_LEN)                                     
ETTBL    DS    CL(3*ISGYENQTOKEN_LEN)                                   
RTTBL    DS    CL(3*ISGYENQRETURN_LEN)                                  
* ********************************************************************** 
* Request exclusive control of a single resource with userdata
* ********************************************************************** 
         ISGENQ REQUEST=OBTAIN,QNAME=QNAM1,RNAME=RNAM1,RNAMELEN=RLEN1, X 
               SCOPE=SYSTEMS,CONTROL=EXCLUSIVE,ENQTOKEN=ENQT1,         X
               USERDATA=UDATA1 

UDATA1  DC    CL32'MY USERDATA'

グローバル・リソースの逐次化について詳しくは、「z/OS MVS 計画: グローバル・リソース逐次化」を参照してください。