TRANSACT マクロ

TRANSACT マクロ・ステートメントは、先行する APPLCTN マクロで指定したアプリケーション・プログラムの IMS™ メッセージ処理領域での実行をスケジュールするトランザクション・コードを指定するために使用します。

TRANSACT マクロ・ステートメントは、1 つの APPLCTN マクロ・ステートメント に対して 1 回以上用いられ、トランザクションを IMS 専用、IMS 高速機能利用可能、 または IMS 高速機能専用として識別します。 さらに、アプリケーション・プログラムのスケジューリング・アルゴリズム に影響を与える情報を、IMS 制御プログラムに提供しますし、メッセージ編集ルーチン を定義することもできます。

このマクロをステージ 1 システム定義のときに組み込まなかった場合、警告は発行されず、トランザクション・コードは動的に定義されるものと見なされます。トランザクション・コードは、CREATE TRAN コマンドか UPDATE TRAN コマンド、または宛先作成出口ルーチン (DFSINSX0) を使用して動的に定義できます。

重要: プログラムまたはトランザクションを、共用キューを使用する IMSplex に定義 (APPLCTN および TRANSACT マクロを使用) するときは、プログラムとトランザクションが IMSplex 内のすべての IMS システムにおいて同じ属性を付けて定義されていることを確認する必要があります。 IMSplex にあるそれぞれ別の IMS システムで異なる属性が定義されていると、その結果は予測できません。例えば、一方の IMS でトランザクションが会話型で定義されていて、他方の IMS では非会話型であると、そのトランザクションに対するメッセージが共用キューに置かれたときに、予測できない結果が起こります。

TRANSACT マクロ・ステートメントの前に、それをリモートとして定義 している (SYSID を指定している) APPLCTN マクロが入っている場合 には、このトランザクションはリモート・トランザクションとして生成されます。

PGMTYPE=TP と FPATH=YES を両方指定した APPLCTN マクロ・ステートメント に続く TRANSACT マクロ・ステートメントは 、IMS 高速機能専用トランザクションを定義します。

IMS 高速機能専用トランザクションを 定義する TRANSACT マクロ・ステートメントは、 宛先コード項目を生成します。この宛先コード項目は自動生成され、対応するトランザクション・コードと同じ値が入っています。IMS 高速機能急送メッセージ・ハンドラー・ルーチン はこの項目に基づいて、先行の APPLCTN マクロ・ステートメントで指定されていた入力メッセージ を処理する高速機能アプリケーション・プログラムを探します。

PGMTYPE=TP と FPATH=NO を指定した APPLCTN ステートメント に続く FPATH=YES を指定した TRANSACT マクロ・ステートメント は、IMS 高速機能利用可能トランザクションを識別します。

FPATH=NO として定義されているアプリケーションは、たとえ高速機能利用可能トランザクション を含んでいても、高速機能領域 (IFP) としては実行できま せん。この高速機能利用可能トランザクションを IFP 領域 (APPLCTN マクロで FPATH=YES を指定した領域) で実行するには、次の条件が両方とも真でなければなりません。

  • 宛先コードは、RTCODE マクロで IFP に指定しなければなりません。
  • 高速機能利用可能トランザクションは、適切な宛先コードにより IFP に経路指定されなければなりません。

すべての高速機能トランザクションは、暗黙的にリカバリー可能トランザクション として定義されます。

高速機能利用可能トランザクションを定義する TRANSACT ステートメントで は、MSGTYPE=(SNGLSEG,RESPONSE) を指定しなければなりません。

高速機能アプリケーション・プログラムには、 対応する APPLCTN マクロ・ステートメントに続く RTCODE マクロ・ステートメントで、 追加の宛先コードを関連づけることができます。

IMS バッチ・メッセージ処理 (BMP) アプリケーションを定義 している APPLCTN マクロ・ステートメントの後には、FPATH=YES を 指定する TRANSACT マクロ・ステートメントや、RTCODE マクロ・ステートメントを 入れることはできません。

動的定義

このマクロをステージ 1 システム定義のときに組み込まなかった場合、警告は発行されず、トランザクション・コードは動的に定義されるものと見なされます。

前に定義したアプリケーション・プログラムの実行をスケジュールするトランザクション・コードを動的に定義するには、以下を使用できます。
  • CREATE TRAN および UPDATE TRAN タイプ 2 コマンド。
  • 宛先作成出口ルーチン。

変更の始まりMODBLKS リソースの動的リソース定義を使用可能にして、既存のトランザクションを動的に更新することをお勧めします。これらの属性がオンライン・コマンドで変更できる場合、既存の トランザクションを MODBLKS オンライン変更によって変更することはできません。 /ASSIGN コマンドまたは /CHANGE コマンドを使用して既存のトランザクションを変更できますが、ローカル・オンライン変更またはグローバル・オンライン変更を実行してから、影響を受けるトランザクションをスケジュールするまでに、コマンドの再発行が必要です。トランザクションを動的に更新すると、既存のトランザクションに対して、/ASSIGN または /CHANGE コマンドを発行した後、再発行することを回避できます。変更の終わり

DRD が使用不可の場合、リソースの定義属性を変更する CREATEDELETEIMPORT、およびほとんどの UPDATE コマンドはリジェクトされます。

以下の表では、TRANSACT マクロのキーワードと、動的定義で使用される CREATE および UPDATE コマンドの対応するキーワードを比較します。また、以下の表には、DFSINSX0 パラメーター・リストによってマップされる INSXTRNQ DSECT の対応する値も含まれています。INSXTRNQ 内の情報は、宛先がトランザクションの場合、トランザクション制御ブロックを作成するために使用されます。デフォルト値は太字で示しています。

表 1. TRANSACT マクロ・キーワードと動的定義で使用される CREATE および UPDATE コマンドの対応するキーワード
TRANSACT マクロのキーワード 対応する CREATE | UPDATE TRAN
キーワード
INSXTRNQ DSECT 情報
前の APPLCTN マクロ・ステートメント PGM(name) TRNQ_PGM
AOI=(N | TRAN | Y) AOCMD(N | TRAN | Y)

TRNQ_F5_AOIY
TRNQ_F5_AOIN
TRNQ_F5_AOITRAN

CODE=transaction code NAME(name) 適用外
DCLWA=YES | NO DCLWA(Y | N)

TRNQ_F3_DCLWAY
TRNQ_F3_DCLWAN

EDIT=(UC | ULC, editname)

EDITUC(Y | N)
EDITRTN(name)

TRNQ_F3_EDITUCY
TRNQ_F3_EDITUCN
TRNQ_EDITRTN

EXPRTIME= (seconds) EXPRTIME(number) TRNQ_EXPRTM
FPATH=(NO | YES | size)

FP(N | E | P)
EMHBSZ(size)

TRNQFP
TRNQFPP
TRNQ_F2_FPN
TRNQ_EMHBSZ

INQUIRY=(NO | YES, RECOVER | NORECOV)

INQ(N | Y)
RECOVER(Y | N)

TRNQ_F4_INQY
TRNQ_F4_INQN
TRNQ_F4_RECOVERY
TRNQ_F4_RECOVERN

MAXRGN=0 | number MAXRGN(0 | number) TRNQ_MAXRGN
MODE=MULT | SNGL CMTMODE(MULT | SNGL)

