z/OS MVS Programming: Sysplex Services Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Parameter Descriptions

z/OS MVS Programming: Sysplex Services Reference
SA38-0658-00

The parameter descriptions are listed in alphabetical order. Default values are underlined:
,ATTRIBUTES=NONE
,ATTRIBUTES=RECOVERY
,ATTRIBUTES=CRITICAL
Use this parameter to specify the special attributes to be associated with the message being sent.
ATTRIBUTES=NONE
No special attributes will be associated with the message. The message will be delivered in accordance with normal message delivery practices.
ATTRIBUTES=RECOVERY
The message is a recovery signal being sent as part of a sysplex recovery protocol. The RECOVERY attribute indicates that it is important for the signal to be delivered in a timely manner to ensure that the sysplex recovery protocol can finish as soon as possible, and thereby enable the sysplex to resume normal operation.
ATTRIBUTES=CRITICAL
The message is to be treated as critical to the functionality of the XCF group by the target member.
,DELIVERMSG=UNORDERED
,DELIVERMSG=ORDERED
,DELIVERMSG=DUPLICATES
Use this input parameter to indicate whether the system is to deliver the message in sequential order, or whether the target member can tolerate receiving the message for multiple times.
DELIVERMSG=UNORDERED
The system is to deliver the message as soon as possible. No ordering is imposed on this message with respect to any other message sent by the sending member to the target member.

Given any other message sent by the sending member to the target member, no assumption can be made about the order in which the system will deliver that message and this message.

DELIVERMSG=ORDERED
The system is to impose ordering on this message with respect to other ordered messages sent by the sending member to the target member. The ordering is determined by the order in which the message-out service accepts the messages for delivery. The system presents the ordered messages to the message user routine of the target member in the same order that the messages were accepted for delivery. Delivery of these messages might be delayed to ensure that proper ordering occurs.

Note that the ordering is imposed on messages sent between a particular pair of members. The ordered delivery of messages sent between one particular pair of members is independent of message delivery between any other pair of members.

Use the STREAMID keyword to send messages in independently ordered streams between a particular pair of members. The streams of any one pair of members are independent of the streams of any other pair of members. For a given pair of members, messages within a particular stream are delivered independently of any other stream.

For ordered message delivery to occur, the systems on which the sending member and the target member reside must both be running a release that supports ordered message delivery. If the message is sent to a target member that resides on a release that does not support ordered message delivery, unordered delivery occurs. Use the XCF Query Service (IXCQUERY) to determine whether the ordered delivery protocol is supported for a particular target member.

DELIVERMSG=DUPLICATES
The target member can tolerate receiving the message for multiple times. In general, one should expect exactly one instance of the message to be delivered to each target member. However, if the signalling path over which the message has been sent is restarted or stopped before the signal is known to have been transferred to the target system, this option allows XCF to send the signal again to the target member through an alternate signalling path without first discovering whether the target system had already received the signal.

If the original signal has been transferred to the target system, both the original message and the resent copy are delivered to the target member.

If the signalling path used to send the second instance of the signal is similarly restarted or stopped, XCF will send yet another instance of the signal through an alternate signalling path. Thus specifying DELIVERMSG=DUPLICATES can potentially result in an arbitrary number of copies of the message being delivered to the targeted member.

It is up to the sender to determine whether or not the target member can tolerate duplicate messages. If the message is being broadcast to multiple targets, then every target member must tolerate duplicate copies of the message.
,ELEMADDRMODE=31
,ELEMADDRMODE=64

Use this parameter to specify the precision format of the addresses that is located within the message data element at the offsets specified by the PARTPTROFF and NEXTPTROFF keywords. The default is ELEMADDRMODE=31.

Use ELEMADDRMODE=31 to indicate that all of the addresses in message data elements are of 31-bit addressing precision (single word - 4 bytes) and reference only virtual storage below the 2-gigabyte virtual storage bar.

