Handling request headers (RH)
The initial RH is obtained from one of the following places
as summarized in Table 1:
- RPL flags, if OPTCD=(NUSERRH,NBUFFLST) or OPTCD=(NUSERRH,BUFFLST)
- RPL user-RH field, if OPTCD=(USERRH,NBUFFLST)
- First buffer-list entry for each buffer group, if OPTCD=(USERRH,BUFFLST).
| BUFFLST selected | LMPEO selected | USERRH selected | Number of RUs generated | Location of initial RH |
|---|---|---|---|---|
| no | no | no | 1 | RPL flags |
| no | no | yes | 1 | RPL user-RH field |
| no | yes | no | 1 or more | RPL flags |
| no | yes | yes | 1 or more | RPL user-RH field |
| yes | no | no | 1 | RPL flags |
| yes | no | yes | 1 | First entry of buffer list |
| yes | yes | no | 1 or more | RPL flags |
| yes | yes | yes | 1 or more | First entry of buffer list associated with each buffer group |
The initial RH is used as a model to build the RH for
each generated request. The initial RH indicates one of the following:
only-in-chain (OIC), first-in-chain (FIC), middle-in-chain (MIC),
or last-in-chain (LIC). See Chaining. VTAM® generates requests as shown
in Table 2. All generated requests are part
of the same chain. If the initial RH specified OIC, a whole chain
is generated. If the initial RH specified FIC, MIC, or LIC, a partial
chain is generated.
The indicators that VTAM puts into the RH of each generated request depend on the initial RH and on whether the generated request is OIC, FIC, MIC, or LIC. See Figure 1 and Figure 2 for the rules VTAM uses to set the RH of each generated request.
| Initial RH-chain indicators | Resultant RH-chain indicators |
|---|---|
| OIC | OIC or FIC,LIC or FIC,MIC,…,MIC,LIC |
| FIC | FIC or FIC,MIC,…,MIC |
| MIC | MIC,…,MIC |
| LIC | LIC or MIC,…,MIC,LIC |
| Note: In
this table MIC,…,MIC represents a single MIC request or multiple MIC
requests.
|
|
In summary, for SEND OPTCD=LMPEO,
the input request results in one or more output requests as follows:
- All chains are standard SNA chains, requesting no response (RQN), exception response (RQE), or definite response (RQD) as shown in Figure 1 and Figure 2.
- POST=SCHED or RESP can be used with SEND OPTCD=LMPEO. The SEND macroinstruction is posted complete when the last request generated from the message has been handled. The POST operand applies to this last request. Thus, posting occurs when the RPL is no longer needed for the request (POST=SCHED) or when the response asked for by the last request has been returned (POST=RESP).
- The normal session-level pacing and virtual-route pacing rules apply to requests generated by LMPEO. A large message can take a long time to transmit; therefore, OPTCD=ASY rather than OPTCD=SYN should be used if it is undesirable to suspend the task issuing SEND for that length of time. With OPTCD=ASY, the application program regains control while VTAM is sending the requests generated from the large message.
Additional considerations for posting of SEND are discussed in Exception conditions.
Initial RH settings RHs generated by LMPEO
-----------------------------------------------------------------
FIC + MIC + MIC + . . . + MIC + LIC OIC
-----------------------------------------------------------------
See Notes:
BBI or EBI in: OIC 2 3 3 3 3 2
FIC 2 3 3 3 4 4
(Note 5) MIC 4 2 3 3 4 4
(Note 5) LIC 4 2 3 3 3,7 4
-----------------------------------------------------------------
QRI, CSI or OIC 2 2 2 2 2 2
EDI in: FIC 2 2 2 2 4 4
MIC 4 2 2 2 4 4
LIC 4 2 2 2 2 4
-----------------------------------------------------------------
FI, RCDI, or OIC 2 3 3 3 3 2
SDI (Note 6) FIC 2 3 3 3 4 4
in: MIC 4 2 3 3 4 4
LIC 4 2 3 3 3,7 4
-----------------------------------------------------------------
CDI or CEBI in: OIC 3 3 3 3 2 2
(Note 5) FIC 3,7 3 3 2 4 4
(Note 5) MIC 4 3 3 2 4 4
LIC 4 3 3 3 4 4
-----------------------------------------------------------------
Legend:
| Indicator | Meaning | Indicator | Meaning |
|---|---|---|---|
| BBI | Begin Bracket Indicator | FIC | First-in-Chain |
| CDI | Change Direction Indicator | LIC | Last-in-Chain |
| CEBI | Conditional End Bracket Indicator | MIC | Middle-in-Chain |
| CSI | Code Selection Indicator | OIC | Only-in-Chain |
| EBI | End Bracket Indicator | QRI | Queued Response Indicator |
| EDI | Enciphered Data Indicator | RCDI | Request Change Direction Indicator |
| FI | Format Indicator | SDI | Sense Data Included Indicator |
Notes:
- Any LMPEO request is rejected with (RTNCD,FDB2)=(X'14',X'7B'), if the pacing indicator (PI), padded data indicator (PDI), or reserved bits (byte 0, bit 3, byte 1, bits 1, 4, or 5) are set.
- Output RH has the same setting as the initial RH.
- Indicator is set to 0.
- Output RH cannot be created from initial RH.
- Warning: These lines show what VTAM currently implements if the specified input is given. This input is not valid in SNA, and the VTAM implementation is subject to change. The application program should not specify this input.
- Sense Data Included (SDI) requests are not split. FM data exception requests can contain only 4 bytes of data which VTAM gets from the SSENSEO, SSENSMO, and USENSEO fields of the RPL. The SDI indicator is set on the first and only output request.
- If no MICs are generated, the output request has the same setting as the input request.
Initial RH settings RHs generated by LMPEO
-------------------------------------------------------------------------
FIC + MIC + MIC + . . . + MIC + LIC OIC
-------------------------------------------------------------------------
RQN (Note 1 ) in: See Notes:
OIC RQN RQN RQN RQN RQN RQN
FIC RQN RQN RQN RQN Note 5 Note 5
MIC Note 5 RQN RQN RQN Note 5 Note 5
LIC Note 5 RQN RQN RQN RQN Note 5
-------------------------------------------------------------------------
RQE* (Note 2) in:
OIC RQE* RQE* RQE* RQE* RQE* RQE*
FIC RQE* RQE* RQE* RQE* Note 5 Note 5
MIC Note 5 RQE* RQE* RQE* Note 5 Note 5
LIC Note 5 RQE* RQE* RQE* RQE* Note 5
-------------------------------------------------------------------------
RQD* (Note 3) in:
(Note 6) OIC RQE* RQE* RQE* RQE* RQD* RQD*
(Note 6) FIC RQE* RQE* RQE* RQE* Note 5 Note 5
(Note 6) MIC Note 5 RQE* RQE* RQE* Note 5 Note 5
(Note 6) LIC Note 5 RQE* RQE* RQE* RQD* Note 5
-------------------------------------------------------------------------
RQX (Note 4) in:
(Note 6) OIC RQN RQN RQN RQN RQN RQN
(Note 6) FIC RQN RQN RQN RQN Note 5 Note 5
(Note 6) MIC Note 5 RQN RQN RQN Note 5 Note 5
(Note 6) LIC Note 5 RQN RQN RQN RQN Note 5
-------------------------------------------------------------------------
Legend:
- *
- 1, 2, or 3
- RQN
- No response requested
- RQE
- Exception response requested
- RQD
- Definite response requested
- RQX
- Invalid combination in SNA
Notes:
- RQN = (¬ER,¬DR1,¬DR2) and RESPOND = (NEX,NFME,NRRN)
- RQE* = RQE1 or RQE2 or RQE3 where:
- RQE1 = (ER,DR1,¬DR2) and RESPOND = (EX,FME,NRRN)
- RQE2 = (ER,¬DR1,DR2) and RESPOND = (EX,NFME,RRN)
- RQE3 = (ER,DR1,DR2) and RESPOND = (EX,FME,RRN)
- RQD* = RQD1 or RQD2 or RQD3 where:
- RQD1 = (¬ER,DR1,¬DR2) and RESPOND = (NEX,FME,NRRN)
- RQE2 = (¬ER,¬DR1,DR2) and RESPOND = (NEX,NFME,RRN)
- RQE3 = (¬ER,DR1,DR2) and RESPOND = (NEX,FME,RRN)
- RQX = (ER,¬DR1,¬DR2) and RESPOND = (EX,NFME,NRRN)
- The output request cannot be created from input request.
- Warning: These lines show what VTAM currently implements if the specified input is given. This input is not valid in SNA and the VTAM implementation is subject to change. The application program should not specify this input.