TRNQ_F3_CMTMODEM
TRNQ_F3_CMTMODES

MSGTYPE= (MULTSEG | SNGLSEG, NONRESPONSE | RESPONSE, 1 | class)

MSGTYPE( MULTSEG | SNGLSEG)
RESP(N | Y)
CLASS(1 | class)

TRNQMSEG
TRNQ_F2_SSEG
TRNQRESP
TRNQ_F2_RESPN
TRNQ_CLASS

PARLIM=0 | number PARLIM(0 | number) TRNQ_PARLIM
PROCLIM= (65535 | count, 65535 | CPU-time-per-transaction)
注: 高速機能利用可能トランザクションの場合、IMS は CPU-time-per-transaction 値を 100 分の 1 秒単位として解釈します。

PLCT(65535 | value)
PLCTTIME(6553500 | CPU-time-per-
transaction)

TRNQ_PLCT
TRNQ_PLCTTIME

PRTY= (1 | normal, 1 | limit, 65535 | limit count)

NPRI(1 | value)
LPRI(1 | value)
LCT(65535 | value)

TRNQ_NPRI
TRNQ_LPRI
TRNQ_LCT

ROUTING=NO | YES DIRROUTE(N | Y)

TRNQ_F3_DIRROUTEY
TRNQ_F3_DIRROUTEN

SEGNO=0 | number SEGNO(0 | number) TRNQ_SEGNO
SEGSIZE=0 | size SEGSIZE(0 | size) TRNQ_SEGSZ
SERIAL=NO | YES SERIAL(N | Y)

TRNQ_F4_SERIALY
TRNQ_F4_SERIALN

SPA= (size, STRUNC | RTRUNC)

CONV(Y)
SPASZ(size)
SPATRUNC(S | R)

TRNQCONV
TRNQ_F2_CONVN
TRNQSPAL
TRNQSTRU
TRNQRTRU

SYSID=(remote system id, local system id)

(TRANSACT マクロまたは前の APPLCTN マクロで指定)

SIDL(localsysid)
SIDR(remotesysid) または
MSNAME(msname)
REMOTE(Y)

TRNQSIDL
TRNQSIDR
TRNQ_F4_REMOTEY
TRNQ_F4_REMOTEN

TRANSTAT=N | Y TRANSTAT(N | Y) TRANSTAT キーワードはオプションです。TRANSTAT キーワードに値を指定しなかった場合は、システム・デフォルトが使用されます。
WFI WFI(N | Y)

TRNQ_F5_WFIY
TRNQ_F5_WFIN

サポートされている環境

TRANSACT マクロは、IMS DB/DC および DCCTL 環境でオプションとして使用できます。

構文

構文図を読む構文図をスキップする
                      .-,----------------.       
                      V                  |       
>>-TRANSACT--CODE=(-----transaction code-+---)------------------>

>--+----------------+--+-----------------+---------------------->
   |       .-NO---. |  |         .-YES-. |   
   '-,AOI=-+------+-'  '-,DCLWA=-+-----+-'   
           +-YES--+              '-NO--'     
           +-TRAN-+                          
           '-CMD--'                          

>--+-------------------------+--+--------------------------+---->
   |         .-UC--.         |  |            .-0-------.   |   
   '-,EDIT=(-+-----+-,name-)-'  '-EXPRTIME=(-+---------+-)-'   
             '-ULC-'                         '-seconds-'       

>--+------------------+----------------------------------------->
   |         .-NO---. |   
   '-,FPATH=-+------+-'   
             +-YES--+     
             '-size-'     

>--+---------------------------------------+-------------------->
   |            .-NO--. .-,RECOVER-.   (1) |   
   '-,INQUIRY=(-+-----+-+----------+-)-----'   
                '-YES-' '-,NORECOV-'           

>--+---------------------+--+---------------------+------------->
   |          .-0------. |  |        .-MULT-. (2) |   
   '-,MAXRGN=-+--------+-'  '-,MODE=-+------+-----'   
              '-number-'             '-SNGL-'         

>--+------------------------------------------------------+----->
   |            .-MULTSEG-. .-,NONRESPONSE-. .-,1-----.   |   
   '-,MSGTYPE=(-+---------+-+--------------+-+--------+-)-'   
                '-SNGLSEG-' '-,RESPONSE----' '-,class-'       

>--+-------------------------+---------------------------------->
   |          .-65535--. (2) |   
   '-,PARLIM=-+--------+-----'   
              +-0------+         
              '-number-'         

>--+----------------------------------------------------------+-->
   |            .-65535-. .-,65535--------------------.   (2) |   
   '-,PROCLIM=(-+-------+-+---------------------------+-)-----'   
                '-count-' '-,CPU-time-per-transaction-'           

>--+--------------------------------------------------+--------->
   |         .-1------. .-,1-----. .-,65535-------.   |   
   '-,PRTY=(-+--------+-+--------+-+--------------+-)-'   
             '-normal-' '-,limit-' '-,limit count-'       

>--+-------------------+--+------------------------+------------>
   |           .-NO--. |  |         .-0------. (2) |   
   '-,ROUTING=-+-----+-'  '-,SEGNO=-+--------+-----'   
               '-YES-'              '-number-'         

                                                    (2)   
>--+------------------------+--+------------------+------------->
   |           .-0----. (2) |  |          .-NO--. |       
   '-,SEGSIZE=-+------+-----'  '-,SERIAL=-+-----+-'       
               '-size-'                   '-YES-'         

>--+--------------------------+--------------------------------->
   |            .-,STRUNC-.   |   
   '-,SPA=(size-+---------+-)-'   
                '-,RTRUNC-'       

>--+-------------------------------------------+---------------->
   '-,SYSID=(remote system id,local system id)-'   

>--+------------------+--+----------+--------------------------><
   |            .-N-. |  |      (2) |   
   '-,TRANSTAT=-+---+-'  '-,WFI-----'   
                '-Y-'                   

注:
  1. NO が指定された場合、NORECOV は無効です。
  2. 他 (リモート) システムで処理されるトランザクション を指定する場合には、これらのオペランドは適切ではありません。

定位置パラメーター

WFI は、TRANSACT マクロの唯一の定位置パラメーターです。

キーワード・パラメーター

該当の IMS 構成にどのパラメーターが適用されるかを知るには システムを定義するための適切なマクロの選択 を 参照してください。

AOI=
タイプ 1 AOI の場合: タイプ 1 自動化操作プログラム・インターフェース (AOI) の場合は、特定のトランザクションによる AOI コマンド (CMD) 呼び出しの発行を許可するか (YES | TRAN | CMD)、許可しないか (NO) を指定します。
NO
AOI=NO の場合、特定のトランザクションで AOI コマンド (CMD) 呼び出しを発行できません。EXEC パラメーター AOI1=N を定義した場合は、このトランザクションも含め、すべてのトランザクションに CMD 呼び出しの発行が許可されます。AOI1=N は AOI=N をオーバーライドします。
YES
AOI=YES が指定されている場合は、コマンドの許可は ICMD 呼び出しの許可の場合と同様です。許可には、ユーザー ID またはプログラム名が使用されます。 ある種の環境では、Get Unique 呼び出しがまだ行われていないと、許可のためにプログラム名が使用されます。 AOI=YES を指定する場合は、トランザクションを入力したユーザーのユーザー ID が (CIMS クラス内の) コマンドに対して許可されている必要があります。
TRAN
TRAN 指定は YES と同じものですが、それだけでなく、IMS に対し、トランザクションを入力したユーザーのユーザー ID の代わりにトランザクション・コードを使用して、そのトランザクションが発行した CMD 呼び出しのコマンドの許可をチェックするよう要求します。

