RECEIVE(3790 3270 显示)
从 3790(3270 显示)逻辑单元接收数据。
描述
RECEIVE 从终端接收数据。
如果要接收数据,那么必须指定 INTO 或 SET 选项。 如果发出 RECEIVE 纯粹是为了检测注意标识 (AID) (并且尚未指定 BUFFER) ,那么可以同时省略 INTO 和 SET 选项。
选项
- ASIS
- 指示将以透明方式发送输出 (不识别控制字符,并接受八个比特的 256 个可能组合中的任何一个作为有效的可传输数据)。
此选项对事务的第一个 RECEIVE 命令没有影响,因为终端控制执行 READ INITIAL 操作并使用终端缺省值来转换数据。
如果屏幕在启动事务之前包含数据,那么此选项无效。 在准备下一个任务时将读取并转换此数据,并且该任务中的第一个 RECEIVE 命令将检索转换后的数据。
注: 如果您正在使用片假名终端,那么可能会看到一些包含混合英语和片假名字符的消息。 这是因为片假名终端无法显示混合大小写输出。 数据流中的大写字符显示为大写英语字符,但小写字符显示为片假名字符。 如果发生这种情况,请要求系统程序员在系统初始化参数中指定 MSGCASE=UPPER ,以便消息仅包含大写字符。 - Buffer
- 指定要读取 3270 缓冲区的内容,从缓冲区位置 1 开始,继续直到读取缓冲区的所有内容为止。 所有字符和属性序列 (包括空值) 在输入数据流中的显示顺序与它们在 3270 缓冲区中的显示顺序相同。
- FLENGTH (数据区)
- 替代 LENGTH 的全字。
- INTO (data-area)
- 指定从终端或逻辑单元读取的数据的接收字段,或从连接到当前会话的另一端的应用程序接收数据的应用程序目标区域。
如果指定 INTO 选项,但省略 MAXLENGTH 选项,那么 LENGTH 选项的自变量必须是指定程序接受的最大长度的数据区。 如果指定的值小于零,那么假定为零。
如果数据长度超过指定的值,但未指定 NOTRUNCATE 选项,那么会将数据截断为该值,并发生 LENGERR 条件。 接收到数据后, LENGTH 选项的数据区将设置为数据的原始长度。
- LENGTH (数据区)
- 指定所传输数据的长度 (作为半字二进制值)。
如果指定 INTO 选项,但省略 MAXLENGTH 选项,那么自变量必须是指定程序接受的最大长度的数据区。 如果指定的值小于零,那么假定为零。
如果数据长度超过指定的值,但未指定 NOTRUNCATE 选项,那么会将数据截断为该值,并发生 LENGERR 条件。 当接收到数据时,数据区将设置为数据的原始长度。
如果指定 SET 选项,那么自变量必须是数据区。 当接收到数据时,数据区将设置为数据的长度。
有关安全上限的描述,请参阅 CICS 命令中的 LENGTH 选项。
- MAXFLENGTH (data-value)
- 替代 MAXLENGTH 的全字。
- MAXLENGTH (data-value)
- 指定 CICS® 要恢复的最大数据量 (半字二进制值)。 如果指定了 INTO ,那么 MAXLENGTH 将覆盖使用 LENGTH 作为 CICS的输入。 如果指定了 SET ,那么 MAXLENGTH 为程序提供了一种方法来限制它一次接收的数据量。
如果指定的值小于零,那么假定为零。
如果数据长度超过指定的值,并且 NOTRUNCATE 选项不存在,那么会将数据截断为该值,并且会出现 LENGERR 条件。 LENGTH 选项中指定的数据区设置为数据的原始长度。
如果数据长度超过指定的值,并且存在 NOTRUNCATE 选项,那么 CICS 将保留其余数据并使用它来满足后续 RECEIVE 命令。 LENGTH 选项中指定的数据区设置为返回的数据长度。
如果省略此选项,那么将采用 LENGTH 选项中指示的值。
- NOTRUNCATE
- 指定当可用数据超过所请求的长度时,将不废弃其余数据,而是保留这些数据以供后续 RECEIVE 命令检索。
- SET (ptr-ref)
- 指定要设置为 MRO 对话中从对话伙伴接收的数据的地址的指针引用。 在下一个接收命令或任务结束之前,指针引用有效。
如果 DATALOCATION (ANY) 与应用程序相关联,那么数据的地址可以高于或低于 16MB 行。
如果 DATALOCATION (BELOW) 与应用程序相关联,并且数据位于 $TAG1 16MB $TAG2 行上方,那么数据将复制到 $TAG3 16MB $TAG4 行下方,并返回此副本的地址。
如果为正在运行的任务指定了 TASKDATAKEY (USER) ,并且存储器保护处于活动状态,那么返回的数据在用户密钥中。 如果指定了 TASKDATAKEY (CICS) 并且存储器保护处于活动状态,那么返回的数据位于 CICS-key 中。
如果指定 SET 选项,那么 LENGTH 选项的自变量必须是数据区。 当接收到数据时,数据区将设置为数据的长度。
条件
- 16 INVREQ
- RESP2 值:
- 200
- 分布式程序链接服务器应用程序在 CONVID 选项上指定了函数输送会话 (其主体设施)。
缺省操作: 异常终止任务。
- 22 LENGERR
- 如果 CICS 由于其长度超过程序接受的最大长度而废弃了数据,并且未指定 NOTRUNCATE 选项,那么将发生此情况。
缺省操作: 异常终止任务。
- 81 个 TERMERR
- 发生与终端相关的错误,例如会话失败。 此条件仅适用于 z/OS® Communications Server连接的终端。
如果用户节点错误程序 (NEP) 的 CANCEL TASK 请求在节点异常条件程序处理会话错误时有未完成的终端控制请求处于活动状态,那么可能会导致此情况。
缺省操作: 异常终止任务,异常终止代码为 ATNI。
