UPDATE TRAN command

Use the UPDATE TRAN command to update transaction resources.

Environment

The following table lists the environments (DB/DC, DBCTL, and DCCTL) from which the UPDATE TRAN command and keywords can be issued.

Table 1. Valid environments for the UPDATE TRAN command and keywords
Command / Keywords DB/DC DBCTL DCCTL
UPDATE TRAN X   X
CLASS X   X
NAME X   X
OPTION X   X
SCOPE X   X
SET X   X
START X   X
STOP X   X

Syntax

Read syntax diagramSkip visual syntax diagram
                           .-,-------------.     
                           V               |     
>>-+-UPDATE-+--TRAN--NAME(---+-tranname--+-+-)------------------>
   '-UPD----'                '-tranname*-'       

>--+---------------------------------------+-------------------->
   |        .-,------------------------.   |   
   |        V                          |   |   
   '-CLASS(-----current_class_number---+-)-'   

>--+-| A |--------+--+-----------------------------+------------>
   +-| B |--------+  |           .-,----------.    |   
   +-| A |--| B |-+  |           V            |    |   
   '-| C |--------'  '-OPTION--(---+-AFFIN--+-+-,)-'   
                                   '-ALLRSP-'          

   .-SCOPE(ALL)----.   
>--+---------------+-------------------------------------------><
   '-SCOPE(ACTIVE)-'   

A

          .-,-----------.     
          V             |     
|--START(---+-Q-------+-+-)-------------------------------------|
            +-SCHD----+       
            +-SUSPEND-+       
            '-TRACE---'       

B

         .-,---------.     
         V           |     
|--STOP(---+-Q-----+-+-)----------------------------------------|
           +-SCHD--+       
           '-TRACE-'       

C

        .-,-----------------------------------.     
        V                                     |     
|--SET(---+-AOCMD(-+-CMD--+-)---------------+-+-)---------------|
          |        +-N----+                 |       
          |        +-TRAN-+                 |       
          |        '-Y----'                 |       
          +-CLASS(class)--------------------+       
          +-CMTMODE(-+-MULT-+-)-------------+       
          |          '-SNGL-'               |       
          +-CONV(-+-N-+-)-------------------+       
          |       '-Y-'                     |       
          +-CPRI(value)---------------------+       
          +-DCLWA(-+-N-+-)------------------+       
          |        '-Y-'                    |       
          +-DIRROUTE(-+-N-+-)---------------+       
          |           '-Y-'                 |       
          +-EDITRTN(-+-name-+-)-------------+       
          |          '-0----'               |       
          +-EDITUC(-+-N-+-)-----------------+       
          |         '-Y-'                   |       
          +-EMHBSZ(size)--------------------+       
          +-EXPRTIME(seconds)---------------+       
          +-FP(-+-E-+-)---------------------+       
          |     +-N-+                       |       
          |     '-P-'                       |       
          +-INQ(-+-N-+-)--------------------+       
          |      '-Y-'                      |       
          +-LCT(value)----------------------+       
          +-LOCK(-+-ON--+-)-----------------+       
          |       '-OFF-'                   |       
          +-LPRI(value)---------------------+       
          +-MAXRGN(number)------------------+       
          +-MSGTYPE(-+-MULTSEG-+-)----------+       
          |          '-SNGLSEG-'            |       
          +-MSNAME(name)--------------------+       
          +-NPRI(value)---------------------+       
          +-PARLIM(value)-------------------+       
          +-PGM(name)-----------------------+       
          +-PLCT(value)---------------------+       
          +-PLCTTIME(hundredths of seconds)-+       
          +-RECOVER(-+-N-+-)----------------+       
          |          '-Y-'                  |       
          +-REMOTE(-+-N-+-)-----------------+       
          |         '-Y-'                   |       
          +-RESP(-+-N-+-)-------------------+       
          |       '-Y-'                     |       
          +-SEGNO(number)-------------------+       
          +-SEGSZ(size)---------------------+       
          +-SERIAL(-+-N-+-)-----------------+       
          |         '-Y-'                   |       
          +-SIDL(localsysid)----------------+       
          +-SIDR(remotesysid)---------------+       
          +-SPASZ(size)---------------------+       
          +-SPATRUNC(-+-R-+-)---------------+       
          |           '-S-'                 |       
          +-TRANSTAT(-+-N-+-)---------------+       
          |           '-Y-'                 |       
          '-WFI(-+-N-+-)--------------------'       
                 '-Y-'                              

Keywords

The following keywords are valid for the UPDATE TRAN command:

CLASS()
Selects the transactions associated with the specified class or classes to be updated.
NAME(tranname)
Specifies the 1-8 character name of the transaction. Wildcards can be specified for the tranname. The tranname is a repeatable parameter. If the NAME parameter specified is a specific or wildcard name, command responses are returned for all the resource names that are processed. For NAME(*) command responses are returned only for the resource names that resulted in an error. OPTION(ALLRSP) can be specified with NAME(*) to obtain the command responses for all the resource names that are processed.
OPTION()
Specifies the additional functions to be performed. Following is a list of additional functions:
AFFIN
AFFIN is valid with START(SCHD) or STOP(SCHD).

When used with START(SCHD), OPTION(AFFIN) indicates that the transaction has local affinity to the IMS™ and that an inform request should be performed to register interest in the local affinity queue. In a shared-queues (SQ) environment, messages for transactions that have affinity to the local IMS are placed on the coupling facility by using a queue name that consists of the transaction name with the local IMSID or RSENAME (XRF) appended. Local affinity registration, registration for a queue name that consists of the transaction name with the local IMSID or RSENAME (XRF) appended, is performed in addition to the normal transaction registration, registration for a queue name that consists of the transaction name with blanks appended. When you register interest in a queue, IMS™ is notified when messages are placed on the queue for processing.

When used with STOP(SCHD), OPTION(AFFIN) indicates that the IMS should unregister interest in the transaction's local affinity queue.

After you start a transaction with OPTION(AFFIN), local affinity status (AFFIN) is set and remains set for the transaction until IMS is cold started. The QUERY TRAN NAME(tranname) SHOW(ALL) command shows the status of AFFIN. If a subsequent UPDATE TRAN NAME(tranname) STOP(SCHD) or UPDATE TRAN NAME(tranname) START(SCHD) command is performed, the command toggles registration of interest in both the normal and local affinity transaction queues, whether OPTION(AFFIN) is specified or is not.

Local affinity status is not maintained across an IMS cold start. At the end of cold start processing, when shared-queues informs are completed, IMS registers interest in the normal transaction queues only. It does not register interest in the local affinity queues. As a result, messages on a local affinity queue cannot be scheduled. The UPDATE TRAN START(SCHD) OPTION(AFFIN) command corrects this situation by performing an inform request to register interest in the local affinity queue for the IMSID.

If the DFSMSCE0 user message routing exit is used to set local affinity for an input transaction message in a shared-queues environment and the IMS control region is stopped, and subsequently cold started, you need to perform the UPDATE TRAN NAME(tranname) START(SCHD) OPTION(AFFIN) command so that an inform request is performed to register interest in the local affinity queue for the IMSID.

ALLRSP
Indicates that the response lines are to be returned for all resources that are processed on the command. The default action is to return response lines only for the resources that resulted in an error. It is only valid with NAME(*). ALLRSP is ignored for other NAME values.
SCOPE()
Specifies where IMS should apply the change. The default is ALL.
ALL
Changes are applied to the active IMS systems to which the command is routed. If you specify that global area status is to be maintained, changes are also applied globally by updating the value maintained by RM. The RM status is updated only by the command master IMS. If global area status is not maintained, the command action is same as the SCOPE(ACTIVE) command.
ACTIVE
Changes are applied to the active IMS systems to which the command is routed.
RM maintains global status information for some transactions. IMS updates that information in RM based on commands. When SCOPE(ALL) is specified, every IMS system that processes the command updates information in its local control blocks. Only the IMS command master calls RM to update the information globally.
SET()
Specifies the attribute values to be changed. A transaction must have the same characteristics in all systems where it is defined when it is shared. These characteristics include:
  • Nonconversational or conversational
  • SPA size if conversational
  • Single-segment or multisegment messages
  • Non-inquiry or inquiry
  • Recoverable or nonrecoverable