Use ELEMADDRMODE=64 to indicate that all of the addresses in message data elements are of 64-bit addressing precision (double word - 8 bytes) and can reference virtual storage below or above the 2-gigabyte virtual storage bar.

,ELEMENT=xelement
Use this input parameter to specify the first element of the table or queue of message data elements. Message data elements contain either buffers or pointers to buffers that contain parts of the message to be sent.

Specifying the PARTOFF parameter indicates that each element contains a buffer. Specifying the PARTPTROFF parameter indicates that each element contains a pointer to a buffer.

Elements must all reside in the same address space or data space — the caller's primary address space, an address space or data space that is accessible through a public entry on the caller's dispatchable unit access list (DU-AL), or a common area data space.

To Code: Use a register from 2 to 12 to specify the RS-type name or address of a required character input area that is the first element containing the data that describes the parts of the message.

,ELEMFORM=TABLE
,ELEMFORM=QUEUE
Use ELEMFORM=TABLE to indicate that the message data elements are organized as a table.

Use ELEMFORM=QUEUE to indicate that the message data elements are organized as a queue.

,ENDOFQUEUE=ZERO
,ENDOFQUEUE=endofqueue
Use this input parameter to specify the address that marks the end of the queue. When the pointer to the next element contains this address, queue processing ends.
Note: The queue must have at least one element.

If you omit ENDOFQUEUE, or specify ENDOFQUEUE=ZERO, the default value for the end-of-queue address is zero.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the end-of-queue address.

,GETRESPONSE=NO
,GETRESPONSE=YES
Use this input parameter to specify whether XCF is to manage the collection of responses to this message.
GETRESPONSE=NO
XCF is not to manage the collection of responses for this message. It is the responsibility of the user to handle any management of responses.
GETRESPONSE=YES
XCF is to manage the collection of responses for this message. When all responses are collected, XCF presents them to the message sender. Note that XCF recognizes situations for which it is not reasonable to expect a response, such as when a target member's system fails.
Response collection is a cooperative effort between XCF and the target members. When XCF presents the message to a target member's message user routine, the parameter list contains the following:
  • A flag (MEPLNEEDSRESPONSE in IXCYMEPL) is set to indicate that XCF is managing response collection.
  • A response identifier (MEPLRESPONSEID in IXCYMEPL) is provided to allow XCF to identify the message to which the response is to be associated.

After composing the response, the target member replies by invoking the message-out service to send the response to the ORIGINATOR of the message identified by the RESPONSEID. XCF recognizes the message as a response by the particular form of the message-out invocation used to make the reply. When collection of the response(s) has completed, XCF presents the collected response message(s) to the member that originated the GETRESPONSE message-out request through the member's message notify user routine.

For XCF to collect a response, the system on which a target member resides must be running a release that supports XCF-managed response collection. Also, the target member must be capable of participating in this protocol by invoking the message-out service to send its reply in a way that allows XCF to recognize it as a response. XCF sends the message to a target member even if it appears that the member is unable to participate in the XCF response collection. However, XCF does not expect a response from such a member. Use the XCF Query Service (IXCQUERY) to determine whether the XCF-managed response collection protocol is supported for a particular target member.

,MEMBERS=TABLE
,MEMBERS=ALL
,MEMBERS=OTHER
Use this input parameter to indicate how the collection of target members is to be determined.
MEMBERS=TABLE
The sender is providing a table that contains a member token for each intended target member.

The table is an array of entries. Each entry has the same fixed size, and can contain data other than a target member token. The storage location identified by the TARGETS keyword contains the first 64-bit target member token. Subsequent target member tokens are iteratively located by adding the value NEXTTARGETOFF to the address of each member token in turn. The keyword #TARGETS indicates the number of entries in the table.