AOI=TRAN を指定してトランザクションが定義されると、そのトランザクションの AOI に対して実行される最初の許可検査により、アクセス機能環境エレメント (ACEE) が構築されます。 この環境は、将来の許可検査で使用するために保存されます。 このようなケースでは、タイプ 1 AOI トランザクションを、RACF® (または同等の製品) に対してユーザーとして定義する必要があります。 そのあとで、トランザクションは、タイプ 1 AOI トランザクションから発行することを許可されている各コマンドごとに、RACF PERMIT ステートメントで指定されます。 AOI トランザクションをユーザーとして RACF に指定すると、すでに RACF に対して定義されているユーザーの名前と矛盾が生じる可能性があります。このような場合は、トランザクション名か既存のユーザー名のどちらかを変更する必要があります。

CMD
CMD の指定は、YES と同じですが、許可検査が、特定のコマンドを発行できるトランザクションに基づいて行われることも指示します。 このようなケースでは、コマンド (またはコマンドの最初の 3 桁) を RACF (または同等の製品) に対してユーザーとして定義する必要があります。 タイプ 1 AOI トランザクションは、TIMS クラスの下でプロファイルとして定義する必要があり、それぞれのトランザクションごとに、それが発行できるコマンドを指定する必要があります。 CMD 指定を使用するときは、作成する必要のあるユーザー ID の数は、AOI=TRAN の指定の場合より少なくすることができます。 しかし、CMD 指定を使用すると、多数のリソース・プロファイルを作成または変更する必要があります。
注: トランザクションに AOI=YES、AOI=TRAN、または AOI=CMD を指定し、GU 呼び出しで返されるメッセージが、IMS の実行を開始する前に IMS によって受信されていた場合は、結果として CF 状況コードが発行されます。アプリケーションで CF が受け入れ可能な状況コードとして指定されていない場合は、結果として異常終了が発生します。

以下の表で、TRANSACT マクロでの AOI= 指定が、EXEC パラメーターの AOI1= 指定にどのように影響を及ぼすかについて説明します。

表 2. AOI= と AOI1= 指定の関係
EXEC パラメーターの AOI1= 指定 TRANSACT マクロの AOI= 指定への影響
R | C | A すべての指定が保持されます。
N NO 指定は YES に設定されます。YES 指定は保存されます。TRAN および CMD 指定はリセットされます。

タイプ 2 AOI の場合: タイプ 2 AOI セキュリティーの場合も AOI パラメーターを使用することができます。 しかし、AOI=NO は、タイプ 1 AOI にのみ適用されます。 AOI=NO が指定されるかデフォルトで設定された場合は、セキュリティー検査に RACF が使用されます。

TRAN 指定がタイプ 2 AOI 用に使用されている場合は、トランザクションを入力したユーザーのユーザー ID の代わりに、IMS は、トランザクション・コードを使用して、そのトランザクションが発行した ICMD 呼び出しのコマンドの許可をチェックします。

CMD 指定がタイプ 2 AOI 用に使用されている場合は、許可検査は、特定のコマンドを発行できるトランザクションに基づいて行われます。

トランザクションの使用をサポートしない IMS 環境、例えば、非メッセージ・ドリブンの BMP の場合は、AOI=TRAN | CMD 指定が使用できないので、実行されるセキュリティー検査は、YES だけが指定されているときに実行される検査とほぼ同じになります。