AOCMD
Specifies the AOI option that you want to change, which indicates whether the transaction can issue the type-1 AOI CMD call or the type-2 AOI ICMD call. If AOCMD is defined as CMD, TRAN, or Y, and the AOI1 execute parameter is defined as AOI1=N, no authorization checking is done and the transaction is permitted to issue CMD and ICMD calls.
CMD
Indicates that the transaction is permitted to issue type-1 AOI CMD calls and type-2 AOI ICMD calls. If the AOI1 execute parameter is defined as C, R, or A, authorization checking is based on which transactions can issue a particular command. In this case, the commands (or the first three characters of the commands) need to be defined to RACF® or an equivalent product as a user. The type-1 AOI transactions must be defined as profiles under the TIMS class, and for each transaction, the commands it can issue must be specified. Defining AOCMD(CMD) requires you to create fewer user IDs than you need to create for the AOCMD(TRAN) definition. However, defining AOCMD(CMD) requires you to create or modify a larger number of resource profiles.
N
Indicates that the transaction is not permitted to issue type-1 AOI CMD calls. The transaction is permitted to issue type-2 AOI ICMD calls.
TRAN
Indicates that the transaction is permitted to issue type-1 AOI CMD calls and type-2 AOI ICMD calls. If the AOI1 execute parameter is defined as C, R, or A, the transaction code is used for authorization. The first authorization check results in the accessor environment element (ACEE) being built. This environment is kept for use by future authorization checks. The type-1 AOI transaction needs to be defined to RACF or an equivalent product as a user. The transactions will then be specified on RACF PERMIT statements for each command they are allowed to issue from a type-1 AOI transaction. Specifying AOI transactions as users to RACF might conflict with the name of a user already defined to RACF. If this occurs, then either the transaction name or the existing user name needs to be changed.
Y
Indicates that the transaction is permitted to issue type-1 AOI CMD calls and type-2 AOI ICMD calls. If the AOI1 execute parameter is defined as C, R, or A, the user ID or the program name is used for authorization. For some environments, if a Get Unique call has not yet occurred, the program name is used for authorization.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

CLASS

Specifies the transaction class, which is an attribute used to select a transaction for scheduling. A transaction can be scheduled if there is a message processing region available for that class. The value can be a number from 1 to 999. This value must not exceed the value given (by specification or default) on the MAXCLAS= keyword of the IMSCTRL macro.

Define CPI-C transactions with a different message class from that used for non-CPI-C transactions. IMS handles all CPI-C transactions as priority zero within the transaction class.

CMTMODE

Specifies when database updates and non-express output messages are committed. This operand affects emergency restart.

MULT
Database updates and non-express output messages are committed only when the application program terminates normally, when the processing limit count has been reached, or, in the case of a pseudo-WFI dependent region, when there are no more messages on the queue. For example, if five transactions are processed during a single schedule of a program, all five are committed only when the fifth one is completed and the program terminates. Until a transaction has been committed, locks for updated database records are not released and non-express output messages are not queued for output. If an application ends abnormally before committing its messages, emergency restart requeues all the messages that were processed within the commit scope and makes them available for reprocessing.

If the transaction results in the application calling an external subsystem, such as DB2®, the Commit Verify exit provided by the external subsystem can determine whether CMTMODE(MULT) is supported. See documentation under the Commit Verify exit routine.

SNGL
Database updates and non-express output messages are committed when the application program completes processing each transaction. IMS invokes commit processing either when the application program requests the next message (issues a GU to the IO-PCB), or when the application program terminates. If an application ends abnormally before committing its messages, emergency restart requeues all the messages that were processed within the commit scope and makes them available for reprocessing. If an application ends abnormally before committing its message, emergency restart requeues the message that was in process before the abend and makes it available for reprocessing.

Keyword combination rules include the following:

  • CONV(Y) and CMTMODE(MULT) are mutually exclusive.
  • WFI(Y) and CMTMODE(MULT) are mutually exclusive.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

CONV
Specifies the conversation option.
N
The transaction is not conversational.
Y
The transaction is conversational. The transaction message is destined for a conversational program. A conversational program processes transactions made up of several steps. A conversational program receives a message from a terminal, replies to the terminal, but saves the data from the transaction in a scratchpad area (SPA). When the person at the terminal enters more data, the program has the data it saved from the last message in the SPA, so it can continue processing the request without the person at the terminal having to enter the data again.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • CONV(Y) requires SPASZ and SPATRUNC.
  • CMTMODE(MULT) and CONV(Y) are mutually exclusive.
  • FP(E) and CONV(Y) are mutually exclusive.
  • RECOVER(N) and CONV(Y) are mutually exclusive.
  • SPASZ and CONV(N) are mutually exclusive.
  • SPATRUNC and CONV(N) are mutually exclusive.
CPRI
Specifies a new value for the current priority of a transaction. The CPRI keyword is not allowed for BMP transactions, because BMP transactions should always have a priority of 0. The new CPRI value takes effect the next time the transaction is scheduled. Valid CPRI parameters are numeric values from 0 to 14.
DCLWA
Specifies the log write-ahead option.
N
IMS should not perform log write-ahead. Specify N if input message integrity and the consistency of output messages with associated database updates is not required. DCLWA does not apply to response mode or Fast Path input processing, and is ignored during IMS execution.
Y
IMS should perform log write-ahead for recoverable, nonresponse input messages and transaction output messages. This ensures the following:
  • A nonresponse input transaction is made recoverable across IMS failures, prior to IMS acknowledging receipt of the input.
  • Database changes are made recoverable prior to IMS sending associated output reply messages.
  • Information in the log buffers is written to the IMS log, before the associated input acknowledgment or output reply is sent to the terminal.

Define DCLWA(Y) for all VTAM® terminal types.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

DIRROUTE
Specifies the MSC directed routing option.
N
The application program processing a transaction is not informed of the system which originated the transaction. The name of the originating LTERM is placed in the I/O PCB.
Y
The application program processing a transaction is informed of the system which originated the transaction, if MSC directed routing is used in a multiple IMS system configuration. An MSNAME corresponding to a logical path back to the originating system is placed in the I/O PCB.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

EDITRTN

Specifies the 1- to 8-character name of your transaction input edit routine that edits messages before the program receives the message. This name must begin with an alphabetic character. The specified edit routine (load module) must reside on the USERLIB data set before IMS system definition stage 2 execution. This routine cannot be the same one defined by the system definition TYPE EDIT= parameter.

EDITRTN is used for a Fast Path potential transaction when the transaction is routed to IMS.

For input from LU 6.2 devices, the user edit exit routine DFSLUEE0 is called instead of the transaction input edit routine specified in EDIT.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

To remove an edit routine name from a transaction definition, specify EDITRTN(0).

FP(E) and EDITRTN are mutually exclusive.

EDITUC
Specifies the edit to uppercase option.
N
The input data is not translated to uppercase. It can consist of uppercase and lowercase characters as entered from the terminal.
Y

The input data is to be translated to uppercase before it is presented to the processing program. If FP(E) or FP(P), the transaction is to be translated to uppercase before being presented to the edit/routing exit routine.

Specifying EDITUC(Y) for VTAM terminals prevents the transmission of embedded device control characters.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

EMHBSZ

Specifies the EMH buffer size required to run the Fast Path transaction. This overrides the EMHL execution parameter. If EMHBSZ is not specified, the EMHL execution parameter value is used. The value can be a number from 0 to 30 720.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • EMHBSZ > 0 requires Fast Path to be defined.
  • FP(N) and EMHBSZ > 0 are mutually exclusive.
EXPRTIME
Specifies the elapsed time in seconds that IMS can use to cancel the input transaction. After a transaction is submitted to IMS, the transaction could be delayed for processing because of a stopped transaction or a potential system slow down. In that case, the user or client application could time out before the transaction is processed. When IMS eventually schedules and processes the transaction, the response message is no longer wanted. With the elapsed time specified for the transaction, IMS can flag the input transaction as expired so that the system does not waste CPU cycles to process the unwanted transaction.

The value can be a number, in seconds, which can range from 0 to 65535. The default is 0, which means that no expiration time is set for this transaction. The transaction expiration attribute is supported by all of the IMS TM interfaces.

Restriction: The transaction expiration checking is not performed at the GU time for Fast Path transactions, IMS conversational transactions, and program-to-program switch transactions.
FP
Specifies the Fast Path option.
E
The transaction is processed exclusively as Fast Path. The program must be defined as Fast Path exclusive.
N
The transaction is not a candidate for Fast Path processing. The program must be defined as not Fast Path. When FP(N) is specified, any attempt to use Fast Path resources or commands might yield unpredictable results.
P

The transaction is a potential candidate for Fast Path processing. Fast Path-potential transactions must be able to run under two applications: a Fast Path exclusive application and a non-Fast Path application. A Fast Path exclusive application should be defined to which this transaction can be routed. Fast Path–potential transactions must be processed by a user edit/routing exit to determine whether the transaction is actually to be processed by IMS Fast Path. If it is to be processed by IMS Fast Path, the edit/routing exit routine associates the transaction with a routing code. This routing code identifies which Fast Path application program is to process the transaction.

