/ASSIGN command

The /ASSIGN command alters the relationships between various IMS resources and resets certain values specified during IMS system definition.

Subsections:

Environment

The following table lists the environments (DB/DC, DBCTL, and DCCTL) in which you can use the command and keywords.

Table 1. Valid environments for the /ASSIGN command and keywords
Command / Keywords DB/DC DBCTL DCCTL
/ASSIGN X   X
CLASS X   X
COMPONENT X   X
CPRI X   X
ICOMPONENT X   X
INPUT X   X
LINE X   X
LCT X   X
LPRI X   X
LTERM X   X
NODE X   X
NOSAVE X   X
NPRI X   X
OUTPUT X   X
PARLIM X   X
PLCT X   X
PTERM X   X
REGION X   X
SAVE X   X
SEGNO X   X
SEGSZ X   X
TRAN X   X
USER X   X
VTAMPOOL X   X

Syntax

Read syntax diagramSkip visual syntax diagram/ASSIGN/ASSCLASScls#TOREGIONreg#CPRIcpri#TOTRANtrannameINPUTLTERMltermnameTOALCTlct#LPRIlpri#TOTRANtrannameLTERMltermnameTOBPRIMARYCNPRInpri#TOTRANtrannameOUTPUTLTERMltermnameTODPARLIMparlim#PLCTplct#SEGNOseg#SEGSZsegsz#TOTRANtrannameTRANtrannameTOCLASScls#USERusernameTOUSERusernameSAVENOSAVEVTAMPOOL
A
Read syntax diagramSkip visual syntax diagramLINEline#PTERMpterm# ICOMPONENTicompt#
B
Read syntax diagramSkip visual syntax diagramLINEline#PTERMpterm#EFLTERMltermnameNODEnodenameFUSERusernameFSAVENOSAVE
C
Read syntax diagramSkip visual syntax diagramLINEline#PTERMpterm#NODEnodename
D
Read syntax diagramSkip visual syntax diagramLINEline#PTERMpterm# COMPONENTcompt#
E
Read syntax diagramSkip visual syntax diagramLINEline#PTERMpterm#PTERMpterm#
F
Read syntax diagramSkip visual syntax diagram ICOMPONENTicompt# COMPONENTcompt#

Keywords

The following keywords can be specified for the /ASSIGN command:

CLASS
Specifies either the classes of transactions that a message processing region can schedule or the message processing class of a transaction.

The /ASSIGN CLASS cls# (TO) REGION reg# command can include up to four class parameters and replaces the class values that existed previously. Valid class parameters are numeric values from 1 to 999.

