FEPI CONVERSE DATASTREAM

Function

FEPI CONVERSE DATASTREAM sends application data to and receives a reply from a target. The data supplied by the application must be a currently valid data stream appropriate to the mode of the conversation (SLU2 or SLU P); the data received into the application’s data area is also data stream. Full details about the data are given in Data formats.

The conversation with the target can be one of two types:

Previously allocated
The conversation is specified by the CONVID option; it must be one that uses data-stream-type data. By default, the command completes when a whole chain of data has been received, although other ending conditions can be requested.
Temporary
The conversation is allocated from the pool specified by the POOL option and exists only for the duration of the command. The pool must be one that uses data-stream-type data.

The command first waits for a suitable session to become available (if there is not already one); then, after sending the data, it completes when ‘change direction’ or ‘end bracket’ is received.

A time limit can be set for this command. For more details of ending conditions, see Ending status.

Syntax

The syntax for each type of conversation is shown separately.

Previously allocated conversation

Read syntax diagramSkip visual syntax diagramFEPI CONVERSE DATASTREAM
 
>>-FEPI CONVERSE DATASTREAM--CONVID(data-value)----------------->
 
>--FROM(data-value)--+-------------------------+---------------->
                     '-FROMFLENGTH(data-value)-'
 
   .-CHAIN-----.
>--+-----------+--+-----------------+--+-----+------------------>
   +-RU--------+  '-ENDSTATUS(cvda)-'  '-FMH-'
   '-UNTILCDEB-'
 
>--+-----------------+------------------------------------------>
   '-FMHSTATUS(cvda)-'
 
>--+-----------------------------------------+------------------>
   '-INTO--(--data-area--)--| INTO options |-'
 
>--+-----------------------+--+------------------+-------------->
   '-REMFLENGTH(data-area)-'  '-RESPSTATUS(cvda)-'
 
>--+---------------------+--+----------------------+------------>
   '-SEQNUMIN(data-area)-'  '-SEQNUMOUT(data-area)-'
 
>--+---------------------+-------------------------------------><
   '-TIMEOUT(data-value)-'
 
INTO options:
 
|--+------------------------+--+----------------------+---------|
   '-MAXFLENGTH(data-value)-'  '-TOFLENGTH(data-area)-'
 

Temporary conversation

Read syntax diagramSkip visual syntax diagramFEPI CONVERSE DATASTREAM
 
>>-FEPI CONVERSE DATASTREAM--POOL(data-value)------------------->
 
>--+--------------------+--FROM(data-value)--------------------->
   '-TARGET(data-value)-'
 
                                .-UNTILCDEB-.
>--+-------------------------+--+-----------+------------------->
   '-FROMFLENGTH(data-value)-'
 
>--+-----------------+--+-----+--+-----------------+------------>
   '-ENDSTATUS(cvda)-'  '-FMH-'  '-FMHSTATUS(cvda)-'
 
>--+----------------------------------+------------------------->
   '-INTO(data-area)-| INTO options |-'
 
>--+-----------------------+--+------------------+-------------->
   '-REMFLENGTH(data-area)-'  '-RESPSTATUS(cvda)-'
 
>--+---------------------+--+----------------------+------------>
   '-SEQNUMIN(data-area)-'  '-SEQNUMOUT(data-area)-'
 
>--+---------------------+-------------------------------------><
   '-TIMEOUT(data-value)-'
 
INTO options:
 
|--+------------------------+--+----------------------+---------|
   '-MAXFLENGTH(data-value)-'  '-TOFLENGTH(data-area)-'
 

Options

CHAIN
specifies that the command should complete when a whole chain has been received. CHAIN is not allowed if the POOL option is specified.
CONVID(8-character data-value)
specifies the ID of the conversation to use. The conversation must be owned by the task issuing the command.
ENDSTATUS(cvda)
returns a value that indicates the ending status for the received data. The relevant CVDA values are:
Value
Meaning
CD
‘Change direction’ received.
EB
‘End bracket’ received.
LIC
‘Last in chain’ received.
RU
RU received.
MORE
The data area identified by the INTO option was too small to receive all the requested data.