The program defined by PGM() must not be defined as Fast Path exclusive.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

In order to update a transaction from FP(E) to FP(N) or from FP(N) to FP(E) you must also update the transaction to point to a program that has the same FP() attribute. If you do not update the program attribute, the command will fail because of a program conflict.

If a Fast Path exclusive FP(E) transaction is being updated to Fast Path potential FP(P) or non-Fast Path FP(N) transaction and no limit count is specified, a limit count of 65535 is set.

Keyword combination rules include the following:

  • CONV(Y) and FP(E) are mutually exclusive.
  • EDITRTN and FP(E) are mutually exclusive.
  • EMHBSZ>0 and FP(N) are mutually exclusive.
  • FP(E) and FP(P) require Fast Path to be defined.
  • MSGTYPE(MULTSEG) and FP(E) are mutually exclusive.
  • MSGTYPE(MULTSEG) and FP(P) are mutually exclusive.
  • MSNAME and FP(E) are mutually exclusive.
  • RECOVER(N) and FP(E) are mutually exclusive.
  • RECOVER(N) and FP(P) are mutually exclusive.
  • RESP(N) and FP(E) are mutually exclusive.
  • RESP(N) and FP(P) are mutually exclusive.
  • SIDL and FP(E) are mutually exclusive.
  • SIDR and FP(E) are mutually exclusive.
INQ
Specifies the inquiry option.
N
This is not an inquiry transaction.
Y

This is an inquiry transaction. If INQ(Y) is specified, you can also specify whether this transaction should be recovered during an IMS emergency or normal restart using the RECOVER() parameter.

This should be specified only for those transactions that, when entered, do not cause a change in any database. Programs are prohibited from issuing ISRT, DLET, or REPL calls to a database when scheduled to process a transaction defined as INQ(Y).

An application program cannot do an SQL INSERT, DELETE, or UPDATE when the IMS transaction is defined with INQ(Y).

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • RECOVER(N) and INQ(N) are mutually exclusive.
LCT
Specifies the limit count. This is the number that, when compared to the number of input transactions queued and waiting to be processed, determines whether the normal or limit priority value is assigned to this transaction. The value can be a number from 1 to 65535. The default is 65535.

The limit count value is ignored for a transaction processed by a BMP.

The limit count value is ignored in a shared-queues environment.

The limit count value does not apply to FP exclusive transactions and is ignored.

LOCK
Specifies that the LOCK status is to be set on or off. SET(LOCK(ON | OFF)) cannot be specified with any other SET attribute. SET(LOCK(ON | OFF)) can be specified with the START or STOP keyword.
ON
Locks the transaction and prevents it from being scheduled. LOCK(ON) cannot be specified for Fast Path exclusive transactions, but can be specified for Fast Path potential transactions. LOCK(ON) cannot be specified for transactions for CPI Communications driven programs.
OFF
Unlocks the transaction and allows it to be scheduled.
LPRI

Specifies the limit priority. This is the scheduling priority to which this transaction is raised when the number of input transactions enqueued and waiting to be processed is equal to or greater than the limit count value. The scheduling priority is an attribute used to select a transaction for scheduling. A transaction of higher priority is scheduled before a lower priority one, if they are defined with the same class. The value can be a number from 0 through 14.

When the limit priority is used and the scheduling priority is raised to the limit priority, the priority is not reduced to the normal priority until all messages enqueued for this transaction name are processed. If you do not want the limit priority for this transaction, define equal values for the normal priority and limit priority, and a limit count of 65535.

When a transaction is processed exclusively by a batch message program (BMP), define the limit priority as 0. If the program specified by PGM() is defined with a program type of batch, the current priority is forced to be 0. However, a batch message processing region (BMP) can process transactions with current scheduling priorities other than 0.

This priority also controls the priority of messages created by this transaction and sent to a destination in a remote system. See also the discussion on MSC priorities under the NPRI definition.

The limit priority value is ignored for a transaction processed by a BMP.

The limit priority value is ignored in a shared-queues environment.

MAXRGN
Specifies a new value for the maximum number of regions that can be simultaneously scheduled for a given transaction. The transaction must be eligible for parallel scheduling (load balancing). The value of the MAXRGN parameter must be between 0 and the number specified on the MAXPST=control region parameter.

Start of changeThe keyword limits the number of message processing program (MPP) regions that can be concurrently scheduled to process a transaction. When the number of MPP regions is not limited, one transaction might monopolize all available regions. The value can be a number from 0 to the value specified on the MAXPST= control region parameter. MAXRGN(0) means that no limit is imposed. End of change

Start of changeIf you define the application program with a scheduling type of SERIAL, omit the MAXRGN keyword or define it as 0.End of change

The following keyword combinations are mutually exclusive:

  • PARLIM(65535) and MAXRGN value greater than 0
  • SERIAL(Y) and MAXRGN value greater than 0
MSGTYPE

Specifies the message type (single segment or multiple segment). It specifies the time at which an incoming message is considered complete and available to be routed to an application program for subsequent processing.

If MSC-directed routing is used in a multiple IMS system configuration, IMS does not ensure that both the message and the transaction destined to process that message are either single segment or multiple segments.

MULTSEG
The incoming message can be more than one segment in length. It is not eligible for scheduling to an application program until an end-of-message indication is received, or a complete message is created by MFS.
SNGLSEG
The incoming message is one segment in length. It becomes eligible for scheduling when the terminal operator indicates end-of-segment.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • FP(E) and MSGTYPE(MULTSEG) are mutually exclusive.
  • FP(P) and MSGTYPE(MULTSEG) are mutually exclusive.
MSNAME

Specifies the one- to eight-character name of the logical link path in a multiple IMS system configuration (MSC). A logical link path is a path between any two IMS systems. The IMS systems are identified by the remote system ID and the local system ID associated with the logical link path. The remote system ID identifies the system in which messages using this path are to be processed. The local system ID identifies this system. For an UPDATE TRAN command that is changing a transaction to a remote transaction, or changing the MSC path, the new MSNAME must already be defined.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • FP(E) and MSNAME are mutually exclusive.
  • SIDL and MSNAME are mutually exclusive.
  • SIDR and MSNAME are mutually exclusive.
NPRI

Specifies the normal scheduling priority. The scheduling priority is an attribute used to select a transaction for scheduling. A transaction of higher priority is scheduled before a lower priority one, if they are defined with the same class. The normal priority is assigned to the transaction as the scheduling priority when the number of input transactions enqueued and waiting to be processed is less than the limit count value. The value can be a number from 0 through 14. The default is 1.

This priority also controls the priority of messages created by this transaction and sent to a destination in a remote system.

When a transaction is processed exclusively by a batch message program (BMP), code the normal priority as 0.

When a transaction is processed exclusively by a batch message program (BMP), define the limit priority as 0. If the application program specified by PGM() is defined with a program type of batch, the current priority is forced to be 0. However, a batch message processing region (BMP) can process transactions with current scheduling priorities other than 0.

For remote transactions, the priority used to send the transaction to the processing system, which is termed the MSC link message priority. The three MSC link message priority groups are:

  • Low
  • Medium
  • High

The low priority group consists of primary requests in the input terminal system. This group is assigned remote transaction priorities from 0 to 6. The medium group consists of secondary requests, responses, primary requests in an intermediate system, and primary requests in the input terminal system. This group is assigned a remote transaction priority of 7. The high group consists of primary requests in the input terminal system. Messages in this group are assigned remote transaction priorities from 8 to 14. Within each group, messages have a priority based on the current priority value of the transaction or remote transaction in the input terminal system for primary requests, and on the latest processing system for secondary requests and responses.

In an MSC configuration, the transaction priority determines the priority used to send messages inserted by this transaction across an MSC link. If the transaction inserts multiple messages to the same destination (for example, pages to a printer) and these messages must be sent in the order inserted, the normal and limit priority values should be the same. If the normal and limit priority values are not identical, messages inserted at a higher priority than previously inserted messages could arrive at their destination first. (This restriction does not apply to multiple segments of the same message.)

The normal priority value is ignored for a transaction processed by a BMP.

PARLIM

Specifies the parallel processing limit count. This is the maximum number of messages that can currently be queued, but not yet processed, by each active message region currently scheduled for this transaction. This is the threshold value to be used when the associated application is defined with a scheduling type of parallel. An additional region is scheduled whenever the current transaction enqueue count exceeds the PARLIM value multiplied by the number of regions currently scheduled for this transaction.

The value can be a number from 0 to 32767 or 65535. PARLIM(0) indicates that any input message can cause a new region to be scheduled because the scheduling condition is always met (the number of messages is greater than zero). If you specify PARLIM(0), you should specify a MAXRGN value to limit the number of regions that can be scheduled to process a particular transaction. PARLIM(65535) means that parallel processing is disabled and IMS allows the transaction to be scheduled in only one region at a time.