CODE=
1 つ以上のトランザクション・コードまたはリモート・トランザクション・コード を、1 から 8 文字の英数字で指定します。複数のコードを指定する場合、 各トランザクション・コード名は、他のすべてのキーワード・パラメーター または定位置パラメーターの指定 (または、それらのデフォルト) に関して、同 じ特性をもつものと想定されます。 名前と名前をコンマで区切り、全体を 括弧で囲みます。 トランザクション・コードおよび論理端末名の各文字は、英数字 (A から Z、#、$、@、または 0 から 9) でなければなりません。 トランザクション・コード、NAME マクロの lterm、およ び MSNAME マクロの linkname は、全体として 1 つの値セットを構成 し、それぞれがシステムで固有でなければなりません。つまり、トランザクション・コード、論理端末名、 および MSC リンク名は、全体として重複名を含むことはできません。 CODE オペランドは必須です。
例:
CODE=(TRAN1,TRAN2,TRAN3)
DCLWA=
リカバリー可能な非応答モード入力メッセージおよびトランザクション出力メッセージに 対して、IMS にログ先行書き込みを行わせる (YES) か、行わせない (NO) かを指定します。TRANSACT マクロでこの指定を省略すると、デフォルトとして、IMSCTRL マクロ の DCLWA パラメーターの値が用いられます。 TRANSACT マクロの DCLWA パラメーターは、 このトランザクションに対する IMSCTRL マクロのパラメーターをオーバーライドします。
以下の両方を必要とする場合には、YES を指定するか、または デフォルトの YES を使用します。
  • 非応答入力トランザクションを、IMS 障害があってもリカバリー可能にする。リカバリー後、IMS は 入力の受信を確認します。
  • データベース変更をリカバリー可能にする。リカバリー後、IMS は関連の 出力応答メッセージを送信します。

YES を指定すると、ログ・バッファーの情報が IMS ログに書き出された後で 、関連する入力確認または出力応答が端末に送信されます。

VTAM® 端末タイプに対しては必ず、YES を指定するかまたはデフォルトの YES を 使用してください。

入力メッセージの保全性や、出力メッセージと関連データベース更新と の整合性が特に必要でない場合には、NO を指定します。DCLWA は、応答モードや高速機能の 入力処理には適用されず、IMS の実行の過程で無視されます。

EDIT=
入力データを大文字に変換する (UC) か、変換しない (ULC) かを指定します。 このオペランド の最初のパラメーターは、トランザクションを、端末か ら入力されたままの大文字/小文字混在状態で処理プログラム に渡すか (ULC)、大文字に変換して渡すか (UC) を指定します。 デフォルトは UC です。

VTAM 端末に対して UC を指定すると、組み込まれている装置制御文字の 伝送が阻止されます。

EDIT を使用して、プログラムにメッセージを渡す前にそれを編集するユーザー自身のトランザクション入力編集ルーチンの 1 から 8 文字の名前を指定することもできます。この名前は、英字で始まっていなければなりません。 ここに指定する編集ルーチン (ロード・モジュール) は、IMS システム定義の ステージ 2 が実行される時点で、USERLIB データ・セットに入っていなければなりません。また、LINEGRP または TYPE の EDIT= パラメーターで指 定されたルーチンと同じであってはなりません。

FPATH=YES を指定した場合、EDIT= キーワード・パラメーターは、 トランザクションを編集/ルーティングの出口ルーチンに渡す前に大文字に 変換するの (UC) か、変換しない (ULC) かを指定します。ユーザー編集ルーチンの指定は、 高速機能利用可能トランザクションで有効です。トランザクションが IMS あてに送られるとき、 この指定が使用されます。高速機能専用トランザクションでは無効です。

LU 6.2 装置からの入力の場合、EDIT で指定されたトランザクション入力編集ルーチンの代わりに、LU 6.2 編集出口ルーチン (DFSLUEE0) が呼び出されます。

変更の始まりOTMA 装置からの入力の場合、EDIT で指定されたトランザクション入力編集ルーチンの代わりに、OTMA 入出力編集ユーザー出口 (OTMAIOED) が呼び出されます。変更の終わり

変更の始まりEXPRTIME=変更の終わり
変更の始まりIMS が入力トランザクションを取り消す場合に使用できる経過時間の長さ (秒単位)。 トランザクションが指定した経過時間を超えた場合、IMS はそれを有効期限が切れた入力トランザクションと見なして廃棄します。値の範囲は 0 から 65535 です。デフォルトは 0 です。これは、該当トランザクションには有効期限が設定されないことを意味します。 無効値が指定された場合、メッセージ G316 が出されます。
制約事項: 変更の始まりトランザクションの有効期限検査は、高速機能トランザクション、IMS 会話型トランザクション、およびプログラム間通信トランザクションの GU 呼び出し時には実行されません。変更の終わり
変更の終わり
FPATH=
トランザクション・コードが高速機能処理の候補になりうる (YES, size) か、なりえない (NO) かを指定します。FPATH=YES は、FPATH=YES の指定 がない APPLCTN ステートメントの後に続く TRANSACT ステートメント で指定された場合にのみ、有効です。そうでない場合、このオペランドは無視されます。トランザクションの実行に 必要な EMH バッファーのサイズを決定する FPATH=size は 、EMHL 実行パラメーターをオーバーライドし、FPATH=YES と見なされます。 FPATH=size の最小指定値は 12、最大指定値は 30720 です。デフォルト は FPATH=NO です。

高速機能利用可能トランザクションは、まず、ユーザー編集/ルーティング出口 で処理され、IMS 高速機能で処理すべきかどうかが決定されます。IMS 高速機能での 処理の必要性が決定されると、編集/ルーティング出口ルーチンはそのトランザクションを 宛先コードに関連付け、その宛先コードによって、そのトランザクションを処理する 高速機能アプリケーション・プログラムが識別されます。

MODBLKS システム定義の過程で FPATH=YES を指定する場合、 オンライン・システムに対して、すでに高速機能が定義されてい なければなりません。

INQ= または
INQUIRY=
これが照会トランザクションである (YES) か、そうでない (NO) かを指定します。 デフォルトは NO です。 このキーワードとして、INQ= または INQUIRY= のいずれかを 指定できます。INQ= (または INQUIRY=) YES を指定した場合、IMS 緊急時再始動時または正常再始動時にこの トランザクションをリカバリーさせる (RECOVER) か、させない (NORECOV) か 指定することもできます。INQ=(NO,NORECOV) の指定は無効です。デフォルトは RECOVER です。

IMS 高速機能トランザクションには、RECOVER を指定しなければなりませ ん。

INQ=YES は、入力された場合にデータベース変更を伴わないトランザクション に対してのみ指定してください。 INQ=YES として定義されたトランザ クションのプロセスをスケジュールした場合、プログラムは、データベ ースに対して ISRT、DLET、または REPL 呼び出しを出すことを禁止さ れます。IMS トランザクションが INQ=YES として 定義されている場合、アプリケーション・プログラム は SQL INSERT、DELETE、または UPDATE を行うことはできません。 INQ オペランドは、指定される位置に依存しません。

SPA パラメーターが指定されている (会話型トランザクションを表しま す) 場合には、INQ=(YES,NORECOV) を指定できません。

INQ=YES の指定がないトランザクションをこれらの端末から入力しよう とすると、そのトランザクションは拒否されます。更新トランザクションは 処理できないことを示すメッセージが、 そのトランザクションを入力した端末に送られます。

MAXRGN=
トランザクション・プロセスのために並行的にスケジュールできる メッセージ処理プログラム (MPP) 領域の数を制限します。MPP 領域の数に制限がない場合、 使用可能なすべての領域が 1 つの トランザクションに独占されることがあります。

0 を指定した場合、またはデフォルトの 0 を使用した場合、制限はなくなります。 指定できる最大数は 255 です。

TRANSACT マクロに SERIAL=YES、または APPLCTN マクロに SCHDTYP=SERIAL を指定する場合は、MAXRGN パラメーターを省略するか、0 に設定してください。また、TRANSACT マクロの PARLIM パラメーターも省略して、デフォルト値 (65535) を受け入れてください。

0 以外の値の場合、PARLIM= も指定しない限り、MAXRGN= を指定することはできません。

MAXRGN= に関連する値は、/CHANGE TRAN コマンドを使用して変更できます。したがって、それは MODBLKS システム定義のときに変更されても変更されなくても、既存のトランザクション用のオペレーター・コマンドのオンライン変更シーケンスによる影響を受けません。

MODE=
データベース・バッファーを、処理プログラムから新しいメッセージの要求が あるたびに (SNGL)、またはプログラムの終了時に (MULT) 直接アクセス装置に 書き出す (フラッシュする) ことを指定します。デフォルトは MULT です。 会話型トランザクションおよび WFI トランザクションは、SNGL として指定しなけ ればなりません。 WFI アプリケーションには、SNGL が強制されます。

このオペランドは、緊急時再始動に影響します。 MODE=SNGL の場合、 アプリケーション・プログラムの 1 回のロードで 1 つ以上のメッセージがスケジュールに入れられ、処理されたかどうかには関係なく、最後に完了した メッセージのみが緊急時再始動で再処理されます。一方、MODE=MULT の場合、最後のチェックポイント以後にアプリケーション・プログラムの 1 回のロードでスケジュールに入れられ、処理されたすべてのメッセージが緊急時再始動で再処理されます。処理される メッセージの数は、最後のチェックポイントが出された時点によって 異なります。

IMS 高速機能利用可能トランザクションの場合、MODE= キーワード・パラメーター が MODE=SNGL かどうかが検査されます。この指定がない場合、 警告診断が出されます。

トランザクションの結果としてアプリケーションが DB2® などの外部サブシステムを呼び出す場合、外部サブシステムによって提供されるコミット確認出口が、MODE=MULT がサポートされているかどうかを判別できます。

MSGTYPE=
トランザクション・コードのタイプ (単一セグメントまたは 複数セグメント)、およびそのトランザクションが入力された通信回線を 応答を受信するまで保持するか否かを指定します。MSGTYPE オペランドは、 指定される位置に依存しません。

トランザクション・コードには、単一セグメント (SNGLSEG) と 複数セグメント (MULTSEG) があります。 それは、着信メッセージが 完了したと見なす時刻を指定します。完了したメッセージは、 後続処理のためにアプリケーション・プログラムに 送られます。デフォルトは (MULTSEG,NONRESPONSE,1) です。

複数 IMS システム構成で、MSC の直接経路指定が行われる場合、メッセージと、そのメッセージを処理する予定のトランザクションの両方が単一セグメントであるか、または複数セグメントであるかということを IMS は確認しません。

IMS 高速機能利用可能トランザクションの場合 、MSGTYPE= キーワード・パラメーターは必ず検査され 、MSGTYPE=(SNGLSEG,RESPONSE) が確認されます。この指定がない場合、 警告診断が出されます。

MSGTYPE キーワードの最初のパラメーターは、セグメントの数につ いて、次の選択項目のいずれかを指定します。

MULTSEG
着信メッセージの長さが複数のセグメントであってもかまわないことを指定し ます。 メッセージ終了標識が受信されるか、MFS によって完全なメッセージが作成 されるまで、アプリケーション・プログラムへのスケジューリングはできま せん。
SNGLSEG
着信メッセージの長さが 1 セグメントであることを指定します。端末オペレーター からセグメント終了の通知があれば、スケジューリングできます。

MSGTYPE キーワードの 2 番目のパラメーターは、 次の応答選択項目のいずれかを指定します。

NONRESPONSE
OPTIONS=TRANRESP の指定があるか、またはデフォルトとして 使用した端末に対して、このトランザクションの入力後、入力を停止させ ないことを指定します。
RESPONSE
OPTIONS=TRANRESP の指定があるか、またはデフォルトとして 使用した端末に対して、このトランザクションの入力後、 このトランザクションから端末に応答メッセージが送り返されるまで、 それ以上のメッセージを送らないことを指定します。応答モードは、 個々の端末定義で強制することも否定することもできます。

MSGTYPE= キーワードの 3 番目のパラメーターには、この トランザクション・コードに割り当てるクラスを指定します。クラス・パラメーター は、1 から 999 の 10 進値でなければなりません。デフォルトは 1 です。

クラス・キーワードに関連付けられる値は、/ASSIGN コマンド で変更できるため、これらの値が MODBLKS システム定義の過程で変更されたか 否かに関係なく、既存のトランザクションに対する オンライン変更シーケンス (/MODIFY オペレーター・コマンド・シーケンス) に よる影響を受けません。指定される値は、IMSCTRL マクロ・ステートメント で指定 (またはデフォルトとして想定) された MAXCLAS= の値を 超えてはなりません。リモート・トランザクション・コードには、 どのような値が指定 (またはデフォルトと して想定) されても、クラス 0 が割り当てられます。 APPLCTN マクロで トランザクション・コード・クラスが指定されている場合、 このパラメーターを指定する必要はありません。 APPLCTN と TRANSACT マクロの両方で トランザクション・コード・クラスが指定された場合、このトランザクション では、APPLCTN マクロの指定は無視されます。非 CPI トランザクションに使用した メッセージ・クラスとは異なるメッセージ・クラスで CPI トランザクションを定義してください。 IMS は、すべての CPI トランザクションをそのトランザクション・クラス内 で優先順位 0 として処理します。

MSGTYPE=RESPONSE は、応答モードで動作していないすべての端末で、オンライン処理のときに無視されます。

PARLIM=

変更の始まり先行の APPLCTN マクロ命令で SCHDTYP=PARALLEL が指定されて いる場合に使用されるしきい値を指定します。非共用キュー環境では、現行トランザクションのエンキュー・カウントが、PARLIM 値に、このトランザクションに現在スケジュールされている領域の数を掛けた値を超えると、このトランザクションのクラスの後続のスケジュール・イベントが発生したときに 1 つの追加領域がスケジュールされます。 共用キュー環境では、 エンキュー・カウントではなく正常な連続 GU カウントが使用されます。連続 GU カウントが、PARMLIM 値に現在スケジュールされている領域数を掛けた値と同じ場合 (または PARMLIM=0 の場合)、追加の領域がスケジュールされます。 イベントには次のものを含めることができます。変更の終わり

  • 端末からのメッセージ・エンキュー。
  • アプリケーションからのメッセージ挿入。1 つの同期点 EXPRESS=NO PCB に付き 1 つの領域が許可されます。例えば、アプリケーションが同じトランザクション・コードで 2 つのメッセージを挿入する場合、同期点でスケジュールされるのは 1 つの領域のみです。
  • /ASSIGN コマンド。
  • アプリケーション term スレッド。
  • 変更の始まり正常に行われたアプリケーション・メッセージ GU (共用キューのみ)変更の終わり
PARLIM、IMS パラメーターに値を指定しなかった場合 :
  • PARLIM に値 65 535 を割り当てます。PARLIM の値として 65535 を指定することはできません。
  • 一度に 1 領域にのみトランザクションをスケジュールに入れることを許可します (IMS がトランザクション・ロード・バランシングを使用不可にします)。

PARLIM に有効な値は、0 から 32767 までの任意の数値か、65535 にすることができます。

変更の始まりPARLIM=0 は、入力メッセージ (または共用キューの場合は正常に行われた GU) ごとに新しい領域がスケジュールされることを示します。このスケジューリング条件 (メッセージ数が 0 より大きい) が常に満たされるためです。変更の終わり

PARLIM に指定する値は、メッセージ処理プログラム (MPP) にのみ適用されます。PARLIM はバッチ・メッセージ処理プログラム (BMP) ではサポートされません。

PARLIM は FPE トランザクションには適用されません。また、デフォルトの 65535 に設定できるようにする必要があります。FPE トランザクションに PARLIM 値を指定しても、スケジューリングで無視されます。デフォルト値以外の PARLIM 値を指定した場合、/DISPLAY TRAN または QUERY TRAN などのコマンドで FPE トランザクションの分岐リンク (BAL) 状況が示されます。FPE トランザクションの場合、PARLIM および BAL 状況は無視できます。

PARLIM の値は、MODBLKS システム定義の過程で変更されたか否かに関係なく、既存のトランザクションに対するオペレーター・コマンドのオンライン変更シーケンスによっては影響されません。それは、PARLIM= キーワードに関連づけられる値は /ASSIGN コマンドで変更できるためです。

注: 共用キュー環境では、PARLIM 値の振る舞いは、非共用キュー環境とは異なります。非共用キュー環境では、トランザクションのキュー項目数 (現在キューに入れられているメッセージの数) が PARLIM 値と比較される値として使用され、別の領域をスケジュールする時期が判別されます。IMS は、キューが増加するにつれてスケジュールに入れる領域の数を増やすことにより、入力トランザクションのキューの増加に対応します。

共用キュー環境では、キューは Common Queue Server (CQS) によって管理される共用キュー・カップリング・ファシリティー構造内にあるため、個々の IMS はキューの項目数を認識しません。トランザクション・キューは、多数のさまざまな IMS システムによって追加される可能性があります。IMS は、キューに最初のメッセージが入れられたとき (つまり、キューが空でなくなったとき) にのみ通知を受けます。IMS は、最初のメッセージの後に、後続のメッセージがキューに置かれるたびに通知を受けるわけではありません。 共用キュー環境では、PARLIM の比較は、キュー項目数ではなく、各 IMS が保持している、その IMS によるトランザクションの成功した連続 GU 呼び出し数のカウンターに突き合わせて行われます。 IMS は、CQS から絶えずメッセージを受け取るときは、CQS の要求に応じて追加の領域をスケジュールに入れます。このように、共用キュー環境では、IMS は処理アクティビティーに基づいてメッセージのキュー項目数を推定しますが、実際のキュー項目数は認識しません。

変更の始まり共用キュー環境における PARLIM 値 0 は、最も即応性のある設定です。 PARLIM(0) では、トランザクション・キューからすべてのメッセージが処理されるまで、または最大領域値 (MAXRGN) の限度に達するまで、メッセージ領域が確実にスケジュールされます。しかし、PARLIM(0) では、多数の不要なスケジュール (つまり、偽のスケジュール) が行われる可能性があります。偽のスケジュールが発生するのは、メッセージ領域がスケジュールされたが、キューにはそれ以上のメッセージがないことが分かった場合です。これは特に、PARLIM(0) の場合に起こります。その理由は、get unique (GU) が正常に実行されるたびに、IMS は追加の領域をスケジュールに入れて、ほかのメッセージがあるかどうか確認するためにキューの読み取りを試みる必要があるからです。キューが空になるまで、GU が正常に実行されるたびにこの処理が継続され、空になった時点で後続の GU カウントが 0 にリセットされます。この原因は、トランザクション・キューに入れられたメッセージの数を IMS が認識していないことです。変更の終わり

PARLIM をゼロより大きい値に設定すると、偽のスケジュールの数を減らすことができます。この場合、IMS はキューが空になることなく連続していくつかのメッセージを受け取った後でのみ、新しいメッセージ領域をスケジュールに入れるからです。PARLIM を 2 以上の値に設定すると、低ボリュームで比較的迅速に実行されるトランザクション (したがって、キュー項目数は通常 1) の偽のスケジュールを削減するのに役立ちます。これは、最初の領域が少なくとも 2 つのメッセージを連続して受け取るまで、2 番目の領域をスケジュールしないからです。ただし、0 より大きい PARLIM 値は、不要なスケジュールを減らすことができる一方で、即応性に劣ることにも注意してください。トランザクションが長時間実行されたり、その処理が遅れたりした場合 (例えば、ロッキング競合により)、そのトランザクションが実行されている間、連続 GU カウントは変更されず、追加のメッセージ領域はスケジュールされません。その結果、現在スケジュールされているメッセージが完了するまで、この同じトランザクションの他のメッセージの処理が遅れることがあります。この遅延は、トランザクションの処理のためにメッセージ領域が利用可能である場合でも起きる可能性があります。

推奨事項:
  • PARLIM=0 を指定する場合には、MAXRGN の値も指定して、特定の トランザクションを処理するため、スケジュールできる領域の数を制限します。 PARLIM=0 を指定して MAXRGN の値を指定しなかった場合、1 つのトランザクションが、使用可能なすべての領域を独占してしまうことがあります。
  • TRANSACT マクロに SERIAL=YES、または APPLCTN マクロに SCHDTYP=SERIAL を指定する場合は、PARLIM パラメーターを省略して、デフォルト値 (65535) を受け入れてください。また、TRANSACT マクロ内で MAXRGN パラメーターを省略するか、0 に設定します。
PROCLIM=
このトランザクション・コードについて、1 回のスケジューリングでプログラムが処理できるメッセージの数 (count)、および 1 つのトランザクション (またはメッセージ) のプロセスに許される時間 (非高速機能トランザクションの場合は秒単位、高速機能トランザクションの場合は 100 分の 1 秒単位) を指定します。 バッチ・メッセージ・プログラム (BMP) は 、これらの設定による影響を受けません。

最初のパラメーター (count) は 、/ASSIGN コマンドで変更できます。したがって、MODBLKS システム定義の過程で 変更されたか否かに関係なく、既存のトランザクションに対するオンライン変更 シーケンス (オペレーター・コマンド・シーケンス) によっては影響されません。

count フィールドには、IMS 制御プログラムから アプリケーション・プログラムへ、そのアプリケーション・プログラムを 再ロードすることなく送れるメッセージの最大数を指定します。count 値の範囲は、 0 から 65 535 です。0 をコーディングした場合、アプリケーションへ送信されるメッセージの最大数は 1 で、アプリケーション・プログラムは後続のメッセージを受信する前に再ロードされます。1 回のプログラム・ロードで処理できるメッセージの数 を制限したくない場合には、count に値 65 535 を指定します。迅速なスケジュール変更処理には、1 から 65 535 までの値が適しています。

CPU-time-per-transaction パラメーターは、処理限界カウント時間を指定します。これは、単一のトランザクションの処理に許容される時間です (非高速機能トランザクションの場合は秒単位、高速機能トランザクションの場合は 100 分の 1 秒単位)。この数値は、メッセージ処理領域内の 1 つのメッセージに許容される最大 CPU 時間を指定します。値は 1 から 65535 までの範囲の数値です。最大値を指定すると、アプリケーション・プログラムに時間制限は課されません。

高速機能トランザクション (利用可能と専用の両方) の場合、CPU-time-per-transaction はトランザクション処理の過程で経過する実時間を表しています (累積タスク時間ではありません)。 実時間を使用するのは、入力端末が応答モードで、応答が送信される までは他のトランザクションを入力できないためです。 count サブパラメーターは無視されます。

PROCLIM のデフォルトは、 65 535 と 65 535 です。

指定された count 値は、アプリケーション・プログラム が 1 回のスケジューリング・サイクル (つまり、プログラム・ロード) で 処理できるメッセージの数を決めるのに用いられます。 アプリケーション・プログラムが count の値に示された数の メッセージを要求して受信すると、それ以降の要求は次の 2 つのいずれ かの結果をもたらします。

  1. 次の条件のいずれかが真であると、IMS は、"これ以上、メッセージはない" ことを 示します。
    • 領域が MPP でない
    • 現在スケジュールされているモードが MODE=SNGL でない。
    • 優先順位が同じか、高位のトランザクションが、該当の領域に対し てエンキューされている。

    IMS では、実際には、そのアプリケーション・プログラムに対する他のメッセージ がエンキューされていることがあります。これ以上メッセージがないことを示す通知を 受けた場合に、終了するのはアプリケーション・プログラムの責任です。アプリケーション・プログラム の終了によって、それが占有していた領域のスケジュール変更が可能になります。 この機能によって、前のトランザクションのプロセス中にシステムに入る 可能性がある優先順位がより高いトランザクションを、IMS が スケジュールできるようになります。同じ優先順位のトランザクションが いくつかエンキューされている場合には、先入れ先出し (FIFO) の原則によ るスケジューリング順序が適用されます。

  2. 領域は、以下の条件のすべてが真であれば、即時にスケジュール変更され、アプリケーションに次のメッセージを返します。
    • 領域が MPP である
    • トランザクションが MODE=SNGL である
    • 優先順位がより高いトランザクションがエンキューされていない
    • そのアプリケーションについて、メッセージがまだエンキューされている

優先順位の等しいトランザクションがエンキューされた場合は、PROCLIM 値に達していなければ、IMS はトランザクションの即時スケジュール変更を許可します。 PROCLIM 値に達した場合、IMS は即時スケジュール変更を許可せず、他のトランザクションを処理します。

即時スケジュール変更は、IMS のスケジューリング・アルゴリズムの影響も受けます。このアルゴリズムは、次に示す要因やその他の要因を考慮に入れます。
  • MAXRGN 値
  • PARLIM 値
  • トランザクションがスケジュールされている領域の現在の数。

CPU-time-per-transaction の値は、アプリケーション・プログラム・ループを制御します。この CPU-time-per-transaction の値は、必ずしも、プログラム・トランザクションの実行時間に合わせて最適化する必要はありません。ただし、CPU-time-per-transaction 時間の値は、1 トランザクション当たりの予想実行時間よりも短くてはなりません。スケジュールされたアプリケーション・プログラムが CPU-time-per-transactioncount の積を超えると、そのアプリケーション・プログラムは異常終了します (CPU-time-per-transactioncount の積が 24 時間を超えると、24 時間が使用されます)。DFSMPR マクロに IMS STIMER の値として 2 が指定されていると 、DL/I 呼び出しが完了するまで領域は異常終了しません。

アプリケーションは、IMS STIMER をオーバーライドする STIMER TASK などの z/OS® タイマー・サービスを使用してはなりません。IMS は、 IMS STIMER を使用して、トランザクションの実行を計測しています。 z/OS TIMER を発行すると、それによって IMS STIMER が無効になります。

IMS STIMER タスクはプロセッサー時間の統計を追跡します。それには、次の時刻期間が含まれます。
  • アプリケーション・プログラムの実行時間
  • DL/I 処理時間
  • 従属領域の TCB のもとで処理を続ける Db2® for z/OS のような ESAF ユーザーの CPU 時間。Db2 for z/OS が他の TCB に切り替わると (つまり並列処理、ロギング、およびプリフェッチの場合)、この時間は含まれません。
PRTY=
このトランザクションのスケジューリング優先順位を決定する値を指定します。 この優先順位は、このトランザクションによって作成され、リモート・システム の宛先に送信されるメッセージの優先順位も制御します。
normal
エンキューされ、処理を待機している入力トランザクションの 数が limit count の値よりも小さい場合に、 このトランザクションに割り当てられる優先順位。指定できる値の範囲は 0 から 14 で、デフォルトは、1 です。
limit
エンキューされ、処理を待機している入力トランザクションの 数が limit count の値に等しいかそれより大きい場合に、 このトランザクションに割り当てられる優先順位。指定できる値の範囲は 0 から 14 で、デフォルトは 1 です。
限界数 (limit count)
エンキューされ、処理を待機している入力トランザクションの 数と比較される値を指定します。この比較により、このトランザクションに 通常 (normal) 優先順位と 限界 (limit) 優先順位のどちらを割り当てるかが 決まります。limit count 値の範囲は、1 から 65535 までです。デフォルトは 65535 です。

限界優先順位を使用すると、指定された限界優先順位の値まで いったん引き上げられた優先順位は、この トランザクション・コードに対してエンキューされているすべ てのメッセージが処理されるまで、通常優先順位に下降しません。

このトランザクションに限界優先順位を適用したくない場合は、通常優先順位と限界優先順位に同じ値をコーディングし、限界カウントに 65535 を指定します。

トランザクションをバッチ・メッセージ・プログラム (BMP) によっての み処理する場合には、通常優先順位と限界優先順位を 0 として指定します。BMP によって処理される トランザクションでは、限界カウントの値は無視されます。

APPLCTN マクロ・ステートメントは、プログラム・タイプが バッチ (APPLCTN マクロ・ステートメントの PGMTYPE=BATCH の指定) である場合、 そのステートメントと関連付けられているすべての トランザクション・コードのスケジューリング優先順位を強制的に 0 にします。 ただし、 バッチ・メッセージ処理領域 (BMP) では、スケジューリング優先順位が 0 以外 のトランザクションも処理できます。

リモート・トランザクションでは、PRTY パラメーターは、 トランザクションを処理システムに送信するのに使用される優先順位を決定 します。この優先順位は、MSC リンク・メッセージ優先順位 と呼 ばれます。MSC リンク・メッセージ優先順位には、次の 3 つ のグループがあります。
低優先順位グループは、 入力端末システムにおける 1 次要求から構成され、リモート・トランザクション優先順位 0 から 6 が割り当てられます。 中優先順位グループは、2 次要求、応答、中間システムにおける 1 次要求、入力端末システム における 1 次要求から構成され、 リモート・トランザクション優先順位 7 が割り当てられます。高優先順位グループ は、入力端末システムにおける 1 次要求から構成されます。 このグループ のメッセージは、リモート・トランザクション優先順位 8 から 14 が割り当てられます。 どのグループでも、個々のメッセージに与えられる優先順位は、入力端末シ ステム (1 次要求の場合) か最新処理システム (2 次要求と応答の場合) で のトランザクションまたはリモート・トランザクションの現行優先順位値 に基づきます。

MSC 構成では、このトランザクションによって挿入されるメッセージ を MSC リンクで送信する優先順位は、トランザクション優先順位に基 づいて決められます。 トランザクションが同一宛先に向けて複数の メッセージ (例えば、プリンターあてに数ページ) を挿入する際に、その メッセージを挿入順序どおりに送信する必要がある場合には、 通常優先順位と限界優先順位の値を同じにしておかなければなりません。通常優先順位と限界優先順位が同じでない場合、 後で挿入されたメッセージでも、先に挿入されたメッセージより優先順位が高いと、宛先に早く 着くことがあります (この制約条件は、同一メッセージの複数セグメントには適用されません)。

同じトランザクションは、定義されているすべてのシステムで同じ特性を与え られていなければなりません。 特性には、次のものが含まれ ます。
  • 非会話型/会話型
  • 会話型なら SPA サイズ
  • 単一/複数セグメント・メッセージ
  • 非照会型/照会型
  • リカバリー可能/リカバリー不能
ROUTING=
複数 IMS システム構成で MSC の指示によるルーティングを行う場合、 トランザクションを処理するアプリケーション・プログラムに、そのトランザクションの起点 であるシステムを知らせる (YES) か、知らせない (NO) かを指定します。

ROUTING=YES の場合、発信元システムにさかのぼる論理パスを指 し示す MSNAME が、入出力 PCB に入れられます。 ROUTING=NO の場合は、 起点 LTERM の名前が入出力 PCB に入れられます。 デフォルトは NO です。

SEGNO=
アプリケーション・プログラムからの 1 回の Get Unique (GU) 呼び出しで、 メッセージ・キューへ入れることを許されるアプリケーション・プログラム出力セグメントの 最大数を指定します。 0 から 65535 までの 10 進数を指定する必要があります。デフォルトは 0 です。 デフォルト指定 0 を使用すると、オンライン・システムは、実行時にセグメントの 数を検査しません。

SEGNO= キーワードと関連付けられる値は /ASSIGN コマンドで変更できるため、MODBLKS システム定義の過程で変更されているか否かに関係なく、既存のトランザクションに対するオペレーター・コマンドのオンライン変更シーケンスによる影響を受けません。

SEGSIZE=
1 つの出力セグメントに許される最大バイト数を指定します。 0 から 65535 までの 10 進数を指定する必要があります。デフォルトは 0 です。デフォルト指定 0 を使用すると、 オンライン・システムは、実行時にセグメント・サイズを検査しません。

SEGSIZE= キーワードと関連づけられる値は /ASSIGN コマンド で変更できるため、MODBLKS システム定義の過程で変更されているか 否かに関係なく、既存のトランザクションに対する オペレーター・コマンドのオンライン変更シーケンスによる影響を受けません。

LU 6.2 装置への出力メッセージ・セグメントの最大サイズは、32,767 です。LU 6.2 装置に出力を送信することが予想されるトランザクションでは、SEGSIZE パラメーターに 32,767 より大きい値を指定しないでください。ただし、 これは、TRANSACT マクロの処理過程では強制されません。IMS は、 出力時までメッセージ宛先の装置タイプを決めることができないためです。

SERIAL=
指定したトランザクションにメッセージのシリアル処理を強制します。SERIAL=YES で あると、U3303 疑似異常終了の場合に、メッセージは、 延期キューに入れられるのではなく、 トランザクション・メッセージ・キューの先頭に置かれ、 トランザクションは USTOP で停止されます。

/START コマンドでトランザクションまたはクラスが開始されると、トランザクションの USTOP は除去されます。

このキーワードのデフォルトは NO です。この場合、メッセージ処理は以前 と同様に行われ、U3303 疑似異常終了が起こると、メッセージが延期キュー に入れられます。 スケジューリングは、失敗が繰り返され、 トランザクションが USTOP されるまで、続行されます。

SERIAL=YES を指定する場合は、TRANSACT マクロの MAXRGN パラメーターを省略するか、0 に設定してください。また、TRANSACT マクロの PARLIM パラメーターも省略して、デフォルト値 (65535) を受け入れてください。

SPA=
このパラメーターの組み込みにより、トランザクションは会話型トランザクション として定義されます。
サイズ
会話型スクラッチパッド域 (SPA) のサイズを指定します。指定 するサイズの範囲は、16 から 32767 (両端の数値を含む) バイトで なければなりません。
STRUNC│RTRUNC
切り捨てデータ・オプションのオン (STRUNC) とオフ (RTRUNC) を切り替えることができます。

SPA=STRUNC と指定すると、もっと小さな SPA で定義されている トランザクションへのプログラム間通信が行われた場合でも 、IMS はすべてのデータを SPA に保存します。もっと小さな SPA を使 ったトランザクションでは切り捨てデータは見えませんが、そのトラン ザクションが、もっと大きな SPA を使用したトランザクションに切り替わる ときに、切り捨てられたデータが使用されます。

SPA=RTRUNC を指定した場合、切り捨てられたデータは保存されません。

デフォルトは STRUNC です。

会話が最初に開始されて、プログラムが切り替わると、STRUNC│RTRUNC オプションがチェックされてから、指定どおりに設定またはリセットされます。このオプションが設定されると、その会話の期間、またはオプションの リセットの指定があるトランザクションに対する プログラム間通信が生じるまで、そのオプション設定 は存続します。

プログラム間通信が生じると、まず新規のトランザクションに対する 切り捨てデータ・オプションが検査され、STRUNC または RTRUNC の指定があ る場合には、その指定が会話に設定され、出力メッセージに挿入される SPA に使用されます。 新規トランザクションにこのオプションの指定がない場合には、会話 に対して現在有効なオプションが使用されます。

制約事項: CORE、DASD、および FIXED オペランドは、現在では使用できません。これらを指定す ると、アセンブリー・エラーが生じます。

SYSID=
複数 IMS システム構成において、リモート・システム (アプリケーションが稼働する システム) のシステム識別名 (SYSID) と、ローカル・システム (応答が戻される 発信元システム) の SYSID を指定します。 指定する値 は、1 から 2036 のものでなければなりません。 ここに指定するリモート SYSID は、MSNAME マクロ・ステートメントでも 定義されていなければなりません。しかし、ローカル SYSID は、MSNAME、 TRANSACT、および APPLCTN 各マクロ・ステートメントのどこに (あるいは、そのす べてに) 定義されていてもかまいません。

APPLCTN マクロ・ステートメントに SYSID パラメーターが指定されて いる場合には、TRANSACT マクロ・ステートメントに SYSID を指定する 必要はありません。APPLCTN および TRANSACT マクロ・ステートメントの 両方に SYSID が指定されている場合、TRANSACT の指定は無視されます。

SYSID パラメーターは、MSPLINK マクロ・ステートメントの TYPE= キーワードで指定する リンク・タイプ (CTC、MTM、VTAM) に左右されません。SYSID= キーワードと 関連づけられる値は /MSASSIGN コマンドで変更できる ため、MODBLKS システム定義の過程で変更されたか否かに関係なく、 既存のトランザクションに対する オンライン変更シーケンス (オペレーター・コマンド・シーケンス) による影響を受けま せん。 値が効力を発揮するのは、IMS コールド・スタートの時のみです。

高速機能専用トランザクションには、SYSID= を指定してはなりません。 リモート・トランザクションをローカルとして指定するには、 関連する APPLCTN マクロをローカルとして定義しておかなければなりません。 これは、 関連する APPLCTN マクロには、SYSID= パラメーターを指定できないこ とを意味します。

制約事項: TRANSACT マクロで指定されている他のパラメーターへの変更も要求された場合に SYSID パラメーターを追加しようとすると、MODBLKS オンライン変更はリジェクトされます。

TRANSTAT=
トランザクション・レベルの統計をログに記録するかどうかを指定します。Y を指定すると、トランザクション・レベル統計は X'56FA' ログ・レコード内のログに書き込まれます。
N
トランザクション・レベルの統計がログに記録されません。
Y
トランザクション・レベルの統計がログに記録されます。
TRANSTAT キーワードはオプションです。TRANSTAT キーワードに値を指定しなかった場合、しかもデフォルトの記述子が IMS 定義の記述子 DFSDSTR1 である場合は、IMS コールド・スタート時に設定された DFSDFxxx PROCLIB メンバー TRANSTAT パラメーターの値が使用されます。DFSDFxxx TRANSTAT 値を変更しても、再始動後のデフォルト記述子 TRANSTAT 値は影響を受けません。トランザクションまたはトランザクション記述子の作成時にシステム・デフォルトをオーバーライドするには、CREATE TRAN または CREATE TRANDESC コマンドで TRANSTAT キーワードを使用してください。
WFI=
変更の始まり定位置パラメーター WFI は、これが入力待ちトランザクションであるこ とを指定します。 WFI トランザクションを処理するメッセージ処理またはバッチ処理アプリケーション・プログラムは、通常どおりにスケジュールされ、呼び出されます。処理するトランザクションが WFI として定義されている場合、プログラムは、使用可能な入力メッセージを処理した後も主ストレージに残ることが許可されます。以下のいずれかが該当する場合、プログラムに QC 状況コード (これ以上のメッセージなし) が返されます。
  • PROCLIM count に達した場合
  • スケジュールされたトランザクション、データベース、プログラム、またはクラスの状況を変更するコマンドが入力された場合
  • トランザクションによって使用されているデータベースに関連する /DBR/DBD、または /STA コマンドが入力された場合
  • IMS がチェックポイント・シャットダウンで終了した場合
WFI が指定されていると、MODE=SNGL が強制されます。変更の終わり