For more details of ending status and how additional data is handled, see Ending status.

FMH
indicates that the data to send includes a function management header.
FMHSTATUS(cvda)
returns a value that indicates whether the received data contains a function management header. The relevant CVDA values are:
  • FMH
  • NOFMH
FROM(data-value)
specifies the data to send to the back-end application. Its length is specified by the FROMFLENGTH option.
FROMFLENGTH(fullword binary data-value)
specifies the length of the data to send; that is, the length of the data area identified by the FROM option. It must not be zero or more than the maximum length allowed for the pool.
INTO(data-area)
specifies the data area in which the received data is to be returned. The length of the area is specified by the MAXFLENGTH option, and the actual length of data written into the area is returned by the TOFLENGTH option.
MAXFLENGTH(fullword binary data-value)
specifies the maximum amount of data that can be returned; that is, the length of the data area identified by the INTO option. It must not be more than the maximum length allowed for the pool.
POOL(8-character data-value)
specifies the name of the pool containing the target for the conversation. Specifying POOL means that the conversation is a temporary one, that exists only for the duration of the FEPI CONVERSE. The CHAIN and RU options are not allowed, and the command completes when ‘change direction’ or ‘end bracket’ is received. If there is more data to receive than fits into the data area identified by the INTO option, the additional data is discarded.
REMFLENGTH(fullword binary data-area)
returns the length, if known, of data remaining after filling the data area identified by the INTO option.
RESPSTATUS(cvda)
returns a value that indicates the type of response that is required at the back-end system. The relevant CVDA values are:
Value
Meaning
DEFRESP1
Definite response 1 required.
DEFRESP2
Definite response 2 required.
DEFRESP3
Definite response 1 and definite response 2 required.
NONE
No response required.
RU
specifies that the command should complete when a request unit has been received. RU is not allowed if the POOL option is specified.
SEQNUMIN(fullword binary data-area)
in SLU P mode, returns the current sequence number for inbound data, as at the completion of the command. (SEQNUMIN has no significance in SLU2 mode.)
SEQNUMOUT(fullword binary data-area)
in SLU P mode, returns the current sequence number for outbound data, as at the completion of the command. (SEQNUMOUT has no significance in SLU2 mode.)
TARGET(8-character data-value)
specifies the name of the target. TARGET can be omitted if there is only one target in the pool or if all targets are suitable for the desired conversation.
TIMEOUT(fullword binary data-value)
specifies the maximum time in seconds that the command is to wait for the requested data to begin to arrive. If TIMEOUT is not specified or the specified time is zero, the command is not timed out.
TOFLENGTH(fullword binary data-area)
returns the actual length of data received in the data area identified by the INTO option.
UNTILCDEB
specifies that the command should complete when ‘change direction’ or ‘end bracket’ is received.

Conditions

The INVREQ condition can have the following RESP2 values:

RESP2
Meaning
30
Pool name unknown.
31
Pool name out of service.
32
Target name unknown.
33
Target name out of service.
34
Target name required but not specified.
35
POOL name is unsuitable for temporary conversations. It has CONTENTION(LOSE) or it has INITIALDATA(INBOUND) and no begin-session handler.
36
No suitable session available and in service.
40
FROMLENGTH value negative, zero, or more than the maximum allowed for the current pool.
50
Inbound data with ‘begin bracket’ to be received.
58
VTAM® SEND failed.
60
MAXFLENGTH value negative, zero, or more than the maximum allowed for the current pool.
71
VTAM RECEIVE failed.
212
Conversation has wrong data format.
213
Command timed out.
215
Session lost.
216
Error occurred on previous FEPI SEND.
220
FEPI CONVERSE not allowed at this point in the conversation.
224
Only FEPI ISSUE or FEPI FREE commands allowed at this point in the conversation.
230
SNA CLEAR command received.2
231
SNA CANCEL command received.2
232
SNA CHASE command received.2
233
Exception response received.
234
Exception request received.
240
Conversation ID not owned by this task.
241
TIMEOUT value negative or not valid.

2.
For an explanation of this SNA command, see the SNA Formats manual, GA27-3136.

[[ Contents Previous Page | Next Page Index ]]