The value specified for PARLIM applies to message processing programs (MPPs) only; it is not supported for batch message processing programs (BMPs).

If you define the application as SERIAL or the scheduling type as SERIAL, define PARLIM(65535).

In a shared-queues environment (when the scheduling type is PARALLEL), any PARLIM value other than 65535 causes a new region to be scheduled whenever the successful consecutive GU count exceeds the PARLIM value multiplied by the number of regions currently scheduled for this transaction. For shared-queues environments, the successful consecutive GU count is used instead of the queue count. New regions continue to be scheduled up to the maximum number of regions specified on MAXRGN.

Note: In a shared-queues environment, the PARLIM value behaves differently than it does in a non-shared-queues environment. In a non-shared-queues environment, the queue depth (the number of messages that are currently enqueued) for the transaction is used as the value that is compared with the PARLIM value to determine when to schedule another region. IMS responds to a growing queue of input transactions by scheduling more regions as the queue grows.

In a shared-queues environment, each individual IMS does not know the depth of the queue, because the queue is in the shared-queues coupling facility structure that is managed by Common Queue Server (CQS). The transaction queue might be added to by many different IMS systems. IMS is notified only when the first message is put in a queue (that is, when the queue becomes not empty). IMS is not notified for every subsequent message that is placed on the queue after that first message. In a shared-queues environment, the PARLIM comparison is done against a counter that each IMS keeps of the number of successful consecutive GU calls for the transaction by that IMS, rather than queue depth. IMS schedules more regions when it consistently gets messages from CQS when it asks for them. Thus, in a shared-queues environment, IMS infers the depth of the queue of messages based on processing activity, but it does not know the actual depth of the queue.

Start of changeA PARLIM value of 0 in a shared-queues environment is the most responsive setting. PARLIM(0) ensures that message regions are scheduled until all messages are processed from the transaction queue, or until the maximum region value (MAXRGN) limit is reached. PARLIM(0) might, however, result in many unnecessary schedules (or false schedules). A false schedule occurs when a message region is scheduled and finds no more messages on the queue. This occurs particularly with PARLIM(0) because after each successful get unique (GU), IMS must always schedule an additional region to try to read the queue to see if there are more messages. This process continues for each successful GU until the queue becomes empty, at which time the successive GU count is reset to 0. This is a consequence of IMS not knowing how many messages are queued on the transaction queue.End of change

Setting the PARLIM to a value greater than 0 can reduce the number of false schedules, because IMS then schedules a new message region only after a number of messages have been obtained consecutively without the queue becoming empty. Setting the PARLIM to a value of 2 or greater is useful for reducing false schedules for transactions that are low-volume and that run relatively quickly (such that the queue depth is typically 1), because it avoids scheduling a second region until the first region has obtained at least two messages in a row. However, be aware that while a PARLIM value greater than 0 can reduce unnecessary schedules, it is also less responsive. If a transaction is long running, or if its processing is delayed (for example, because of locking contention), the consecutive GU count does not change while the transaction is executing, and no additional message regions are scheduled. This can result in delayed processing of other messages for this same transaction until a currently-scheduled message completes. This delay can occur even if message regions are available to process the transaction.

Keyword combination rules include the following:

  • MAXRGN>0 and PARLIM(65535) are mutually exclusive.
  • SERIAL(Y) and PARLIM between 0 and 32767 are mutually exclusive.
PGM

Specifies the name of the application program associated with the transaction. The program must exist unless the transaction is defined as REMOTE(Y).

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

PLCT

Specifies the processing limit count. This is maximum number of messages sent to the application program by the IMS for processing without reloading the application program. The value must be a number from 0 through 65535. PLCT(0) means the maximum number of messages sent to the application is one and the application program is reloaded before receiving a subsequent message. PLCT(65535) means that no limit is to be placed upon the number of messages processed at a single program load. Values 1 through 65535 are eligible for quick reschedule processing.

The value is used to determine how many messages an application program is allowed to process in a single scheduling cycle. When the application program requests, and receives, the number of messages indicated, any subsequent requests result in one of two things.

  1. IMS indicates “no more messages exist” if any of the following conditions is true.
    • The region is not an MPP.
    • The currently scheduled mode is not CMTMODE(SNGL).
    • Equal or higher priority transactions are enqueued for the region.

    IMS might, in fact, have other messages enqueued for the application program. It is the responsibility of the application program to terminate when it receives an indicator that no more messages are available. Termination of the application program makes the region it occupied available for rescheduling. This feature makes it possible for IMS to enable scheduling of higher priority transactions that entered the system while the previous transactions were in process. In addition, if any equal-priority transactions are enqueued, they become eligible for scheduling on a first-in, first-out (FIFO) basis.

  2. The region goes through quick reschedule and returns the next message to the application of all of the following conditions are true.
    • The region is an MPP.
    • The transaction is CMTMODE(SNGL).
    • No equal or higher transactions are enqueued.
    • Messages are still enqueued for the application.
PLCTTIME

Specifies the processing limit count time. This is the amount of time (in hundredths of seconds) allowable to process a single transaction (or message). The number specifies the maximum CPU time allowed for each message to be processed in the message processing region.

Batch Message Programs (BMPs) are not affected by this setting.

The value can be a number, in hundredths of seconds, that can range from 1 to 6553500. A value of 6553500 means no time limit is placed on the application program.

If Fast Path is used, this keyword specifies, for a given transaction name, the amount of time (in hundredths of seconds) the program is allowed to process a single transaction message. The time represents real time that elapses during transaction processing (not accumulated task time). Real time is used because the input terminal is in response mode and cannot enter another transaction until the response is sent. In this case PLCT() is ignored.

The value controls application program looping. You are not required to optimize the value for program-transaction execution time. However, the time value assigned should not be less than the expected per-transaction execution time. If the scheduled application program exceeds the product of PLCTTIME() and PLCT(), the application program ends abnormally. If an IMS STIMER value of 2 is specified on the DFSMPR procedure, the region does not abend until completion of the DL/I call.

Important: The application program must not use STIMER timer services. IMS uses STIMER timer services to time the execution of transactions. If an application program issues an MVS™ STIMER macro, it cancels the STIMER timer services set by IMS. Use the STIMERM macro instead for application program timer requests.
RECOVER
Specifies the recovery option.
N
The transaction should not be recovered.
Y
The transaction should be recovered during an IMS emergency or normal restart.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • CONV(Y) and RECOVER(N) are mutually exclusive.
  • FP(E) and RECOVER(N) are mutually exclusive.
  • FP(P) and RECOVER(N) are mutually exclusive.
  • INQ(N) and RECOVER(N) are mutually exclusive.
REMOTE
Specifies the remote option.
N
The transaction is not remote. The transaction is local and runs on the local system.
Y
The transaction is remote. The transaction runs on a remote system.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Local transactions must have the SIDR value set equal to the SIDL value. When updating a transaction from remote to local, the SIDR and SIDL keywords must be specified, along with REMOTE(N), to set the remote SYSID equal to the local SYSID.

Keyword combination rules include the following:

  • REMOTE(Y) requires MSNAME or SIDR and SIDL.
RESP
Specifies the response mode option.
N
The transaction is not response mode. For terminals specifying or accepting a default of OPTIONS=TRANRESP, input should not stop after this transaction is entered.
Y
The transaction is response mode. The terminal from which the transaction is entered is held and prevents further input until a response is received. For terminals specifying or accepting a default of OPTIONS=TRANRESP, no additional messages are to be allowed after this transaction is entered until this transaction sends a response message back to the terminal. Response mode can be forced or negated by individual terminal definition. RESP(Y) is ignored during online processing for all terminals that do not operate in response mode.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • FP(E) and RESP(N) are mutually exclusive.
  • FP(P) and RESP(N) are mutually exclusive.
SEGNO
Specifies the segment number. This is the maximum number of application program output segments that are allowed into the message queues per Get Unique (GU) call from the application program. The value can be a number from 0 through 65535. If SEGNO(0) is defined, the number of segments is not checked by the online system at execution time.

SEGNO cannot be specified for CPI Communications driven transactions.

SEGSZ

Specifies the segment size. This is the maximum number of bytes allowed in any one output segment. The value can be a number from 0 through 65535. If SEGSZ(0) is defined, the segment size is not checked by the online system at execution time.

The maximum output message segment to an LU 6.2 device is 32767. If a transaction is expected to send output to an LU 6.2 device, the SEGSIZE parameter should be no greater than 32767. However, this is not enforced during processing of the command, because IMS cannot determine the device type for the message destination until output time.

SEGSZ cannot be specified for CPI Communications driven transactions.