The table can contain “holes”, that is, entries that contain a target member token of X'0'. XCF will skip these entries, but will preserve the entries so that the TARGETS table has a one-to-one correspondence with any other table that XCF constructs for this request. For example, the “i'th” entry of the TARGETS table would correspond to the “i'th” MQATARGRESPENTRY (or MQATARGONLYENTRY) returned by the XCF Message Control Query Message service (IXCMSGC), or would correspond to the “i'th” MNPLTARGRESPENTRY (or MNPLTARGONLYENTRY) presented to a message notify user routine.

The IXCMSGOX invoker is responsible for maintaining the integrity of the TARGETS table until the Message-out service returns. If a table changes while being processed by the Message-out service, the message might be sent to a different set of targets than expected. Also, the content of the entries in tables constructed by XCF might no longer correspond to the content of the entries in the TARGET table.

MEMBERS=ALL
Send a copy of the message to every active member in the sender's XCF group (includes the sender).

XCF determines the collection of members that are currently active in the sender's XCF group throughout the sysplex. This collection is equivalent to the list of members that would be returned by invoking the XCF Query service IXCQUERY with REQTYPE=IMMEDIATE.

MEMBERS=OTHER
Send a copy of the message to every active member in the sender's XCF group except for the sender.

XCF determines the collection of members that are currently active in the sender's XCF group throughout the sysplex. This collection is equivalent to the list of members that would be returned by invoking the XCF Query service IXCQUERY with REQTYPE=IMMEDIATE, with the sender excluded.

,MF=S
,MF=(L,mfctrl)
,MF=(L,mfctrl,mfattr)
,MF=(L,mfctrl,0D)
,MF=(E,mfctrl)
,MF=(E,mfctrl,COMPLETE)
Use MF=S to specify the standard form of the macro, which builds an inline parameter list and generates the macro invocation to transfer control to the service.

Use MF=L to specify the list form of the macro. Use the list form together with the execute form of the macro for applications that require reentrant code. The list form defines an area of storage that the execute form uses to store the parameters. Only the PLISTVER parameter can be coded with the list form of the macro.

Use MF=E to specify the execute form of the macro. Use the execute form together with the list form of the macro for applications that require reentrant code. The execute form stores the parameters into the storage area defined by the list form, and generates the macro invocation to transfer control to the service.
,mfctrl
Use this output parameter to specify a storage area to contain the parameters.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the parameter list.

,mfattr
Use this input parameter to specify the name of a 1- to 60-character string that can contain any value that is valid on an assembler DS pseudo-op. You can use this parameter to force boundary alignment of the parameter list. If you do not code mfattr, the system provides a value of 0D, which forces the parameter list to a doubleword boundary.
,COMPLETE
Use this input parameter to require that the system check for required parameters and supply defaults for omitted optional parameters.
Note: In the macro expansion you might see some defaults for optional parameters that are not documented here. The ones that are not documented do not have any effect on the macro. For example, if SMILE=var were an optional parameter and the default is SMILE=NO_SMILE then it would not be documented. However, if the default was SMILE=:-), then it would be documented because a value would be the default.
MEMTOKEN=memtoken
Use this input parameter to specify the member token you received when you issued the IXCJOIN macro to join your XCF group. This token identifies the member sending the message.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a 64-bit field that contains the member token of the sending member.

,MSGACCESS=SYNC
,MSGACCESS=SYNCSUSPEND
,MSGACCESS=ASYNC
Use this input parameter to indicate how XCF can access the storage containing the text of the message.
MSGACCESS=SYNC
XCF accesses the storage containing the text of the message synchronously with the message-out request. After the message-out service returns, the sender can dispose of the storage containing the message. For multipart messages, the sender can dispose of the storage containing the elements or tables that define the parts of the message as well.
MSGACCESS=ASYNC
XCF is allowed to access the storage containing the text of the message after the message-out request returns to the sender. Note that specifying MSGACCESS=ASYNC does not necessarily imply that XCF will access the storage asynchronously. When possible, XCF will attempt to use synchronous access.