For static transactions, the CLASS parameter (cls#) is initially set by system definition using the TRANSACT macro statement. For CPI communications driven transactions, the initial value is obtained from the TP profile.

COMPONENT
Allows output for a logical terminal to be directed to a specific component of a physical terminal. The COMPONENT parameter, which can have values 1, 2, 3 or 4, indicates the terminal component that should receive the output. Parameter values other than 1 are valid for the 3275 and SLU 1 terminals, as well as type 1 and type P secondary logical units. When assigning a COMPONENT value from a terminal with components to a terminal without components, give the compt# a value of 1.
The following table shows the relationships between COMPONENT values and terminals. The first column lists the terminal, the second and third columns list the COMPONENT parameters that can have values of 1, 2, 3, or 4.
Table 2. Relationships between COMPONENT/ICOMPONENT values and terminals
Terminal 1 2/3/4
3275 Video Printer
3770 Console/Printer Defined in TERMINAL macro on logon descriptor during system definition.
SLU 1 Defined in TERMINAL macro on logon descriptor during system definition.
SLU P terminal Defined in TERMINAL macro on logon descriptor during system definition.
SLU 4 Defined in TERMINAL macro during system definition.
CPRI
Specifies a new value for the current priority of a transaction. The CPRI keyword is not allowed for BMP transactions, since 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.
ICOMPONENT
Specifies the input component of a logical terminal to be directed to a specific component of a physical terminal. The ICOMPONENT parameter, which can have values 1, 2, 3, or 4, indicates the terminal component that should receive the input. Parameter values other than 1 are valid for the 3275 and SLU 1 terminals, as well as type 1 and type P secondary logical units. When assigning from a terminal with components to a terminal without components, give icompt# a value of 1. See Table 2 for relationships between ICOMPONENT values and terminal components.
INPUT
Specifies that the input capability of a logical terminal is to be assigned to a given nonswitched physical terminal without affecting the output assignment. More than one physical terminal can be assigned as input for a logical terminal, but the logical terminal used must be the first logical terminal in a chain.
LINE
Specifies the non-VTAM devices to which the input or output capabilities (or both) of a logical terminal are to be assigned. The physical terminal must not be on a switched line, in conversational, response, or preset destination modes.
LCT
Specifies a new value for the limit count of a transaction. The new LCT value takes effect during execution of the transaction. Valid LCT parameters are numeric values from 1 to 65535.
LPRI
Specifies a new value for the limit priority of a transaction. The LPRI keyword is not allowed for BMP transactions, since BMP transactions should always have a priority of 0. The new LPRI value takes effect the next time the transaction is scheduled. Valid LPRI parameters are numeric values from 0 to 14.
LTERM
LTERM assigns the input and output capabilities of a local logical terminal to the given nonswitched physical terminal or terminals. The /ASSIGN LTERM command does not apply to Multiple Systems Coupling (MSC) remote logical terminals.
  • If you specify /ASSIGN LTERM with LINE/PTERM selected, the first physical terminal (LINE/PTERM specification) is the input assignment. The second physical terminal (LINE/PTERM specification) is the output assignment. If there is no second physical terminal specification, then the first physical terminal specification is also the output assignment.
  • If you specify /ASSIGN LTERM [TO] NODE, the node specification is the input and output assignment.

No response is sent to a terminal referenced in an /ASSIGN command. The logical terminal must not be an inquiry logical terminal and must not have queuing or dequeuing of messages in progress.

LTERMs created dynamically can be assigned to dynamically created users. Static logical terminals can be assigned to other static terminals. Dynamic logical terminals cannot be assigned to lines, static nodes, dynamic nodes, or static users. Static logical terminals cannot be assigned to dynamic nodes or users. /ASSIGN commands that split the logical terminal so that the input LTERM is associated with one node and the output is associated with another node are not allowed for any ACF/VTAM terminals.
Physical terminal considerations: The physical terminal named in the command or indirectly referred to by being associated with a logical terminal in the command must not be on a switched line, in conversational, response, or preset destination modes. If a user logical terminal is specified, no logical terminal in the subpool can be currently signed on, and the line and physical terminal for input and output must be the same. If message processing programs are dependent upon a particular LTERM-to-component assignment, this relationship must be maintained by the operator.
MSGDEL processing for an LTERM is based on how the MSGDEL option was defined:
  • For static LTERMs defined during system definition as part of the VTAMPOOL for ISC support and for dynamic LTERMs, the MSGDEL options of the users must match when moving LTERMs between the users.
  • For all other static LTERMs, the MSGDEL option is defined in the TERMINAL macro for the associated physical terminal.
  • If a terminal's MSGDEL capabilities are defined in the TERMINAL macro as MSGDEL=NONIOPCB, assignment of an LTERM can take place only if the LTERM's message queues are empty, except when the LTERM is assigned to a terminal also defined as MSGDEL=NONIOPCB.
  • If a terminal's MSGDEL capabilities are defined as MSGDEL=SYSINFO or NOTERM, assignment of an LTERM can take place only if the LTERM's system message queue is empty, except when the LTERM is assigned to a terminal defined as MSGDEL=SYSINFO or NOTERM, or MSGDEL=NONIOPCB.
Master terminal considerations: The primary and secondary master terminals cannot be assigned to a user, an input-only or output-only device, a terminal in response mode, an unattended type 1 secondary logical unit terminal, an ISC node, or NTO terminal, or dynamic node. The LINE/PTERM or NODE to which the master terminal is to be assigned must be started and in an operable state. The line and physical terminal for input and output must be the same.

When a 3270 is designated as the master terminal during IMS system definition, two master logical terminals are generated. One, referred to as the primary master terminal, must be assigned to a 3270 display (3275/3276/3278/3279) for all input and output messages. The other, referred to as the secondary master terminal, must be assigned to a 3270 printer (3284/3286/3287/3288/3289) for certain IMS-selected output messages.

To move a single master logical terminal from one physical terminal to another physical terminal (for example, the secondary master from one 3284 to another 3284, or the primary master from one 3277 to another 3277) without moving the other, use the formats of /ASSIGN LTERM command with one LINE/PTERM or NODE, and specify the LTERM name of the master terminal.

You can use either of the following commands:
  • /ASSIGN LTERM ltermname (TO) NODE nodename
  • /ASSIGN LTERM ltermname (TO). LINE line# PTERM pterm#
PRIMARY parameter: The reserved parameter PRIMARY can be used with the LTERM keyword to change both the primary and secondary master terminals assignments to other physical terminals concurrently. The command formats used with the PRIMARY parameter are:
  • /ASSIGN LTERM PRIMARY (TO) LINE line#1 PTERM pterm#1/NODE nodename#1
This command format assigns both the input and output of the primary master terminal to LINE line#1 PTERM pterm#1, and both the input and output of the secondary master terminal to NODE nodename.
  • /ASSIGN LTERM PRIMARY (TO) (LINE line#1 PTERM pterm#1/NODE nodename1)(LINE line#2 PTERM pterm#2/NODE nodename2)

This command format assigns the input and output of the primary master terminal to the LINE line#1 PTERM pterm#1/NODE nodename #1 and assigns the input and output of the secondary terminal to LINE line#2 PTERM#2/NODE nodename#2.

These two formats can reassign:
  • The 3270 primary and 3270 secondary master terminals to different 3270 physical terminals, where pterm#1 or nodename1 is a 3270 display and pterm#2 or nodename2 is a 3270 printer.
  • A non-3270 master terminal to a 3270 display and 3270 printer, where pterm#1 or nodename1 is a 3270 display and pterm#2 or nodename2 is a 3270 printer.

The first LINE/PTERM or NODE specifies the display device to which the primary master logical terminal is to be assigned. The second LINE/PTERM or NODE specifies the printer device to which both the input and output capabilities of the secondary are to be assigned. If only one LINE/PTERM or NODE is specified, then the input and output capabilities of the primary master logical terminal and the secondary master logical terminal are assigned to the same LINE/PTERM or NODE.

Data considerations: IMS does not edit data destined for a logical terminal when an /ASSIGN LTERM or /ASSIGN USER command is executed that affects physical terminal to logical terminal relationships. Ensure that data that is to be sent to a given physical terminal is suitable for transmission to a different physical terminal. If the Message Format Service (MFS) is used and the FMT definition included the second device, the change of physical terminal from one MFS-supported device to another MFS-supported device will produce correct output.
The command format used with the /ASSIGN LTERM ltermname command is:
  • /ASSIGN LTERM ltermname [TO] LINE line#1 PTERM pterm#1
This command format assigns the input and output capabilities of the logical terminal to LINE line#1 PTERM pterm#1. This command is not valid if the LTERM is dynamic.
/ASSIGN LTERM ltermname [TO] LINE line#1
PTERM pterm#1 LINE line#2
PTERM pterm#2
This command format assigns the input capability of the logical terminal to the first LINE/PTERM pair and assigns the output capability of the logical terminal to the second LINE/PTERM pair. This command is not valid if the LTERM is dynamic.
  • /ASSIGN LTERM ltermname [TO] LINE line#1 PTERM pterm#1 PTERM pterm#2
This command format assigns the input capability of the logical terminal to LINE line#1 PTERM pterm#1 and assigns the output capability of the logical terminal to the same LINE, line#1, but to a different PTERM, pterm#2. This command is not valid if the LTERM is dynamic.
  • /ASSIGN LTERM ltermname [TO] NODE nodenamez
This command format assigns the input and output capabilities of the logical terminal to NODE nodename. This command is not valid if the LTERM or NODE is dynamic.
  • /ASSIGN LTERM ltermname1 [TO] LTERM ltermname2
This command format allows an input chain to be moved to a symbolic location, rather than to a specific line and physical terminal. The [TO] line and terminal are determined by the current assignment of the specified [TO] logical terminal. With this format, the output assignment is not affected. This form of the /ASSIGN command is invalid for ISC nodes defined for parallel sessions, and it is not supported for LTERMs associated with VTAM® terminals.
  • /ASSIGN LTERM ltermname [TO] USER username

This command format assigns the logical terminal to the given user. When moving logical terminals between users, the MSGDEL options of the users as defined during system definition or on user descriptor must match. The user related to LTERM ltermname must not be signed on in conversation, in response mode, or in preset mode. For 3600/FINANCE, SLU P, and ISC, the user (username) can remain allocated because of terminal message resynchronization requirements. However, the user cannot be signed on because the associated terminal session must be stopped and idle. The user can be allocated, but, if allocated, must be associated with a session that is stopped and idle. This command will turn off the DEADQ status for the user associated with LTERM ltermname.

NODE
Specifies the VTAM terminal to which the input and output capabilities of a logical terminal are to be assigned. The node must not be dynamic, or in conversational, response, or preset destination modes. If a session with a VTAM terminal is terminated after a message is sent but before the response has been received, message resynchronization is necessary for this terminal. The output message for which no response was received must remain associated with this terminal until message resynchronization determines when the terminal received the message. If you use the /ASSIGN command to move the message to a different terminal, message resynchronization is no longer possible.
NOSAVE
Indicates that the assignment changes specified by the /ASSIGN command are lost when control blocks are deleted by the system when they are no longer needed. Omitting SAVE and NOSAVE causes the system-wide default to be used, as specified by the ASSNCHANGE parameter in the DFSDCxxx PROCLIB member.
NPRI
Specifies a new value for the normal priority of a transaction. The NPRI keyword is not allowed for BMP transactions, because BMP transactions should always have a priority of 0. The new NPRI value takes effect the next time the transaction is scheduled. Valid NPRI parameters are numeric values from 0 to 14.
OUTPUT
Specifies that the output capability of a logical terminal is to be assigned to a given nonswitched physical terminal, without affecting the input assignment. OUTPUT is invalid for ISC nodes defined for parallel sessions.
PARLIM
Specifies a new value for the parallel processing limit count of a transaction. parlim# 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. An additional region will be scheduled whenever the transaction queue count (for shared-queues environments, the successful consecutive GU count is used instead of the queue count) exceeds the PARLIM value multiplied by the number of regions currently scheduled for this transaction. Valid PARLIM parameters are numeric values from 0 to 32767 and 65535, where 65535 disables transaction load balancing.

A PARLIM of 65535 is the only valid value allowed for a transaction that is shown as eligible for load balancing but has an application program defined as SCHDTYPE=SERIAL. For example, if you dynamically change a parallel transaction to a serial transaction through online change, the only valid value for PARLIM is 65535.

/ASSIGN PARLIM is not valid for CPI Communications driven transactions.

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.

A 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.

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.

PLCT
Specifies a new value for the processing limit count of a transaction. The PLCT is the number of messages of this transaction code that a program can process in a single scheduling. The new PLCT values take effect the next time the transaction is scheduled. Valid PLCT parameters are numeric values from 0 to 65535.

/ASSIGN PLCT is not valid for CPI Communications driven transaction programs.

PTERM
Specifies the non-VTAM device to which the input or output capabilities (or both) of a logical terminal are to be assigned.
REGION
Specifies the message processing region being assigned new classes of transactions that the region can schedule.
SAVE
Prevents deletion of user and LTERM control blocks across session and IMS restarts. Control blocks will be retained until the NOSAVE keyword is used with the /ASSIGN command. Omitting SAVE and NOSAVE causes the system-wide default to be used, as specified by the ASSNCHANGE parameter in the DFSDCxxx PROCLIB member.
SEGNO
Creates or changes the limit on the number of application program output segments allowed in message queues for each GU call. Segment limits will be established by transaction code, thereby allowing specification of more than one value for each application program. The new SEGNO value takes effect during execution of the transaction. Valid SEGNO parameters are numeric values from 0 to 65535.

The /ASSIGN SEGNO command is not valid for CPI Communications driven transaction programs.

SEGSZ
Creates or changes the limit on the size of application program output segments allowed in message queues for each GU call. The new SEGSZ value takes effect during execution of the transaction. Valid SEGSZ parameters are numeric values from 0 to 65535.

The /ASSIGN SEGSZ command is not valid for CPI Communications driven transaction programs.

TRAN
Specifies the transaction being assigned to a message processing class or being assigned a value. The new class takes effect the next time the transaction is scheduled.
USER
Assigns logical terminals to ISC half-sessions or to dynamic users. When moving logical terminals between users, the MSGDEL options of the users must match. The MSGDEL option for the static ISC users is defined in the SUBPOOL macro during system definition. The MSGDEL option for dynamic terminals is defined in the OPTIONS keyword of the ETO USER descriptor. /ASSIGN USER to VTAMPOOL is not valid if USER is not ISC.

/ASSIGN LTERM ltermname (TO) USER username assigns the logical terminal to another USER. The user associated with LTERM ltermname must not be allocated. The USER username can be allocated, but it must be associated with a session that is stopped and idle, if allocated.

Note: Assigning an LTERM is not a permanent action. When the destination structure is deleted (for example, with /SIGN OFF) IMS discards information about the assignment. When the original dynamic user who owned that dynamic LTERM signs on again or gets a message switch, the dynamic LTERM is recreated for the original dynamic user.

If SAVE is specified, the dynamic user is not deleted unless another /ASSIGN command with the NOSAVE keyword is issued.

/ASSIGN USER username1 (TO) USER username2 assigns a string of logical terminals to another USER The first user (username1) in the command must contain at least one logical terminal and must not be signed on, in conversation, in response mode, or in preset mode. For 3600/FINANCE, SLU P, and ISC, the second user (username2) can remain allocated due to terminal message resynchronization requirements. However, the user cannot be signed on and associated terminal sessions must be stopped and idle. This command turns off the DEADQ status for USER username1.

In addition to the ISC rules and restrictions, following dynamic terminal restrictions also apply. The /ASSIGN USER to USER and /ASSIGN LTERM to USER commands are rejected if the source or destination dynamic user is in conversation mode, response mode, or preset mode. The second USER can be allocated, but it must be associated with a session that is stopped and idle, if allocated.

When existing dynamic LTERMs or dynamic users are assigned to a destination user that does not exist, the destination user is created unless it is rejected by the DFSINSX0 user exit.

VTAMPOOL
Is valid only for VTAM ISC sessions. It is used to force a cold start of an ISC session that cannot perform a successful restart.

/ASSIGN VTAMPOOL deallocates an entire string of logical terminals allocated to a given USER. The user must not be signed on, in conversation mode, response mode, or preset mode, and the terminal must be stopped and idle. This command is valid for static and dynamic ISC users.

Usage notes

Most changes made by the /ASSIGN command remain in effect until changed with another /ASSIGN command, or an IMS cold start (/NRESTART CHECKPOINT 0) is performed.

This command can be issued to an IMSplex using the Batch SPOC utility.

When dynamic LTERMs are assigned to dynamic users with the /ASSIGN LTERM TO USER command, or dynamic users are assigned to dynamic users with the /ASSIGN USER TO USER command, changes remain in effect only if the following conditions are true:
  • The SAVE keyword is used.
  • SAVE and NOSAVE keywords are omitted, but ASSNCHANGE=SAVE is specified in the DFSDCxxx PROCLIB member.

Otherwise, changes are lost when the destination user is deleted during user sign-off or IMS checkpoint.

Changes that affect regions, such as CLASS, are only in effect until the region terminates.

Recommendation: Use the /ASSIGN command consistently on all IMS subsystems that are members of a VTAM generic resources group or share IMS queues. For example, assign an LTERM to a specific node for all IMS subsystems; assigning one LTERM to different nodes on different IMS subsystems could cause unpredictable results.

The /ASSIGN command is mirrored on an XRF alternate environment unless the assignment involves the primary or secondary master terminal, or the assignment of a CLASS to a REGION.

/ASSIGN commands attempting to assign LTERMs or users between static and dynamic terminals receive a unique error message. An error message is issued if /ASSIGN attempts any of the following
  • To assign a dynamic LTERM to a static USER.
  • To assign a static USER to a dynamic USER.
  • To assign a dynamic USER to a static USER.
  • To assign a dynamic LTERM to a LINE or NODE.
  • To assign a static LTERM to a dynamic USER.
Restriction: You cannot use the /ASSIGN command to assign a user structure to a node that does not exist. Use the /OPN NODE nodename USER username command instead.

/ASSIGN in an IMSplex

In an IMSplex, the /ASSIGN LTERM and /ASSIGN USER commands alter the relationships between one or more logical terminals and a physical terminal or user.

Static terminals

For static terminals in an IMSplex, the control blocks should exist in all the IMS systems where a user could possibly log on to that terminal. If /ASSIGN LTERM TO NODE is specified in an IMSplex, it should be issued from the Single Point Of Control (SPOC) application. If ROUTE is specified, it should be specified as ROUTE(*). Otherwise, the /ASSIGN command may not be processed consistently across the IMSplex and could cause unpredictable results. If one of the /ASSIGN commands fails, that IMS will send back a completion code to the Operations Manager (OM) indicating failure. It will be up to the IMS installation to correct that problem.

/ASSIGN LTERM TO NODE assigns the input and output capabilities of a logical terminal to a static VTAM node. The logical terminal may not be in conversational, response, or preset destination mode. The source and destination terminals do not need to be stopped or logged off.

If global resource information is not kept in the Resource Manager (RM) and the node exists locally, this command applies locally. If global resource information is kept in RM, this command applies globally, if the control blocks exist in RM. However, the assignment changes are not considered significant, and if the resource is deleted, the assignment changes are deleted as well. An LTERM that exists in the RM could be deleted if the static node to which it is assigned does not exist in the RM. If NODEA and LTERMA exist in the RM because the node is in exclusive mode, but static NODEB is not in RM, an /ASSIGN LTERM LTERMA NODE NODEB command would result in LTERMA being deleted in RM.

The IMS where the LTERM and node are active, or the command master if the resources are not active, will make the changes in the RM. In this case, "active" includes the case where the terminal is logged off, but has an RM affinity to a particular IMS. For /ASSIGN LTERM TO NODE, the LTERM and node might not be active in different IMS systems.

When the log on of a static node attempts to write its LTERM names to the RM, but one or more of the LTERM names are already in use, IMS will reject the log on. This error should occur only if there are inconsistent definitions, or there have been inconsistent /ASSIGN commands issued in the IMSplex.

Dynamic terminals

/ASSIGN LTERM TO USER assigns the input and output capabilities of an ETO logical terminal to an ETO user or a static ISC logical terminal to a static ISC subpool. The logical terminal may not be in conversational, response, or preset destination mode. The source user associated with the ETO LTERM might not be signed on. The destination ETO user does not have to be stopped. If global resource information is not kept in RM and the user exists locally, this command applies locally. If global resource information is kept in RM, this command applies globally (if the control blocks exist in RM). However, the assignment changes are not considered significant, and if the resource is deleted, the assignment changes are deleted as well. The IMS where the LTERM and node are active, or the command master if the resources are not active, will make the changes in the RM.

Use /ASSIGN LTERM TO USER with the SAVE keyword in an RM environment, to cause the assignment to persist and to apply the change to future IMS systems that join the IMSplex. The SAVE keyword is valid only for dynamic terminals, so this persistence function is not available for static terminals. Use /ASSIGN LTERM TO USER with the NOSAVE keyword in an RM environment, to stop applying the change to future IMS systems that join the IMSplex.

/ASSIGN USER TO USER assigns all the logical terminals associated with the source user to the destination user. The destination user, if dynamic, does not have to be stopped. If global resource information is not kept in RM and the user exists locally, this command applies locally. If global resource information is kept in RM, this command applies globally. Use /ASSIGN USER TO USER with the SAVE keyword in an RM environment to cause the assignment to persist and to apply the change to future IMS systems that join the IMSplex. The SAVE keyword is valid only for dynamic terminals, so this persistence function is not available for static terminals. Use /ASSIGN USER TO USER with the NOSAVE keyword in an RM environment to stop applying the change to future IMS systems that join the IMSplex.

The /ASSIGN command is allowed when the destination user does not exist. However, when resource information is being kept in RM, unless the SAVE keyword is used, this command will not be allowed. Assignments are not considered significant without the SAVE keyword, and if the user does not already exist because of some other significant status, there is no reason to create the user.

IMS will dynamically create the source LTERM or user (if it does not exist) to enable the /ASSIGN command. If the destination also does not exist, the SAVE keyword must be specified on the /ASSIGN command. Otherwise, the SAVE keyword is optional.

Non-VTAM devices and VTAM

IMS supports the assignment of an LTERM between non-VTAM devices and VTAM terminals. However, IMS will not save any non-VTAM status. For example, if an LTERM is assigned from VTAM to a non-VTAM device, the LTERM will be deleted from the RM, and any status that might have been associated with that LTERM will no longer be recoverable.

Equivalent IMS type-2 commands

The following table shows variations of the /ASSIGN command and the IMS type-2 commands that perform similar functions.

Table 3. Type-2 equivalents for the /ASSIGN command
Task /ASSIGN command Similar IMS type-2 command
Changes the value for the limit count of a transaction. /ASSIGN LCT new_lmct_number TO TRAN tranname UPDATE TRAN NAME (tranname) SET(LCT(new_limit_count))
Changes the value for the limit priority of a transaction. /ASSIGN LPRI new_lpri_number TO TRAN tranname UPDATE TRAN NAME(tranname) SET(LPRI(new_limit_priority))
Changes the value for the normal priority of a transaction. /ASSIGN NPRI new_npri_number TO TRAN tranname UPDATE TRAN NAME(tranname) SET(NPRI(new_normal_priority))
Changes the value for the parallel processing limit count of a transaction. /ASSIGN PARLIM new_parlim_number TO TRAN tranname UPDATE TRAN NAME(tranname) SET(PARLIM(new_parallel_limit))
Changes the value for the processing limit count of a transaction. /ASSIGN PLCT new_plmct_number TO TRAN tranname UPDATE TRAN NAME(tranname) SET(PLCT(new_processing_limit))
Changes the limit on the number of application program output segments allowed in message queues for each GU call. /ASSIGN SEGNO new_segno_number TO TRAN tranname UPDATE TRAN NAME(tranname) SET(SEGNO(new_segment_number))
Creates or changes the limit on the size of application program output segments allowed in message queues for each GU call. /ASSIGN SEGSZ new_segsize_number TO TRAN tranname UPDATE TRAN NAME(tranname) SET(SEGSZ(new_segment_size))
Changes the class number of a transaction. /ASSIGN TRAN tranname TO CLS new_class_number UPDATE TRAN NAME(tranname) SET(CLASS(new_class_number))

Examples

The following are examples of the /ASSIGN command:

Example 1 for /ASSIGN command

Entry ET:
  /ASSIGN CLASS 5 TO REGION 3
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Class 5 is assigned to region 3. Class 5 transactions are scheduled into region 3. This command resets any previous class assignments to this region.

Example 2 for /ASSIGN command

Entry ET:
  /ASSIGN CLASS 4 6 2A TO REGION 5
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED EXCEPT CLASS 2A

Explanation: The requested assignment is complete except for 2A, which is an invalid class number.

Example 3 for /ASSIGN command

Entry ET:
  /ASSIGN CPRI 8 TO TRAN PIT, SEED
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: A current priority of 8 is set for the transactions named PIT and SEED.

Example 4 for /ASSIGN command

Entry ET:
  /ASSIGN INPUT LTERM JONES TO LINE 4 PTERM 3
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal JONES is assigned to LINE 4 PTERM 3 for input identification and security. It associates the chain of logical terminals, of which LTERM JONES will be chained in first, with LINE 4 PTERM 3 for input. LTERM JONES must not be in the interior of an input chain (no other logical terminal can point to it). A physical terminal can point (for input only) to the first logical terminal of any chain. The output physical terminal for LTERM JONES is not changed.

Example 5 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM APPLE TO LINE 5 PTERM 1
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal APPLE has both its input and output capabilities assigned to LINE 5 PTERM 1. The components present on LINE 5 PTERM 1 must be compatible with the physical terminal previously related to logical terminal APPLE.

Example 6 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM APPLE TO NODE JONES
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal APPLE has both its input and output capabilities assigned to node JONES. The components present on node JONES must be compatible with the physical terminal previously related to logical terminal APPLE.

Example 7 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM SMITH TO LINE 4 PTERM 6 PTERM 7 COMPONENT 2
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal SMITH is assigned to LINE 4 PTERM 6 for input and LINE 4 PTERM 7 for output. Output for LINE 4 PTERM 7 is directed to COMPONENT 2.

Example 8 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM X TO LINE 5 PTERM 7 PTERM 6 COMPONENT 4
  ICOMPONENT 3
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal X is assigned to LINE 5 PTERM 7 for input and to LINE 5 PTERM 6 for output. Input is only received from input component 3, while output is directed to component 4.

Example 9 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM JONES TO LINE 4 PTERM 6 LINE 9 PTERM 1
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal JONES is assigned to LINE 4 PTERM 6 for input capability and LINE 9 PTERM 1 for output capability. The component assignment is unaffected.

Example 10 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM SMITH NODE JONES
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal SMITH is assigned to node JONES for both input and output.

Example 11 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM BROWN TO LTERM WHITE
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal BROWN is removed from its present input chain (if one exists) of logical terminals and added to the end of the input chain (if one exists) of logical terminal WHITE. The output physical terminal for LTERM BROWN is not changed.

Example 12 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM LAX USER ILL ICOMPONENT 1 COMPONENT 2
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: Logical terminal LAX is reassigned from its existing user to the user ILL. The user associated with LAX cannot be allocated to an active session.

Example 13 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM PRIMARY TO LINE 4 PTERM 3
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: PTERM 3 on LINE 4 becomes the master terminal. PTERM 3 must be a 3270 display.

Example 14 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM PRIMARY TO NODE BOSS
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: The node, BOSS, becomes the primary master terminal and the secondary master terminal.

Example 15 for /ASSIGN command

Entry ET:
  /ASSIGN LTERM PRIMARY TO LINE 1 PTERM 2 LINE 2 PTERM 4
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: PTERM 2 on LINE 1 becomes the primary master terminal and PTERM 4 on LINE 2 becomes the secondary master terminal. PTERM 2 is a 3270 display station and PTERM 4 is a 3270 printer.

Example 16 for /ASSIGN command

Entry ET:
  /ASSIGN SEGNO 50 TO TRAN APPLE
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: A limit of 50 output segments is set for the transaction APPLE.

Example 17 for /ASSIGN command

Entry ET:
  /ASSIGN SEGSZ 1000 TO TRAN APPLE
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: A maximum size of 1000 bytes is set for any one output segment of transaction APPLE.

Example 18 for /ASSIGN command

Entry ET:
  /ASSIGN USER ILL TO USER CAL
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: All the logical terminals of user ILL are appended to the existing LTERM string of user CAL. Use of this form of the /ASSIGN command leaves ILL with no LTERMs and therefore unavailable for allocation to a session. Both user ILL and CAL cannot be allocated to a session.

Example 19 for /ASSIGN command

Entry ET:
  /ASSIGN USER CAL TO VTAMPOOL
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: The entire allocated LTERM string defined for user CAL is reassigned to the VTAM pool. The node to which user CAL is allocated must not be in session and must be stopped and idle. User CAL is then available for allocation to any ISC session.

Example 20 for /ASSIGN command

Entry ET:
  /ASSIGN TRAN APPLE TO CLASS 5
Response ET:
  DFS058I  ASSIGN COMMAND COMPLETED

Explanation: The transaction named APPLE is assigned to class 5.