SERIAL
Specifies the serial option.
N
Messages for the transaction are not processed serially. Message processing can be processed in parallel. Messages are placed on the suspend queue after a U3303 pseudoabend. Scheduling continues until repeated failures result in the transaction being stopped with a USTOP.
Y
Messages for the transaction are processed serially. U3303 pseudoabends do not cause the message to be placed on the suspend queue but rather on the front of the transaction message queue, and the transaction is stopped with a USTOP. The USTOP of the transaction is removed when the transaction or the class is started with a /START or UPD TRAN command.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • MAXRGN>0 and SERIAL(Y) are mutually exclusive.
  • PARLIM value 0 - 32767 and SERIAL(Y) are mutually exclusive.
SIDL

Specifies the system identification (SYSID) of the local system in a multiple-IMS system (MSC) configuration. The local system is the originating system to which responses are returned. The value can be a number from 1 to 2036, if MSC is enabled, or 0, if MSC is not enabled. The local SYSID can be defined in any or all of the MSNAMEs or transactions.

The SIDL parameter is independent of the link type (CTC, MTM, TCP/IP, VTAM) specified on the TYPE= keyword of the MSPLINK macro statement.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • FP(E) and SIDL are mutually exclusive, unless SIDL and SIDR are specified as a pair and are equal to the local system ID of this IMS.
  • MSNAME and SIDL are mutually exclusive.
  • SIDL value must be defined to this IMS.
SIDR

Specifies the system identification (SYSID) of the remote system in a multiple-IMS system (MSC) configuration. The remote system is the system on which the application program executes. The value can be a number from 1 to 2036, if MSC is enabled, or 0, if MSC is not enabled. The remote SYSID specified must also be defined for an MSNAME.

The SIDR parameter is independent of the link type (CTC, MTM, TCP/IP, VTAM) specified on the TYPE= keyword of the MSPLINK macro statement.

Local transactions must have the SIDR value set equal to the SIDL value. When updating a transaction from remote to local, the remote SYSID must be set to the local SYSID.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • FP(E) and SIDR are mutually exclusive, unless SIDL and SIDR are specified as a pair and are equal to the local system ID of this IMS.
  • MSNAME and SIDR are mutually exclusive.
  • SIDR value must be defined to this IMS.
SPASZ

Specifies the scratchpad area (SPA) size, in bytes, for a conversational transaction. The value can be a number from 16 and 32767.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • CONV(N) and SPASZ are mutually exclusive.
  • FP(E) and SPASZ are mutually exclusive.
SPATRUNC

Specifies the scratchpad area (SPA) truncation option of a conversational transaction. This defines whether the SPA data should be truncated or preserved across a program switch to a transaction that is defined with a smaller SPA.

When a conversation initially starts, and when a program is switched, the SPATRUNC option is checked and set or reset as specified. When the option is set, it remains set for the life of the conversation, or until a program switch occurs to a transaction that specifies the option is to be Reset.

When a program switch occurs, the truncated data option for the new transaction is first checked, and that specification is set for the conversation and is used for the SPA inserted into the output message. If the option is not specified for the new transaction, the option currently in effect for the conversation is used.

S
IMS preserves all of the data in the SPA, even when a program switch is made to a transaction that is defined with a smaller SPA. The transaction with the smaller SPA does not see the truncated data, but when the transaction switches to a transaction with a larger SPA, the truncated data is used.
R
The truncated data is not preserved.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • CONV(N) and SPATRUNC are mutually exclusive.
  • FP(E) and SPATRUNC are mutually exclusive.
TRANSTAT

Specifies whether transaction level statistics should be logged for message driven programs. If Y is specified, transaction level statistics are written to the log in a X'56FA' log record.

N
Transaction level statistics should not be logged.
Y
Transaction level statistics should be logged.

The TRANSTAT keyword on the UPDATE TRAN command gives the user the ability to override the system default or the current value of the TRANSTAT parameter. If the TRANSTAT keyword is omitted on the UPDATE TRAN command, the current transaction level statistics setting is unchanged.

WFI

Specifies the wait-for input option. This attribute does not apply to Fast Path transactions, which always behave as wait-for-input transactions.

N
This is not a wait-for-input transaction.
Y
This is a wait-for-input transaction. A message processing or batch processing application program that processes WFI transactions are scheduled and invoked normally. If the transaction to be processed is defined as WFI, the program is allowed to remain in main storage after it has processed the available input messages. The QC status code (no more messages) is returned to the program if the PROCLIM count (PLCT) is reached; a command is entered to change the status of the scheduled transaction, database, program, or class; commands relating to the databases used by the transaction are entered, or IMS is terminated with a checkpoint shutdown.

Updating this attribute stops messages from being queued to the transaction while the command is in progress. Any attempt to queue a message to the transaction is rejected. Updating this attribute also stops the transaction from being scheduled while the command is in progress. There must be no work in progress and no messages queued (non-shared queues) for the command to complete successfully.

Keyword combination rules include the following:

  • MODE(MULT) and WFI(Y) are mutually exclusive.
START()
Specifies the attributes to be started.
Q
Updates local and global status to start queuing transactions. This change applies to transactions that are entered either from a network or terminal, or using the QUEUE TRAN command, to DB/DC or DCCTL environments.
SCHD
Updates local and global status to start transactions from being scheduled. This change applies to transactions scheduled in DB/DC or DCCTL environments.

In a shared-queues environment, the UPD TRAN START(SCHD) command will result in IMS registering interest for the transaction, which indicates that the transaction can be scheduled at that IMS. An UPDATE TRAN NAME(*) START(SCHD) command does not register transactions that are already registered to CQS.

SUSPEND
If the transaction has messages on the suspend queue, that suspend queue is automatically transferred to the ready queue.
TRACE
Starts the transaction trace, which captures the DL/I portion of Data Communications (DC) for the specified transaction. The information is written as a 6701 log record to the IMS log.
STOP()
Specifies the attributes to be stopped.
Q
Updates local and global status to stop transactions from being queued. This change applies to transactions that are entered either from a network or terminal, or using the QUEUE TRAN command, to DB/DC or DCCTL environments.
SCHD
Updates local and global status to stop transactions from being scheduled. This change applies to transactions scheduled in DB/DC or DCCTL environments.

The UPDATE TRAN STOP(SCHD) command stops the scheduling of transactions; however, the transactions will continue to be processed until the limit count is reached. If the limit count is large, the processing interval will be long.

In a shared-queues environment, the UPD TRAN STOP(SCHD) command results in IMS deregistering interest for the transaction, which indicates that the transaction cannot be scheduled at the IMS.

TRACE
Stops the transaction trace.

Usage notes

Resources exist for the life of the IMS unless they are deleted using a DELETE command. Resources are recoverable across an IMS warm start or emergency restart. Resources are lost if IMS is cold started, unless cold start imports definitions that were exported while IMS was up.

The UPDATE TRAN command is recoverable across an IMS warm start or emergency restart, except for START(TRACE) and STOP(TRACE). Updates to the definitional attributes of a transaction are lost if IMS is cold started, unless the transaction definitions are exported to an RDDS and then imported from the RDDS at the cold start.

The UPDATE TRAN command can be issued only through the OM API. This command applies to DB/DC and DCCTL systems.

This command is not valid on the XRF alternate, RSR tracker, or FDBR region.

The UPDATE TRAN command changes a MODBLKS transaction to dynamic, if the AOCMD, CMTMODE, CONV, DCLWA, DIRROUTE, EDITRTN, EDITUC, EMHBSZ, FP, INQ, MSGTYPE, MSNAME, PLCTTIME, PGM, RECOVER, REMOTE, RESP, SERIAL, SPASZ, SPATRUNC, TRANSTAT, or WFI value is changed.

Each transaction is updated individually, unlike the online change process where either all transactions are updated or no transactions are updated. Some runtime resource definition values for a transaction can be updated only if the transaction is not in use.

You can update the status of a transaction (LOCK, START, STOP) while the transaction is in use.

The following transaction attributes cannot be updated if online change for MODBLKS is enabled: AOCMD, CMTMODE, CONV, DCLWA, DEFAULT, DIRROUTE, EDITRTN, EDITUC, EMHBSZ, FP, INQ, MSGTYPE, MSNAME, PGM, PLCTTIME, RECOVER, REMOTE, RESP, SERIAL, SIDL, SIDR, SPASZ, SPATRUNC, WFI.

If all the attributes specified by the UPDATE command are already defined for the resource, no update is actually made, no resources are quiesced, no log record is created, and a completion code of zero is returned. This avoids unnecessary overhead when no action needs to be taken.

In a shared message queues environment, the UPDATE TRAN command updates the transaction even if there are messages on the shared messages queues for the transaction. If the messages were placed on the shared message queues using conversation, Fast Path, response mode, or serial transaction attributes that differ from the transaction being updated on this IMS, this IMS will not be able to access the messages on the shared message queues.