If IXCMSGOX returns with return code X'4' and reason code X'410', the sender must preserve the storage containing the message text until the message is completed. For multipart messages, the elements and tables or queues must be preserved as well. For any other return and reason code, the sender can dispose of the storage as if MSGACCESS=SYNC were specified.

If IXCMSGOX returns with return code X'0', implying that XCF has accepted the message for delivery, and you have specified that the message notify user routine is to receive control when the message is complete, you do not need to preserve the storage containing the message text or the elements and tables or queues. However, the application may have to coordinate responsibility for freeing the message storage area between the sender and the notify exit. The notify exit can determine whether the message storage area had to be preserved by checking the MNPLMSGOASYNCMSGACCESS flag.

If the sending member becomes inactive before an ASYNC message is completed, the message-out service might terminate processing for the message. For example, the message might not be delivered to the target member(s) once the sender becomes inactive. In contrast, with MSGACCESS=SYNC, delivery of messages that were accepted by the message-out service continues even after the sender becomes inactive.

For MSGACCESS= ASYNC or MSGACCESS=SYNCSUSPEND, the length of the message can be in the decimal range of 0 to 134 217 728 (128M) bytes. If the sending member becomes inactive while the unit of work is suspended, the unit of work is to be released and control returned to the caller. The message-out service might end processing for the message. Specifically, the message might not be delivered to one or more of the target members when the sender becomes inactive.

MSGACCESS=ASYNC or MSGACCESS=SYNCSUSPEND must be specified to send message longer than 62 464 (61K) bytes.

See Restrictions for additional information about using MSGACCESS=ASYNC.

MSGACCESS=SYNCSUSPEND
The storage containing the text of the message must be accessed synchronously with the message-uut request. As needed, XCF can suspend the current unit of work for a specified amount of time in order to complete accessing storage areas that are associated with message text. After the message-out service returns, the sender is free to dispose of the storage containing the message. For multipart messages, the sender can dispose of the storage containing the elements and/or tables that define the parts of the message as well. When XCF returns, the message might not be complete.

MSGACCESS=SYNCSUSPEND is useful for senders that want to release storage resources that contained message text and queue or table elements that defined parts of the message before the message completes.

For MSGACCESS= SYNCSUSPEND, the length of the message can be in the decimal range of 0 to 134 217 728 (128M) bytes.

If the sending member becomes inactive while the unit of work is suspended, the unit of work is to be released and control returned to the caller. The message-out service might end processing for the message. Specifically, the message might not be delivered to one or more of the target members when the sender becomes inactive.

MSGACCESS=ASYNC or MSGACCESS=SYNCSUSPEND must be specified to send message longer than 62 464 (61K) bytes.

See Restrictions for additional information about using MSGACCESS=ASYNC.

,MSGBUF=msgbuf
Use this input parameter with MULTIPART=NO to specify the buffer containing the message to be sent. The storage key of the buffer specified by MSGBUF must match the storage key specified with the MSGSTGKEY parameter (if you code it).

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the storage area containing the message.

,MSGCNTL=ALLZERO
,MSGCNTL=msgcntl
Use this input parameter to specify a storage area containing user-specified control information to help the receiving member process the message. Possibilities include:
  • The type of message being sent
  • The format of the message
  • A sequence number to help detect missing signals when using ordered delivery.

The message control information is passed to the message user routine of the receiving member in the message exit parameter list (MEPL), which is mapped by the IXCYMEPL macro.

If you omit the MSGCNTL parameter, or if you specify MSGCNTL=ALLZERO, the message control information presented to the receiving member consists of zeros.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the 32-byte storage area containing the message control information.

,MSGLEN=SUMPARTLENS
,MSGLEN=msglen
Use this input parameter to specify the length of the message in bytes.
  • For MSGACCESS=SYNC, the value must be in the decimal range of 0 to 62464 (61K) bytes.
  • For MSGACCESS=ASYNC or MSGACCCESS=SYNCSUSPEND, the value can be in the decimal range of 0 to 134 217 728 (128M) bytes. If MSGLEN exceeds 61K, both the sending member and the target member must have specified GT61KMSG=YES when the IXCJOIN macro was invoked to join the group. Use the IXCQUERY service to determine whether a particular target member supports the large message delivery protocol.

