Use this system macro to transmit the following types of messages:
- Messages to high-speed display and printer terminals
- Messages to 3270 local terminals
- Messages to another system through binary synchronous communication lines
(BSC) or synchronous link control (SLC)
- ATA/IATA format telegrams
- Messages to terminals supported by the Network Extension Facility
(NEF)/ALCI, AX.25, and XALCI.
High-speed display and printer terminals attached to their terminal
interchange units may be connected to the TPF system in one of the following
ways:
- The terminal interchange can be connected to a high-speed (ALC) line into
a transmission control unit attached directly to a subchannel of the
multiplexor channel. This is referred to as a directly attached
terminal.
- The terminal interchange can be connected through a high level network
(for example, SITA HLN) that is attached to the TPF system through a
synchronous link (AI). This is referred to as an indirectly attached
terminal.
In a TPF system with NEF, the terminal interchange can be connected to a
high-speed (ALC) line that in turn is connected to a 3725 with the NEF2
PRPQ.
Messages to directly attached display terminals and short reply messages to
directly attached printer terminals are sent to the communication control
program (CP) for code translation and initiation of output
transmission.
Messages to indirectly attached display terminals, short reply messages to
indirectly attached printer terminals and messages to another system through a
synchronous link (AI) are sent through an intermediate queue mechanism to the
TPF synchronous link control output interface programs.
Long and unsolicited messages to printer terminals (directly or indirectly
attached) are passed by the control transfer mechanism to the long message
transmitter program.
ATA/IATA format telegrams are passed by the control transfer mechanism
to the message switching system.
- Note:
- The SENDC macros are restricted to system program use. Applications
should use the ROUTC macro to transmit all messages. Any SENDC macro
(class A, C, L, or B) issued by an application program is intercepted and
converted to a ROUTC macro. The control program (CP) sets the CE1ACVT
bit in the entry control block(ECB) control byte CE1CPA to indicate the
conversion. When the control program (CP) issues a SENDC macro, the
CE1AINT bit in CE1CPA must be set if the SENDC intercept routine (CCPNUC) is
to be bypassed.
See TPF General Macros for more information about
the ROUTC macro.
Format
Notes:
- symbol1
- symbol2
- label
- A symbolic name can be assigned to the macro statement.
- symbol1
- Data level (D0 through DF) containing message segment to be sent.
- symbol2
- A message class, one of the following:
- A or C
- Display Terminal reply messages or short Printer Terminal reply
messages.
- B
- Messages to another system through a binary synchronous (BSC) line.
- K
- Messages to another system through a synchronous link.
- L
- Long reply or unsolicited messages to printer terminals.
- T
- ATA/IATA format telegrams
Entry Requirements
- R9 must contain the address of the ECB being processed.
- The message segment must be contained in a block of storage held by the
ECB at the specified level (symbol1).
- The maximum number of bytes in the segment depends on the message
class. For class A, C, L, or B messages to terminals, only 381-byte
file storage blocks are allowed.
- The format of a message segment follows.
No. of Bytes 4 4 4 4 2
A B C D E F
Where:
- A
- Contains record ID, RCC and control byte.
- B
- Is the program ID field.
- C
- Is the forward chain field.
- D
- Is the backward chain field.
- E
- Is the count of characters in Section F.
- F
- The contents of this section vary according to the class of
message.
- A,C,L
- Terminal Address.
Text. See the UI0OM data macro for the OMSG format.
- B
- Symbolic Line Number (SLN).
Symbolic Station Number
Three reserved bytes (bytes 20 through 22).
Text of the data for transmission over the BSC line. See the AM0SG
data macro for the AMSG format.
- K
- Symbolic Link Number (SKN).
Text. See the XM0RL data macro for the XMSG format. The
format is defined by the XM0RL data macro only in so far as the first byte
following the SKN is the text.
- T
- Line Number-not used. The routing information is contained in the
text.
Text. See the XM0RL data macro.
- If an application issues its own SENDC A, C, or L (bypassing the router
and send intercept routine) byte B+2 of the message must be initialized with
the terminal type indicator as defined in the TRMEQ macro.
- Class C-requires that the agents assembly area (the WA0AA data macro) be
attached to the entry control block (ECB) on level 1.
- Class K-messages require additional information as follows:
1st Status Byte in Byte D
Bit 0
| 0
| Low Integrity Message. The message is not stored on file and
cannot be regenerated in case of transmission errors.
|
| 1
| High Integrity. The message is stored on file and can be
regenerated in case of transmission errors.
|
Bit 1
| 0
| Reference is the F.A. of the message itself.
|
| 1
| Reference is the F.A. of an assembly area.
|
Bit 2
| 0
| Type A message-short transit time required, for example, conversational
messages.
|
| 1
| Type B message-longer transit time.
|
Bit 3
| 0
| Assembly area is an XLMA.
|
| 1
| Assembly area is an AAA or RCB.
|
Bit 4
| 0
| Do not release file address after transmission.
|
| 1
| Control program (CP) will release the message file address after
successful transmission.
|
Bit 5,6,7
|
| Defines transmission code across the link.
- 000
- Padded CCITT No. 2 (Padded Baudot)
- 010
- Padded 6 bit code (Padded Sabre)
- 100
- CCITT No. 5 (ASCII/ISO, 7 bit)
- 110
- Extended CCITT No. 5
|
2nd Status Byte in Byte D+1
If the link connects to a high level network (HLN), additional routing
information is required.
Bit 0
|
| Reserved, must be set to 0.
|
Bit 1
|
| Reserved, must be set to 0.
|
Bit 2
| 0
| Normal message block chaining.
|
| 1
| Intermediate Prime Block. This is a technique intended for use by
the message router package.
|
Bit 3
| 0
| No rerouting of this message is required.
|
| 1
| Rerouting required.
|
Bit 4
| 0
| Message to another system.
|
| 1
| Message to an indirectly coupled terminal.
|
Bit 5
| 0
| Existing message format.
|
| 1
| AMSG format message.
|
Bit 6
|
| Reserved.
|
Bit 7
|
| Reserved.
|
Byte B+2-Hex 2-byte address of Exit Center
If the message is high integrity then the file address reference word of
the ECB level to which the prime message block is attached must contain the
file address of that block or an assembly area.
For class B messages, the Record ID, RCC and control byte in the block are
used to retrieve and dispose of any message segments chained on file.
The low-order three bits of the control byte (byte 3) are used as
indicators.
Bit 5
| 0
| For normal messages.
|
| 1
| If the message is an online test message.
|
Bit 6
| 0
| for normal messages.
|
| 1
| If this is a priority message such messages are placed at the front of
the line queue. The use of this bit should be restricted to system
control messages.
|
Bit 7
| 0
| If file storage blocks (overflow message segments) should be released
after the message is sent.
|
| 1
| If file storage blocks should not be released after the message is
sent.
|
- If a message is destined for a 3270 device, the high-order bit of the
character count field must be set to one. This directs the CCP
translation process.
Return Conditions
- Control is returned to the next sequential instruction (NSI).
- The contents of R14 and R15 are unknown. The contents of all other
registers are preserved across this macro call.
- The specified CBRW is initialized to indicate that a block of storage is
no longer held.
- For class K messages, bit 3 of the second status byte is reserved for use
by the message router package. If bit 3 of the second status byte = 1,
then R15 contains a return code: 0 = line is operative, 4 = line is
inoperative (in which case the core block specified is still attached to the
appropriate level). In addition, if the link subsequently becomes
inoperative, any link A-type messages (first status byte, bit 2=0) that have
not been transmitted will be returned to the message router package.
Programming Considerations
- Except for SENDC message class K, this macro can be run on any
I-stream.
- SENDC K can be processed on the main I-stream only.
- Class A, C, L, or B messages are intercepted and converted to ROUTCs for
processing by the message router (ROUT). If the calling ECB is in a
commit scope, a system error is issued because the ROUTC macro is not
supported by TPF transaction services.
- Class A or C messages to display terminals may exceed the capacity of one
message segment. In this case, the macro must be issued once for each
block of core comprising the complete logical message. No WAITCs are
allowed between successive SENDCs for the same logical message.
- Class B, K, L, or T messages may be any length in which case only the
first message segment is in main storage and presented to the control program
(CP) by the SENDC macro; the remaining message segments are on file,
chained to the prime segment in the standard way.
- Class K messages that overflow to file must contain in the prime block a
character count, greater than LK4MXT (field in LK4KC link keypoint which
defines the maximum text allowed in each link information block) +1 (for the
one byte SLN character).
- A check is made by the control program (CP) to determine if the ECB is
holding a block of storage at the specified level. If not, control is
transferred to the operational system error routine and the ECB exited.
- For Class A, B, C and L messages the line number in the message block is
checked to ensure that it is within the range of existing lines in the TPF
system. If not an existing line, it is checked to see if it is a pseudo
line corresponding to a terminal supported by NEF/ALCI, AX.25 or
XALCI. If not, a system error is issued and the ECB is exited.
- For Class K messages, the Link identification is checked to ensure that it
is within the range of existing links in the TPF system. If it is not,
control is transferred to the operational system error routine and the ECB is
exited.
- The Send routine checks that the specified line is usable. If not,
a system error is generated, the output operation is ignored and a normal
macro return is used. If the line is usable the last character is
checked for an EOM character. If it is not, control is transferred to
the operational system error routine and the ECB exited. Messages
destined for NEF/ALCI, AX.25, and XALCI pseudo lines are processed by
ALC via the SNA output interface. This routine verifies that the SNA
link supporting this terminal is available. If not, a system error is
taken and the ECB is exited.
- The status of the sending operation can never be determined by the
operational program.
- The operational program may use the specified level immediately upon
return from this macro.
- Unsolicited messages to RO or Prime CRAS should contain LN,IA of
X'0000' or X'0100' respectively and be sent using Class
L.
- Class L messages are passed to program XLMT.
- Class T messages are passed to program XHAP.
- Class K messages cause program CMS to be activated.
- If a class B message cannot be sent, it is given to the Router alternate
line selector (RALS).
Examples
None.