The UPDATE TRAN NAME(tranname) SET(REMOTE(N),SIDR(localsysid),SIDL(localsysid)) command sets the remote system ID to be the same as the local system ID. It is equivalent to the command /MSASSIGN TRAN tranname TO LOCAL. The UPDATE TRAN NAME(tranname) SET(REMOTE(N)) command specified without SIDR/SIDL or MSNAME does not change the local and remote system IDs, therefore it is not equivalent to the /MSASSIGN TRAN tranname TO LOCAL command.

Equivalent IMS type-1 commands

The following table shows variations of the UPDATE TRAN command and the type-1 IMS commands that perform similar functions.

Table 2. Type-1 equivalents for the UPDATE TRAN command
UPDATE command Similar IMS type-1 command
UPDATE TRAN(name) START(Q) STOP(SCHD) /PSTOP TRAN name
UPDATE TRAN NAME(name) START(SCHD) STOP(Q) /PURGE TRAN name
UPDATE TRAN NAME(name) START(Q,SCHD,SUSPEND) /START TRAN name
UPDATE TRAN NAME(name) STOP(Q,SCHD) /STOP TRAN name
Start of changeUPDATE TRAN NAME(name) START(TRACE)End of change /TRACE SET ON TRAN name
Start of changeUPDATE TRAN NAME(name) STOP(TRACE)End of change /TRACE SET OFF TRAN name
UPDATE TRAN NAME(name) SET(CLASS(new_class_number)) /ASSIGN TRAN name TO CLS new_class_number
UPDATE TRAN NAME(name) SET(CPRI(new_current_priority)) /ASSIGN CPRI new_current_priority TO TRAN name
UPDATE TRAN NAME(name) SET(LCT(new_limit_count)) /ASSIGN LCT new_lmct_number TO TRAN name
UPDATE TRAN NAME(name) SET(LPRI(new_limit_priority)) /ASSIGN LPRI new_lpri_number TO TRAN name
UPDATE TRAN NAME(name) SET(NPRI(new_normal_priority)) /ASSIGN NPRI new_npri_number TO TRAN name
UPDATE TRAN NAME(name) SET(PARLIM(new_parallel_limit)) /ASSIGN PARLIM new_parmlim_number TO TRAN name
UPDATE TRAN NAME(name) SET(PLCT(new_processing_limit)) /ASSIGN PLCT new_plmct_number TO TRAN name
UPDATE TRAN NAME(name) SET(SEGNO(new_segment_number)) /ASSIGN SEGNO new_segno_number TO TRAN name
UPDATE TRAN NAME(name) SET(SEGSZ(new_segment_size)) /ASSIGN SEGSZ new_segsize_number TO TRAN name
UPDATE TRAN NAME(name) SET(MAXRG(new_max_regions)) /CHANGE TRAN name MAXRGN new_maxrgn_number

Output fields

The following table shows the UPDATE TRAN output fields. The columns in the table are as follows:

Short label
Contains the short label generated in the XML output.
Keyword
Identifies the keyword on the command that caused the field to be generated. N/A appears for output fields that are always returned. error appears for output fields that are returned only in case of an error.
Meaning
Provides a brief description of the output field.
Table 3. Output fields for the UPDATE TRAN command
Short label Keyword Meaning
CC N/A Completion code.
CCTXT error Completion code text that briefly explains the meaning of the nonzero completion code.
CONVID TRAN Conversation ID of conversation associated with transaction that caused the update to fail with a completion code of C'1A'. This information can be used to exit the conversation, before attempting the update again.
ERRT error Error text with diagnostic information. Error text can be returned for a nonzero completion code and contains information that further explains the completion code.
GBL SCOPE(ALL) Indicates that the response line is for the global update.
LU TRAN APPC LU name associated with the transaction conversation that caused the update to fail with a completion code of C'1A'. This information can be used to exit the conversation, before attempting the update again.
MBR N/A The IMSplex member that built the output line. The IMS identifier of the IMS for which the transaction information is displayed. The IMS identifier is always returned.
NODE TRAN Node name of static node associated with the transaction conversation that caused the update to fail with a completion code of C'1A'. This information can be used to exit the conversation, before attempting the update again.
TMEM TRAN OTMA tmember name associated with the transaction conversation that caused the update to fail with a completion code of C'1A'. This information can be used to exit the conversation, before attempting the update again.
TPIP TRAN OTMA tpipe name associated with the transaction conversation that caused the update to fail with a completion code of C'1A'. This information can be used to exit the conversation, before attempting the update again.
TRAN N/A The transaction name. The transaction name is always displayed.
USER TRAN User name of dynamic user associated with the transaction conversation that caused the update to fail with a completion code of C'1A'. This information can be used to exit the conversation, before attempting the update again.

Return, reason, and completion codes

The following table includes the return and reason codes and a brief explanation of the codes. The return or reason code returned for the command might also indicate an error from a CSL request.

Table 4. Return and reason codes for the UPDATE TRAN command
Return code Reason code Meaning
X'00000000' X'00000000' Command completed successfully. The command output contains a line for each resource, accompanied by its completion code. If NAME(*) is specified without OPTION(ALLRSP), no output lines are returned. See Table 5 for details.
X'00000004' X'00002008' Invalid number of keywords. Either a SET, START, or STOP keyword is required.
X'00000008' X'0000200C' No resources were found to be updated. The resource names specified might be invalid or there were no resources that match the filter specified. Confirm that the UPDATE TRAN command is issued with valid resources.
X'00000008' X'00002040' More than one filter value is specified on the UPDATE TRAN command. Confirm that only one of SET or START | STOP filters are specified on the command.
X'00000008' X'00002044' The UPDATE TRAN command is not processed because the same attribute value was specified for the START and STOP filters. The attribute "Q,SCHD" can be specified only on START or STOP but not both. For example, UPDATE TRAN START(Q) STOP(Q) is not valid but UPDATE TRAN START(Q) STOP(SCHD) is valid. Confirm that only one START | STOP attribute is specified on the command.
X'00000008' X'00002048' The UPDATE TRAN command is not processed because an invalid SET attribute is specified. Confirm that the correct SET attribute is specified on the command.
X'00000008' X'0000204C' The UPDATE TRAN command is not processed because a CLASS value specified is invalid. Confirm that the correct CLASS value is specified on the command.
X'00000008' X'00002050' The UPDATE TRAN command is not processed because the CPRI value specified is invalid. Confirm that the correct CPRI value is specified on the command.
X'00000008' X'00002054' The UPDATE TRAN command is not processed because the LCT (limit count) value specified is invalid. Confirm that the correct LCT value is specified on the command.
X'00000008' X'00002058' The UPDATE TRAN command is not processed because the LPRI value specified is invalid. Confirm that the correct LPRI value is specified on the command.
X'00000008' X'0000205C' The UPDATE TRAN command is not processed because the MAXGN value specified is invalid. Confirm the correct MAXRGN value is specified on the command.
X'00000008' X'00002060' The UPDATE TRAN command is not processed because the NPRI value specified is invalid. Confirm that the correct NPRI value is specified on the command.
X'00000008' X'00002064' The UPDATE TRAN command is not processed because the PARLIM value is invalid. Confirm that the PARLIM value is specified on the command.
X'00000008' X'00002068' The UPDATE TRAN command is not processed because the PLCT value is invalid. Confirm that the correct PLCT value is specified on the command.
X'00000008' X'00002100' CMTMODE(MULT) mutually exclusive with WFI(Y).
X'00000008' X'00002101' CONV(Y) mutually exclusive with CMTMODE(MULT).
X'00000008' X'00002103' CONV(N) mutually exclusive with SPASZ>0 and SPATRUNC.
X'00000008' X'00002104' CONV(Y) mutually exclusive with RECOVER(N).
X'00000008' X'00002105' CONV(Y) requires SPASZ and SPATRUNC.
X'00000008' X'00002108' Invalid EDITRTN name.
X'00000008' X'0000210A' Invalid EMHBSZ. One of the following situations occurred:
  • The EMHB size specified is either greater than the maximum size, which is 30720
  • The EMHB size specified plus the length of the X'5901' log record prefix is greater than the log buffer size