The amount of buffer storage you provide must be equal to or greater than the value of MSGLEN.

If you specify MULTIPART=YES, then the sum of the lengths of the parts is the default value.

Note: SUMPARTLENS may be specified only when MULTIPART=YES is specified.

If you omit MSGLEN, IXCMSGOX determines the message length for you, but performance is reduced.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the length of the message.

,MSGSTGKEY=ANY
,MSGSTGKEY=msgstgkey
Use this input parameter to specify the storage key to be used by the system when fetching the message from each buffer. XCF can fetch the message data successfully from a buffer only if the storage key of the buffer matches the storage key specified by MSGSTGKEY or the storage is not fetch protected.

If you omit the MSGSTGKEY parameter, or if you specify MSGSTGKEY=ANY, XCF does not verify that the buffers have any particular storage key.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of an 8-bit field formatted as kkkkxxxx, where the high-order four bits contain the storage key. The low-order halfword is ignored.

,MULTIPART=NO
,MULTIPART=YES
Use MULTIPART=NO to indicate that the message is in a single buffer.

Use MULTIPART=YES to indicate that the message is in one or more buffers.

,NEXTOFF=nextoff
Use this input parameter to specify the number of bytes to be added to the address of the current element to obtain the address of the next element. This value equals the size in bytes of an individual message data element. It is used when the message data elements are in table form.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the number of bytes.

,NEXTPTROFF=nextptroff
Use this input parameter to specify the number of bytes to be added to the address of the current element, to locate within the current element either a 31- or 64-bit precision pointer to the next element. This value is used when the message data elements are in queue form.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the number of bytes.

,NEXTTARGETOFF=8
,NEXTTARGETOFF=nexttargetoff
Use this input parameter to specify, in bytes, the relative location of the next member token in the TARGETS table. To locate the next member token, add the NEXTTARGETOFF value to the location of the current member token. Usually this value is the length of an individual entry in the TARGETS table.

The default value, if NEXTTARGETOFF is not specified, is 8 bytes, meaning that each table entry consists of a member token only.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the fullword field containing the number of bytes in an individual table entry.

,NOTIFY=NO
,NOTIFY=YES
Use this input parameter to indicate whether the member is to be notified of message completion.
A message is considered complete in the following circumstances:
  • A message-out request times-out or is forced to completion by IXCMSGC with TYPE=COMPLETION.
  • XCF has initiated the send of a message without response
  • XCF has initiated the send of a broadcast message to each valid target member
  • The response to a message with response has arrived.
  • The expected responses to a broadcast message with response have arrived.
NOTIFY=NO
Specify this option when you do not require notification of message completion. This option provides compatibility with previous versions of IXCMSGOX.
NOTIFY=YES
Specify this option when you require notification of message completion. XCF will maintain status information about the message until the message is completed. Upon completion of the message, the state of the message and the NOTIFYIF keyword determine how XCF is to proceed. If a member is to be notified of message completion, XCF preserves status information and uses the NOTIFYEXIT to inform the member.
,NOTIFYBY=EXIT
Use this input parameter to indicate that the member is to be notified of message completion through a message notify user routine scheduled by XCF.
,NOTIFYEXIT=FROMJOIN
,NOTIFYEXIT=notifyexit
Use this input parameter to identify the message notify user routine to receive control when the message is complete. If omitted, the system uses the message notify user routine specified on IXCJOIN when the member joined the XCF group. Note that the systems rejects the IXCMSGOX request if the NOTIFYEXIT defaults to FROMJOIN and no message notify user routine was specified on IXCJOIN.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a 31-bit message notify user routine.

