COBOL Manual for TNS and TNS/R Programs
Program Compilation
HP COBOL Manual for TNS and TNS/R Programs—522555-006
11-24
#RECEIVE Blocks
#RECEIVE Blocks
When BINSERV or the linker creates a run unit for the CRE, it compares the
#RECEIVE blocks of all the programs and determines which argument values are to be
used whenever another HP COBOL object file or a FORTRAN program opens
$RECEIVE.
The first HP COBOL external file or FORTRAN program to open $RECEIVE
determines the values of the #RECEIVE arguments. Subsequent opens of $RECEIVE
fail if they specify incompatible values.
Table 11-5. How Final Values of #RECEIVE Arguments Are Chosen
#RECEIVE Argument Final Value
TABLE OCCURS Maximum value specified by a TABLE OCCURS argument in any
#RECEIVE block
SYNCDEPTH Maximum value specified by a SYNCDEPTH argument in any
#RECEIVE block
REPLY CONTAINS Maximum value specified by a REPLY CONTAINS argument in any
#RECEIVE block
REPORT Logical OR
QUEUE DEPTH Maximum value specified by a QUEUE DEPTH argument in any
#RECEIVE block*
* HP COBOL does not have a QUEUE DEPTH argument, so the value is assumed to be 1. If FORTRAN
specifies a larger value, the larger value is used.
#RECEIVE Argument Subsequent value is incompatible with first value if …
TABLE OCCURS subsequent value > first value
SYNCDEPTH subsequent value > first value
REPLY CONTAINS subsequent value > first value
REPORT subsequent value <> first value
QUEUE DEPTH first value = 1 and subsequent value <>1
or
first value > 1 and
subsequent value <= 1 or subsequent value > first value