CREATE MSLINK command
Use the CREATE MSLINK command to dynamically create a Multiple Systems Coupling (MSC) logical link between two MSC-enabled IMS systems.
You can assign a logical link to a physical link when you define it or later by using either the IMS type-2 UPDATE MSLINK command or the type-1 /MSASSIGN LINK command.
You can define a maximum of 1018 logical links in an IMS system.
Subsections:
Environment
The following table lists the environments (DB/BC, DBCTL, and DCCTL) from which the command keywords can be issued.
| Command / Keywords | DB/DC | DBCTL | DCCTL |
|---|---|---|---|
| CREATE MSLINK NAME () SET() | X | X |
Syntax diagrams
The syntax diagram for the CREATE MSLINK command is shown as several different syntax diagrams based on the type of physical link the logical link will be assigned to.CTC: Syntax diagram for logical links that are assigned to CTC physical links
MTM: Syntax diagram for logical links that are assigned to MTM physical links
TCP/IP: Syntax diagram for logical links that are assigned to TCP/IP physical links
VTAM: Syntax diagram for logical links that are assigned to VTAM physical links
Keywords
The following keywords are valid for the CREATE MSLINK command:
- ASR(OFF | ON)
- Specifies the Automatic Session Restart (ASR) when the Session
Outage Notification facility is used. ASR(OFF) is
the default.
ASR applies only to logical links that are assigned to VTAM physical links when both sides of the link are using the ASR option.
An ASR specification in the definition of a logical link overrides ASR specifications in the definitions of both terminals and physical links.
To display the current ASR setting you can use either of the following commands:- The type-1 command /DISPLAY LINK
- The type-2 command QUERY MSLINK NAME(linkname) SHOW(STATUS)
- The type-1 command /CHANGE LINK
- The type-2 command UPDATE MSLINK NAME(linkname) SET(ASR(OFF | ON))
- BACKUP
- For XRF-capable IMS systems, controls the automatic restart
of TCP/IP and VTAM® links after an XRF takeover.
The specification of BACKUP in the definition of a logical link overrides any switching options that are specified in the definition of the associated physical link. Use only if HSB=YES is specified on the IMSCTRL macro.
The value of n is a numeric integer from 1 to 7, inclusive, that sets the priority for reestablishing the session. When either the BACKUP keyword is omitted or no value is specified for BACKUP in the definition of either the physical or logical link, the default is 4. NO suppresses the session recovery of the physical link at takeover.
BACKUP is an MSC physical link attribute that you can set by using the CREATE MSPLINK, CREATE MSLINK, or UPDATE MSPLINK command. You can display the physical link BACKUP value by using the QUERY MSPLINK and QUERY MSLINK commands.Important: Even though BACKUP is a physical link attribute, the CREATE MSLINK NAME(linkname) SET(MSPLINK(msplinkname)) command can also change the BACKUP value of the specified physical link. You can use the QUERY MSPLINK command to display the updated BACKUP value. You can also use the QUERY MSLINK command and specify the MSC logical links, including the newly created logical link, that are assigned to the physical link to display the updated BACKUP value.Although BACKUP prioritizes the order in which IMS restarts TCP/IP and VTAM links, the active requests might be completed in any order because of variables such as internal VTAM conflicts and pacing, TCP/IP network traffic, and so on.
- BANDWIDTH(OFF | ON)
- Specifies whether the logical link uses bandwidth mode.
- OFF
- Specifies that the logical link does not use bandwidth mode. However, if the physical link type specified by MSPLINK parameter is TCPIP, the bandwidth mode is set on. OFF is the default.
- ON
- Specifies that the logical link uses bandwidth mode.
- BUFSIZE
- Specifies the input and output buffer sizes for the newly created
logical link.
The valid range of buffer sizes for all link types is 1024 - 65536 bytes.
The same buffer size must be specified by the IMS systems at each end of a physical link.
If BUFSIZE is specified, the created logical link sets its buffer size to the value that is passed by BUFSIZE parameter.
If BUFSIZE is not specified but MSPLINK is specified, the buffer size of the created logical link inherits the buffer size from its physical link.
If both BUFSIZE and MSPLINK parameters are not specified, the created logical link takes the default value 4096 for its buffer size.
- MODETBL
- Specifies the name of the VTAM logon
mode table entry (logon mode name) containing the SNA bind parameters
to be used when a session is established for this terminal.
This function allows a specification for referencing an entry other than the default entry in the user's VTAM logon mode table.
With this function, if MODETBL is not specified, no functional or operational change affects the user.
If MODETBL is specified, the specified entry name is used.
You can display the current MODETBL name by using either the /DISPLAY LINK command or the QUERY MSLINK command. You can override the MODETBL name by using any of the following commands:- The VARY ACT, LOGON= command by the network terminal operator
- The /RST LINK or the /CHANGE LINK command by the master terminal operator
- The type-2 command UPDATE MSLINK NAME(linkname) SET(MODETBL(modetablename)) through the OM API
If the VTAM-node=name being defined is in another domain (that is, a cross-domain resource), the MODETBL parameter need not be specified.
Related reading: See z/OS® Communications Server: SNA Programming for additional information.
- MSPLINK
- Assigns the logical link to the specified physical link.
If MSPLINK is specified, the physical link must exist in the system. When the physical link is either a TCP/IP physical link or a VTAM physical link, it must be stopped. When the physical link is either a CTC physical link or a MTM physical link, it must not be assigned to a logical link.
If you do not specify this keyword, the logical link is not assigned to a physical link.
You can assign this logical link to a physical link later by using either the /MSASSIGN LINK command or the type-2 command UPDATE MSLINK NAME(linkname) SET(MSPLINK(msplinkname)).
You must assign the logical link to a physical link before communication can be established between the two systems.
- PARTNER
- A 2-character alphanumeric identification that associates this
logical link with its associated logical definition in the partner
IMS system. The partner ID ensures that the two related logical link
definitions in the partner IMS systems are always logically and physically
connected. Both systems must have logical links that are defined with
the same partner ID. If the logical link is assigned to a different
physical link, the two systems can still communicate through the logical
link, which remains as defined.
You can modify the partner ID by using the type-2 command
UPDATE MSLINK NAME(linkname) SET(PARTNER(partner-id)). - SYNCOPT(SYNCSESS | FORCSESS)
- For logical links that are assigned to TCP/IP or VTAM physical
links only, specifies the session resynchronization options for the
logical link.
- SYNCSESS
- Indicates that session initiation is to be completed only if session resynchronization is successful. Successful session resynchronization occurs when the message sequence numbers of the two logical units in session agree, or when the sequence number of the sender is not less than the sequence number of the receiver. SYNCSESS is the default.
- FORCSESS
- Forces the session initiation to be completed regardless of whether session resynchronization is successful.
The SYNCOPT setting can be overridden by either the type-1 command
/CHANGE LINK nn FORCSESS | SYNCSESS | COLDSESSor the type-2 commandUPDATE MSLINK NAME(linkname) SET(SYNCOPT(FORCSESS | SYNCSESS | COLDSESS)).
Usage notes
The CREATE MSLINK command can be issued only through the Operations Manager API. These commands apply to DB/DC and DCCTL systems. The syntax for this command is defined in XML and is available to automation programs that communicate with OM.
- Export the resources to the IMSRSC repository by using the automatic export function and import the resources at IMS cold start by using the automatic import function.
- Define the resources with stage-1 system definition macros and regenerate the MSC resources into the DFSCLL3x member in the IMS.SDFSRESL data set.
The CREATE MSLINK NAME(mslinkname) command specified with SET(MSPLINK(msplinkname)) is rejected if at least one logical link attribute specified in the command (ASR, BACKUP, MODETBL, or SYNCOPT) conflicts with the physical link type. However, after the logical link is created, it can be reassigned to any type of physical link with an UPDATE MSLINK command or an /MSASSIGN command. If a logical link defined with attributes applicable to specific physical link types is reassigned to a different physical link type that does not support those attributes, they are ignored when the link is started. The attributes are still defined for the logical link and can be displayed.
Output fields
- Short label
- Contains the short label that is generated in the XML output.
- Keyword
- Identifies keyword on the command that caused the field to be generated. N/A appears for output fields that are always returned. The value error appears for output fields that are returned only in case of an error.
- Meaning
- Provides a brief description of the output field.
| Short label | Long label | Keyword | Meaning |
|---|---|---|---|
| CC | CC | N/A | Completion code |
| CCTXT | CCText | N/A | Completion code text that briefly explains the meaning of the non-zero completion code |
| MBR | MbrName | N/A | IMSplex member that built the output line |
| MSCL | MSLink | N/A | Logical link name |
Return and reason codes
The OM return and reason codes that might be returned as a result of the CREATE MSLINK command are standard for all commands that are entered through the OM.
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.
| Return code | Reason code | Meaning |
|---|---|---|
| X'00000000' | X'00000000' | The command completed successfully. The command output contains a line for each resource, which is accompanied by its completion code. See the completion code table for details. |
| X'00000008' | X'00002157' | Invalid BACKUP parameter |
| X'00000008' | X'00002158' | Invalid BUFSIZE value. |
| X'00000008' | X'0000215F' | Invalid MODETBL name. |
| X'00000008' | X'0000216E' | TCP/IP requires BANDWIDTH(ON). |
| X'00000008' | X'0000216F' | PARTNER ID is not specified, but is required. |
| X'00000008' | X'00002170' | The MSPLINK has an active MSLINK. |
| X'00000008' | X'00002171' | The specified MSPLINK is a TCP/IP or VTAM link that is not stopped. |
| X'00000008' | X'00002172' | MSPLINK is already assigned to a logical link. |
| X'00000008' | X'00002173' | PARTNER ID already exists. |
| X'00000008' | X'00002174' | PARTNER ID is invalid. |
| X'00000008' | X'00002175' | SYNCOPT parameter conflicts with the MSPLINK type. |
| X'0000000C' | X'00003000' | Command was successful for some resources but failed for others. The command output contains a line for each resource, which is accompanied by its completion code. See the completion code table for details. |
| X'0000000C' | X'00003004' | Command was not successful for any of the resources. The command output contains a line for each resource, which is accompanied by its completion code. See the completion code table for details. |
| X'00000010' | X'0000400C' | Command is not valid on the XRF alternate. |
| X'00000010' | X'0000402C' | Command is not valid because MSC is not enabled in the IMS system. |
| X'00000010' | X'0000402D' | Command is not allowed because dynamic definition is not enabled for MSC. MSCRSCS=DYN is not specified in the MSC section of the DFSDFxxx member of the IMS PROCLIB data set. |
| X'00000010' | X'0000402E' | Command is not valid because the system is not an XRF active system. |
| X'00000014' | X'00005004' | A DFSOCMD response buffer could not be obtained. |
| X'00000014' | X'00005008' | DFSPOOL storage could not be obtained. |
| X'00000014' | X'00005010' | Unable to obtain latch. |
Completion codes
The following table includes an explanation of the completion codes.
| Completion code | Completion code text | Meaning |
|---|---|---|
| 0 | The command completed successfully for the logical link. | |
| 11 | RESOURCE ALREADY EXISTS | A logical link with the same name already exists. |
| 17 | ANOTHER CMD IN PROGRESS | Another command (such as DELETE MSLINK or UPDATE MSLINK) is in progress for the logical link. |
| 5F | INVALID CHARACTERS IN NAME | Name is invalid because it contains an invalid character. |
| 61 | DFSBCB STORAGE ERROR | Request to get BCB storage for LLB control block failed. |
| 62 | HIOP STORAGE ERROR | Request to get HIOP storage failed. |
| 8A | WILDCARD PARAMETER NOT SUPPORTED | The CREATE command does not support wildcard parameters. You must explicitly specify the names of the resources you want to create. |
| 8D | RESOURCE IS NOT STOPPED | The MSC logical link resource is not stopped. |
| 90 | INTERNAL ERROR | An IMS system service failure. |
| 93 | RESERVED NAME | Name is reserved. For example, name starts with DFS (except for DFSSAMxx or DFSIVPxx), or is an IMS reserved name, such as BASICEDT or WTOR. |
| 206 | CREATED LINK ENQUEUE FAILED | The enqueue of the logical link LLB control block onto one of the LLB chains failed. |
| 208 | MAX LINK NUMBER REACHED | The maximum number of MSC logical links has been reached. |
| 20E | NAME CANNOT BEGIN WITH A NUMBER | The MSLINK name must begin with an alphabetic character. It cannot begin with a number. |
| 215 | ENQUEUE INTERNAL LNB FAILED | Hash internal LNB failed. |
| 216 | CREATE MSLINK ITASK FAILED | Create MSLINK itask failed. |
| 217 | BUILD INTERNAL MSNAME FAILED | The build of the internal MSNAME - MSNInnn for the newly created logical link failed. |
Example of the CREATE MSLINK command
In the following example, one MSC VTAM logical link is dynamically created. Only one logical link can be created at a time because the partner ID must be unique.
CREATE MSLINK NAME(LNKV0001) SET(MSPLINK(PLNK12V),PARTNER(ZA))MSLink MbrName CC
LNKV0001 IMS1 0OM API input:
CMD(CRE MSLINK NAME(LNKV0001) SET(MSPLINK(PLNK12V),PARTNER(ZA)))OM API output:
<imsout>
<ctl>
<omname>OM1OM </omname>
<omvsn>1.7.0</omvsn>
<xmlvsn>20 </xmlvsn>
<statime>2015.058 22:58:56.342531</statime>
<stotime>2015.058 22:58:56.343694</stotime>
<staseq>CE92A18E8E6039E3</staseq>
<stoseq>CE92A18E8EA8EE8A</stoseq>
<rqsttkn1>USRT011 10145856</rqsttkn1>
<rc>00000000</rc>
<rsn>00000000</rsn>
</ctl>
<cmd>
<master>IMS1 </master>
<userid>USRT011 </userid>
<verb>CRE </verb>
<kwd>MSLINK </kwd>
<input>CREATE MSLINK NAME(LNKV0001) SET(MSPLINK(PLNK12V),PARTNER(ZA))
</input>
</cmd>
<cmdrsphdr>
<hdr slbl="MSCL" llbl="MSLink" 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" />
</cmdrsphdr>
<cmdrspdata>
MSCL(LNKV0001) MBR(IMS1 ) CC( 0)
</cmdrspdata>
</imsout>