,NOTIFYIF=COMPLETED
,NOTIFYIF=FAILED
Use this input parameter to identify the conditions under which the system is to provide notification of message completion. See the NOTIFY keyword for the definition of message completion.
NOTIFYIF=COMPLETED
The system is to provide notification when the message is completed. Notification occurs whether the message succeeded or failed.
NOTIFYIF=FAILED
The system is to provide notification only if the message failed.
  • A message without response is considered to have failed if the message was not sent to one of the possible target members.
  • A message with response is considered to have failed if XCF does not receive a response from every possible target member. (For example, if a message with response is targetted to a member that is no longer active — and therefore, no response is possible — the message is considered to have failed.

    Note that skipped targets are ignored when determining whether the message failed. A skipped target is one whose member token in the TARGETS table is X'0'.

,PARTALET=ZERO
,PARTALET=partalet
Use this input parameter to specify a single ALET to be used to qualify every buffer address. The ALET must be zero, a public entry on your dispatchable unit access list (DU-AL), or an entry for a common area data space.

If you omit PARTALET, PARTALETOFF, and PARTALETTBL, the default is PARTALET with an ALET of zero.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the ALET.

,PARTALETOFF=partaletoff
Use this input parameter to specify the number of bytes to be added to the address of the current element, to locate within the element the fullword field that contains the ALET to be used to qualify the buffer address associated with that element. The ALET must be zero, a public entry on your dispatchable unit access list (DU-AL), or an entry for a common area data space.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the number of bytes.

,PARTALETTBL=partalettbl
Use this input parameter to specify a table in which each entry is a fullword containing the ALET to qualify a buffer address in the table or queue of message data elements. For instance, the 3rd entry in PARTALETTBL must contain the ALET to qualify the buffer address in the 3rd message data element. partalettbl must begin on a fullword boundary. Each ALET must be zero, a public entry on your dispatchable unit access list (DU-AL), or an entry for a common area data space.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of partalettbl.

,PARTLEN=partlen
Use this input parameter to specify the length in bytes of each buffer (element) when all the buffers are the same length. The length of the entire message is equal to PARTLEN multiplied by the number of elements. All buffers must be at least as long as PARTLEN.
  • When MSGACCESS=SYNC, PARTLEN must be in the decimal range of 0 to 62464 (61K) bytes. The length of the entire message must be in the decimal range of 0 to 62464 bytes.
  • When MSGACCESS=ASYNC or MSGACCCESS=SYNCSUSPEND, PARTLEN can be in the decimal range of 0 to 134 217 728 (128M) bytes. The length of the entire message must be in the decimal range of 0 to 128M bytes. If the length of the entire message exceeds 61K bytes, both the sending member and the target member must have specified GT61KMSG=YES when they invoked the IXCJOIN macro to join the group. Use the IXCQUERY service to determine whether a particular target member supports the large message delivery protocol.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the length in bytes of each buffer.

,PARTLENOFF=partlenoff
Use this input parameter to specify the number of bytes to be added to the address of the current element, to locate within the element the fullword field that contains the length in bytes of the buffer associated with that element. The length of each buffer can range from 0 to 62464 (61K) bytes in decimal when MSGACCESS=SYNC is specified and from 0 to 134 217 728 (128K) bytes in decimal when MSGACCESS=ASYNC or MSGACCESS=SYNCSUSPEND is specified.

If you specify the length of a buffer as zero, XCF does not use that buffer.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the number of bytes.

,PARTLENTBL=partlentbl
Use this input parameter to specify a table in which each entry is a fullword containing the length of a corresponding buffer. For instance, the 3rd entry in PARTLENTBL contains the length of the buffer whose address is associated with the 3rd message data element in the table or queue.
  • When MSGACCESS=SYNC, the length of an individual message part must be in the decimal range of 0 to 62464 (61K) bytes. The length of the entire message must be in the decimal range of 0 to 62464 bytes.
  • When MSGACCESS=ASYNC or MSGACCCESS=SYNCSUSPEND, the length of an individual message part must be in the decimal range of 0 to 134 217 728 (128M) bytes. The length of the entire message must be in the decimal range of 0 to 128M bytes. If the length of the entire message exceeds 61K bytes, both the sending member and the target member must have specified GT61KMSG=YES when they invoked the IXCJOIN macro to join the group. Use the IXCQUERY service to determine whether a particular target member supports the large message delivery protocol.

If you specify the length of a buffer as zero, XCF does not use that buffer.

The table specified by PARTLENTBL must begin on a fullword boundary.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of partlentbl.

,PARTOFF=partoff
Use this input parameter to specify the number of bytes to be added to the address of the current element to obtain the address within the element of the start of the buffer associated with it.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the number of bytes.

,PARTPTROFF=partptroff
Use this input parameter to specify the number of bytes to be added to the address of the current element, to locate within the element either a 31- or 64-bit precision pointer to the buffer associated with it.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the number of bytes.

,PLISTVER=IMPLIED_VERSION
,PLISTVER=MAX
,PLISTVER=plistver
Use this input parameter to specify the version of the macro. See Understanding IXCMSGOX Version Support for a description of the options available with PLISTVER.
,RESPONSEID=responseid
Use this input parameter to provide the XCF identifier for the originating message to which this request is making a response.
Obtain the RESPONSEID from one of the following:
  • The MEPLRESPONSEID field in the IXCYMEPL that was presented to a message user routine.
  • The MQAMIDRESPONSEID field in the IXCYMQAA that was returned by the XCF message control service (IXCMSGC REQUEST=QUERYMSG).

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the 24-byte character field containing the XCF response identifier.

,RETCODE=retcode
Use this output parameter to specify the location in which the system is to copy the return code from GPR 15.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword to contain the return code.

,RETMSGOTOKEN=retmsgotoken
Use this output parameter to specify a storage area to contain a token that you can use to identify this message to the XCF message control service (IXCMSGC).

When using MSGACCESS=SYNCSUSPEND where the calling work unit must be suspended by XCF, the token is stored before the work unit is actually suspended. If it becomes necessary for the sender to leave the suspend before the service routine resumes and returns, some other work unit can use this token to release, discard, or force the completion of the request by invoking the XCF message control service (IXCMSGC). Note that cancelling the send likely implies that the message will not be delivered to all of the intended targets.

The storage area must be in the caller's primary address space, in an address space or data space that is addressable through a public entry on the caller's dispatchable unit access list (DU-AL), or in a common area data space.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the 16-byte character output field to contain the token.

,RSNCODE=rsncode
Use this output parameter to specify the location in which the system is to copy the reason code from GPR 0.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword to contain the reason code.

,SENDTIME=sendtime
Use this input parameter to indicate the maximum number of seconds XCF might suspend the work unit to allow XCF to synchronously complete accessing caller's storage areas.

SENDTIME is a required input when MSGACCESS=SYNCSUSPEND. If the SENDTIME value expires before the processing that XCF paused for is complete, XCF cancels incomplete send processing, which might result in not all of the desired targets receiving the send request.

The SENDTIME value must be in the range 1 and 32 767 (X'7FFF'). If TIMEOUT is explictly specified on the message-out request , the SENDTIME value must be less than or equal to the TIMEOUT keyword value.

,SENDTO=MEMBER
,SENDTO=GROUP
,SENDTO=ORIGINATOR
Use this input parameter to specify the member(s) to which the message should be sent.
SENDTO=MEMBER
Send the message to the (one) member indicated by TARGET. This type of send is the default.
SENDTO=GROUP
Send the message to a collection of members. This type of send is referred to as a “broadcast”.

Note that a send to GROUP where the collection of members consists of only one member does not necessarily have the same behavior as a send to MEMBER. For example, suppose that in both cases the one target member specified was not a valid target. The system would reject the send to MEMBER request with return code X'08', reason code X'08', indicating that the target was not valid. The system would reject the send to GROUP request with return code X'04', reason code X'404', indicating that the broadcast completed but the send to at least one target was rejected. The send reason code reported for the individual target in the SENDTO=GROUP collection would indicate that the target was not valid.

SENDTO=ORIGINATOR
Send a response message. This is a response to a previously received message that indicated that the sender had requested that XCF manage the gathering of response(s) to that message.
,STREAMID=1
,STREAMID=streamid
Use this input parameter to identify the stream of ordered messages to which this message belongs. STREAMID must be a decimal value in the range 0 - 65 535. XCF assigns no meaning to the STREAMID other than for the purpose of providing independently ordered streams of messages between the sending member and target member. The default value is 1.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the fullword field containing the stream identification.

,TARGET=target
Use this input parameter to specify the member token of the member to receive the message. See z/OS MVS Programming: Sysplex Services Guide for information about how to obtain the member token of the receiving member.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a 64-bit field that contains the member token.

,TARGETS=targets
Use this input parameter to specify the storage area containing the table of member tokens for each intended target member. The storage location named by TARGETS contains the first member token to be processed.

The storage area identified by TARGETS must be in the caller's primary address space, in an address space or data space that is addressable through a public entry on the caller's dispatchable unit access list (DU-AL), or in a common area data space.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the storage area containing the table of member tokens for each intended target member.

,TIMEOUT=ZERO
,TIMEOUT=timeout
Use this input parameter to specify the number of seconds the user is willing to allow for the message to complete. (See the NOTIFY keyword for a definition of message completion.) The timeout value specified must be between 1 and 32,767 (X'7FFF').

If the message has not completed before the expiration of the timeout value, the message is declared to be complete. The system then processes the message completion as specified by the NOTIFY keyword.

A nonzero timeout value is required when MSGACCESS=ASYNC is specified.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the halfword field containing the timeout value.

,USERDATA=ALLZERO
,USERDATA=userdata
Use this input parameter to specify eight characters of user data to be associated with the message. The system presents this data in the message notification parameter list (IXCYMNPL) when the message is presented to the message notify user routine. The user data is also available through the IXCMSGC REQUEST=QUERYMSG service with DATATYPE=MSGOUT.

The user data is not presented to the targets of the message.

The default of ALLZERO consists of hexadecimal zeros.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the eight-character field containing the user data.

,#MSGPARTS=ATLEASTONE
,#MSGPARTS=msgparts
Use this input parameter with MULTIPART=YES to specify the number of buffers (1 or more) containing the message data to be sent.

If you specify the default value (#MSGPARTS=ATLEASTONE), one message part is the minimum, or more as needed to send MSGLEN bytes.

If you omit #MSGPARTS, the result depends on the following:
  • If you specify MSGLEN, the buffer storage you provide must be equal to or greater than the value of MSGLEN.
  • If you omit MSGLEN and specify a table of message data elements (ELEMFORM=TABLE), XCF processes only the first message data element.
  • If you omit MSGLEN and specify a queue of message data elements (ELEMFORM=QUEUE), XCF processes message data elements until it reaches the end of the queue. See the ENDOFQUEUE parameter description to find out how XCF detects the end of the queue.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of a fullword containing the number of buffers.

,#TARGETS=#targets
Use this input parameter to specify the number of entries in the TARGETS table. The value specified must be between 1 and the maximum number of members per XCF group supported by the sysplex, inclusive.

The system programmer determines the maximum number of members per XCF group supported by the sysplex when using the XCF format utility (IXCL1DSU) to create the sysplex couple data set for the sysplex. In effect, the message can be broadcast to every member that can successfully invoke IXCJOIN to join the XCF group.

Note that #TARGETS indicates the number of potential targets. A TARGETS table entry that contain a member token of X'0' is considered a potential target and should be included in the #TARGETS count.

To Code: Specify the RS-type name or address (using a register from 2 to 12) of the fullword field containing the number of entries in the TARGET table.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014