X'00000008' X'0000210C' FP(E) mutually exclusive with EDITRTN.
X'00000008' X'0000210E' FP(E) or FP(P) mutually exclusive with MSC keyword MSNAME or SIDR and SIDL.
X'00000008' X'0000210F' FP(E) or FP(P) mutually exclusive with MSGTYPE(MULTSEG).
X'00000008' X'00002110' FP(N) mutually exclusive with EMHBSZ > 0.
X'00000008' X'00002111' FP(E) or FP(P) mutually exclusive with RECOVER(N).
X'00000008' X'00002112' FP(E) or FP(P) mutually exclusive with RESP(N).
X'00000008' X'00002116' INQ(N) mutually exclusive with RECOVER(N).
X'00000008' X'00002119' MSC keyword MSNAME or SIDL/SIDR mutually exclusive with application program defined as Fast Path exclusive (FP(E)) associated with this transaction.
X'00000008' X'0000211A' Invalid MSNAME name.
X'00000008' X'0000211B' MSNAME mutually exclusive with SIDL and SIDR.
X'00000008' X'0000211D' MAXRGN>0 mutually exclusive with PARLIM(65535).
X'00000008' X'0000211E' MAXRGN>0 mutually exclusive with SERIAL(Y).
X'00000008' X'00002121' PARLIM value mutually exclusive with SERIAL(Y).
X'00000008' X'00002125' If REMOTE(Y) is specified, the SIDR value must be a remote SYSID and the SIDL value must be a local SYSID. If neither the MSNAME keyword nor the SIDR and SIDL keywords are specified explicitly, the SIDR and SIDL values from the existing transaction definition are used. If REMOTE(N) is specified, the SIDR value must be equal to the SIDL value. If the SIDR and SIDL values are not specified explicitly, the values from the existing transaction definition are used. The MSNAME keyword cannot be specified with REMOTE(N).
X'00000008' X'00002126' Invalid SIDL value.
X'00000008' X'00002127' SIDL/SIDR must be specified as a pair. Either SIDL was specified alone or SIDR was specified alone.
X'00000008' X'00002128' Invalid SIDR value.
X'0000000C' X'00003000' Command was successful for some of the resources. The command output contains a line for each resource, accompanied by its completion code. If NAME(*) is specified without OPTION(ALLRSP), output lines are only returned for resources with nonzero completion codes. See Table 5 for details.
X'0000000C' X'00003004' Command was not successful for any of the resources. The command output contains a line for each resource, accompanied by its completion code. See Table 5 for details.
X'00000010' X'0000400C' Command is not valid on the XRF alternate.
X'00000010' X'00004014' Command is not valid on the RSR tracker.
X'00000010' X'00004024' No Fast Path defined, FP(E), FP(P), or EMHBSZ >0 invalid.
X'00000010' X'00004120' Online change phase is in progress.
X'00000010' X'00004300' Command is not allowed because online change for MODBLKS is enabled (DFSDFxxx or DFSCGxxx defined with MODBLKS=OLC, or MODBLKS not defined).
X'00000010' X'00004310' Storage could not be obtained for the Transaction Input edit routine table. A cold start is required to fix this error.
X'00000010' X'00004314' The Transaction Input edit routine could not be loaded.
X'00000010' X'00004318' A new Transaction Input edit routine could not be added. The maximum of 255 routines has already been reached.
X'00000014' X'00005004' DFSOCMD response buffer could not be obtained.
X'00000014' X'00005008' DFSPOOL storage could not be obtained.
X'00000014' X'0000500C' AWE could not be obtained.
X'00000014' X'00005010' Latch could not be obtained.
X'00000014' X'000050FF' The UPDATE TRAN or UPDATE TRANDESC command processing terminated because of an internal error.
Errors unique to the processing of the UPDATE TRAN command are returned as a completion code. A completion code is returned for each action against an individual resource. The completion codes in the following table might be returned on the UPDATE TRAN command.
Table 5. Completion codes for the UPDATE TRAN command
Completion code Completion code text Meaning
0   Command completed successfully for transaction.
10 NO RESOURCES FOUND Transaction name is invalid, or the wildcard parameter specified does not match any resource names.
17 ANOTHER CMD IN PROGRESS Another command (such as DELETE or UPDATE) is in progress for this transaction. This could also mean this command, if the resource is specified by more than one specific or wildcard parameter. Or, the transaction is updating the program name and another command is in progress for that program.
19 Start of changeCMTMODE=MULT/WFI=Y CONFLICTEnd of change Transaction update failed because commit mode multiple CMTMODE(MULT) option conflicts with the wait-for-input WFI(Y) option.
1A IN CONVERSATION

Transaction is in conversation. The conversation ID and terminal in conversation are returned separately. The terminal can be a static node, node and user, dynamic user, APPC luname, or OTMA tmember and tpipe.

Suggested actions: Terminate the conversation.

1B Start of changeCONV=Y/CMTMODE=MULT CONFLICTEnd of change Transaction update failed because the conversation CONV(Y) option conflicts with the commit mode multiple CMTMODE(MULT) option.
1E Start of changeCONV=N/SPASZ/SPATRUNC CONFLICTEnd of change Transaction update failed because the non-coversation CONV(N) option conflicts with the SPA size or SPA truncation option.
1F Start of changeCONV=Y/RECOVER=N CONFLICTEnd of change Transaction update failed because the conversation CONV(Y) option conflicts with the nonrecoverable RECOVER(N) option.
2F Start of changeFP=E/BMPTYPE=Y CONFLICTEnd of change Transaction update failed because Fast Path exclusive FP(E) option conflicts with program defined as batch BMPTYPE(Y).
30 QUEUE-ONLY TRANSACTION The UPDATE TRAN command is invalid for the resource because the transaction is a queue-only transaction.
34 NOT ALLOWED FOR A CPIC TRAN The UPDATE TRAN command is invalid for the resource because the transaction is a CPIC transaction.
35 Start of changeFP=E/EDITRTN CONFLICTEnd of change Transaction update failed because Fast Path exclusive FP(E) option conflicts with the edit routine EDITRTN.
36 Start of changeFP=E/FP=N PGM CONFLICT End of change Transaction update failed because Fast Path exclusive FP(E) option conflicts with program defined as non-Fast Path FP(N).
38 NOT ALLOWED FOR A BMP The UPDATE TRAN command is invalid for the resource because the PSB associated with the transaction is a BMP.
3A Start of changeFP=E OR P/MSC KEYWORD CONFLICTEnd of change Transaction update failed because Fast Path exclusive FP(E) or Fast Path potential FP(P) option conflicts with the MSC MSNAME, SIDR/SIDL option.
3B Start of changeFP/MSGTYPE=MULTSEG CONFLICTEnd of change

Transaction update failed because Fast Path exclusive FP(E) or Fast Path potential FP(P) option conflicts with message type multiple segment

MSGTYPE(MULTSEG) option.

3C Start of changeMAXRGN/PARLIM=65535 CONFLICTEnd of change

Transaction update failed because maximum region count MAXRGN value conflicts with the parallel limit count PARLIM value 65535, which means parallel scheduling is disabled.

MAXRGN > 0 is not allowed with PARLIM(65535).

3E Start of changeFP=N/FP=E PGM CONFLICTEnd of change Transaction update failed because non-Fast Path FP(N) option conflicts with program defined as Fast Path exclusive FP(E).
3F Start of changeFP=P/BMPTYPE=Y CONFLICTEnd of change Transaction update failed because Fast Path potential program FP(P) conflicts with the program defined as batch BMPTYPE(Y).
40 Start of changePARLIM/SCHDTYPE=SERIAL CONFLICTEnd of change The PARLIM cannot be changed for the resource because the PSB associated with the transaction is defined as does not have parallel scheduling.
41 Start of changeFP=E OR P/RECOVER=N CONFLICTEnd of change Transaction update failed because Fast Path exclusive FP(E) or Fast Path potential FP(P) option conflicts with nonrecoverable RECOVER(N) option.
42 Start of changeFP=E OR P/RESP=N CONFLICTEnd of change Transaction update failed because Fast Path exclusive FP(E) or Fast Path potential FP(P) option conflicts with response mode RESP(N) option.
44 TRANSACTION BUSY The UPDATE TRAN command cannot be processed for the resource because the transaction is currently being scheduled.
45 INVALID SIDR VALUE The UPDATE TRAN command could not be completed for the resource because the SID number is invalid.
49 Start of changeINQ=N/RECOVER=N CONFLICTEnd of change Transaction update failed because non-inquiry INQ(N) option conflicts with nonrecoverable RECOVER(N) option.
4A IN USE Transaction is in use. Queuing is in progress, either terminal input or a program-to-program switch.
4F INVALID MAXRGN VALUE Maximum region MAXRGN value is invalid.
5E Start of changeMAXRGN GT 0/SERIAL=Y CONFLICTEnd of change Transaction update failed because non-zero maximum region value conflicts with serial SERIAL(Y) option.
61 DFSBCB STORAGE ERROR. DFSBCB storage could not be obtained.
6A Start of changeFP=P/FP=E PGM CONFLICTEnd of change Transaction to be updated as Fast Path potential FP(P) conflicts with program already defined as Fast Path exclusive FP(E).
6B Start of changePARLIM/SERIAL=Y CONFLICTEnd of change Transaction update failed because the parallel limit PARLIM value conflicts with the serial SERIAL(Y) option.
6D INVALID PROGRAM NAME Program name specified is invalid.
73 PROGRAM SCHEDULED Program is scheduled.
79 REMOTE/SIDR/SIDL/MSNAME CONFLICT Transaction update failed because there is a conflict between the REMOTE value and the MSNAME keyword or the SIDR and SIDL values.
85 SUSPENDED Transaction is on the suspend queue.
87 TRAN QUEUEING Transaction has messages queued (non-shared-queues environment).
89 TRAN SCHEDULED Transaction is scheduled.
90   UPD TRAN command did not complete because of an internal error.
99 NOT INITIALIZED Transaction update failed because the transaction was not successfully initialized. QUERY TRAN STATUS(NOTINIT) displays the reason the transaction is not initialized, for example the program does not exist. Correct this problem and issue an UPDATE TRAN START(SCHD,Q) command to initialize the transaction.
9B FASTPATH TRAN NOT SUPPORTED Transaction update failed because the transaction is Fast Path exclusive FP(E).
B3 TRAN ELIGIBLE FOR SCHEDULING Transaction is eligible for scheduling and cannot be updated. You might need to stop the transaction with the UPDATE TRAN STOP(Q,SCHD) command before attempting the UPDATE again.
B5 ROUTING CODE ALREADY EXISTS Transaction update failed because Fast Path exclusive FP(E) option conflicts with routing code that already exists by that transaction name.
BF Start of changeFP=E/CONV KEYWORD CONFLICT End of change Fast Path exclusive FP(E) is mutually exclusive with any conversation keyword, including CONV(Y), SPASZ, and SPATRUNC. An FP exclusive transaction cannot be defined as conversational.
145 MESSAGE IN PROGRESS ACROSS LINK Transaction update failed because a message for the transaction is in progress across the MSC link.
Start of change1D7End of change Start of changeIMPORT CHANGE LIST ERROREnd of change Start of changeThe resource is in the process of being imported from the change list in the IMSRSC repository or was not successfully imported from the change list. The resource cannot be updated until it is successfully imported from the repository.End of change

Examples

The following are examples of the UPDATE TRAN command:

Example 1 for UPDATE TRAN command

TSO SPOC input:
UPDATE TRAN NAME(BADNAME,AOBMP,APOL17,CPI%,BAD*) SET(WFI(Y))
TSO SPOC output:
Response for: UPDATE TRAN NAME(BADNAME,AOBMP,APOL17,CPI%,BAD*)  
Trancode MbrName    CC CCText                                       
AOBMP    IMS1        0                                              
APOL17   IMS1       19 Start of changeCMTMODE=MULT/WFI=Y CONFLICTEnd of change                
BAD*     IMS1       10 NO RESOURCES FOUND                           
BADNAME  IMS1       10 NO RESOURCES FOUND                           
CPI1     IMS1        0                                              
CPI2     IMS1        0                                              
CPI3     IMS1        0                                              
CPI4     IMS1        0     
OM API input:
CMD(UPDATE TRAN NAME(BADNAME,AOBMP,APOL17,CPI%,BAD*) SET(WFI(Y)))
OM API output:
<imsout>                                    
<ctl>                                       
<omname>OM1OM   </omname>                   
<omvsn>1.3.0</omvsn>                        
<xmlvsn>20  </xmlvsn>                       
<statime>2006.312 00:07:49.667460</statime> 
<stotime>2006.312 00:07:49.668362</stotime>
<staseq>BFAC164BEAE846C0</staseq>                             
<stoseq>BFAC164BEB20A400</stoseq>                             
<rqsttkn1>USRT011 10160749</rqsttkn1>                         
<rc>0200000C</rc>                                             
<rsn>00003008</rsn>                                           
<rsnmsg>CSLN054I</rsnmsg>                                     
<rsntxt>None of the clients were successful.</rsntxt>         
</ctl>                                                        
<cmderr>                                                      
<mbr name="IMS1    ">                                         
<typ>IMS     </typ>                                           
<styp>DBDC    </styp>                                         
<rc>0000000C</rc>                                             
<rsn>00003000</rsn>                                           
<rsntxt>At least one request successful</rsntxt>              
</mbr>                                                        
</cmderr>                                                     
<cmd>                                                         
<master>IMS1    </master>                                     
<userid>USRT011 </userid>                                     
<verb>UPD </verb>                                             
<kwd>TRAN            </kwd>                                   
<input>UPDATE TRAN NAME(BADNAME,AOBMP,APOL17,CPI%,BAD*,AOBMP)
SET(WFI(Y)) </input>                                                  
</cmd>                                                                 
<cmdrsphdr>                                                            
<hdr slbl="TRAN" llbl="Trancode" scope="LCL" sort="a" key="1"          
 scroll="no" len="8" dtype="CHAR" align="left" />                      
<hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="a" key="2" scroll="no"
 len="8" dtype="CHAR" align="left" />                                  
<hdr slbl="CC" llbl="CC" scope="LCL" sort="n" key="0" scroll="yes"     
 len="4" dtype="INT" align="right" skipb="no" />                       
<hdr slbl="CCTXT" llbl="CCText" scope="LCL" sort="n" key="0"           
 scroll="yes" len="*" dtype="CHAR" skipb="yes" align="left" />         
<hdr slbl="GBL" llbl="Global" scope="GBL" sort="d" key="2" scroll="yes"
 len="1" dtype="CHAR" align="left" skipb="y" />                        
<hdr slbl="ERRT" llbl="ErrorText" scope="LCL" sort="n" key="0"         
 scroll="yes" len="*" dtype="CHAR" skipb="yes" align="left" />         
<hdr slbl="CONVID" llbl="ConvID" scope="LCL" sort="n" key="0"          
 scroll="yes" len="4" dtype="CHAR" skipb="yes" align="left" />         
<hdr slbl="NODE" llbl="NodeName" scope="LCL" sort="n" key="0"          
 scroll="yes" len="8" dtype="CHAR" skipb="yes" align="left" />         
<hdr slbl="USER" llbl="UserName" scope="LCL" sort="n" key="0"          
 scroll="yes" len="8" dtype="CHAR" skipb="yes" align="left" />         
<hdr slbl="LU" llbl="LUName" scope="LCL" sort="n" key="0"            
 scroll="yes" len="24" dtype="CHAR" skipb="yes" align="left" />         
<hdr slbl="TMEM" llbl="TMember" scope="LCL" sort="n" key="0"             
 scroll="yes" len="16" dtype="CHAR" skipb="yes" align="left" />          
<hdr slbl="TPIP" llbl="TPipe" scope="LCL" sort="n" key="0" scroll="yes"  
 len="8" dtype="CHAR" skipb="yes" align="left" />                        
</cmdrsphdr>                                                             
<cmdrspdata>                                                             
<rsp>TRAN(BADNAME ) MBR(IMS1) CC(  10) CCTXT(NO RESOURCES FOUND) </rsp>  
<rsp>TRAN(AOBMP   ) MBR(IMS1) CC(   0) </rsp>                            
<rsp>TRAN(APOL17  ) MBR(IMS1) CC(  19) Start of changeCCTXT(CMTMODE=MULT/WFI=Y CONFLICT)End of change </rsp>                                                        
<rsp>TRAN(CPI1    ) MBR(IMS1) CC(   0) </rsp>                            
<rsp>TRAN(BAD*    ) MBR(IMS1) CC(  10) CCTXT(NO RESOURCES FOUND) </rsp>  
<rsp>TRAN(CPI2    ) MBR(IMS1) CC(   0) </rsp>                            
<rsp>TRAN(CPI3    ) MBR(IMS1) CC(   0) </rsp>                            
<rsp>TRAN(CPI4    ) MBR(IMS1) CC(   0) </rsp>                            
</cmdrspdata>                                                            
</imsout>          

Explanation: Update several transactions to be wait-for-input. The update succeeded for several transactions, as shown by the completion code 0. The update failed for transaction APOL17 with completion code 19, since the WFI(Y) attribute conflicts with the CMTMODE(MULT) attribute already defined for APOL17. The update fails for transaction BADNAME and for parameter BAD* with completion code 10, since transaction BADNAME does not exist and no transaction name starts with BAD.

Example 2 for UPDATE TRAN command

TSO SPOC input:
UPDATE TRAN NAME(APOL12) START(SCHD) OPTION(AFFIN)
TSO SPOC output:
Trancode MbrName    CC
APOL12   IMS1        0

Explanation: Transaction APOL12 is started with affinity.