RECEIVE PARTN
从 8775 终端分区接收数据。 仅标准和完整 BMS 中提供了此命令。
有关 BMS 的更多信息,请参阅 基本映射支持。
语法
标准和完整 BMS:
条件: EOC , EODS , INVPARTN , INVREQ 和 LENGERR
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
描述
RECEIVE PARTN 从 8775 终端上的分区中读取数据。 它指示数据来自哪个分区,并将数据放入 INTO 或 SET 数据区。 然后,可以将数据视为源自处于基本 (未分区) 状态的终端。
在 RECEIVE PARTN 命令之后,入站光标位置放置在 EIBCPOSN 中,终端提示标识 (AID) 放置在 EIBAID 中。 EIBAID 和 EIBCPOSN 也在非 ATI 任务的任务启动时以及在每个终端控制和 BMS 输入之后进行更新。
请参阅 BMS 宏 以获取映射定义。
如果要接收数据,那么必须指定 INTO 或 SET 选项。 如果发出 RECEIVE 纯粹是为了检测注意标识 (AID) ,那么可以同时省略 INTO 和 SET 选项。
选项
- ASIS
- 指定 3270 输入数据流中的小写字符不会转换为大写; 这允许当前任务接收包含大写和小写数据的消息。
ASIS 选项对事务的第一个 RECEIVE 命令没有影响,或者如果屏幕包含在启动事务之前的数据。 例如,如果事务由另一个事务启动,并且从接收该事务最初输出的数据开始,那么不能禁止对数据进行大写转换。 在准备下一个任务时将读取并转换此数据,并且该任务中的第一个 RECEIVE 命令将检索转换后的数据。
注: 如果您正在使用片假名终端,那么可能会看到一些包含混合英语和片假名字符的消息。 这是因为片假名终端无法显示混合大小写输出。 数据流中的大写字符显示为大写英语字符,但小写字符显示为片假名字符。 如果发生这种情况,请要求系统程序员在系统初始化参数中指定 MSGCASE=UPPER ,以便消息仅包含大写字符。 - INTO (data-area)
- 指定要将分割控件的输入数据写入的区域。 此区域的长度必须由 LENGTH 选项指定。 如果该区域不足以容纳输入数据,那么将截断输入数据,并引发 LENGERR 条件。 长度选项数据区设置为在任何截断之前接收到的数据的长度。
- LENGTH (data-value)
- 指定要格式化为半字二进制值的数据的长度。 它必须设置为命令前任何 INTO 区域的长度。 在该命令之后,如果 INTO 区域太小, BMS 会将 LENGTH 选项设置为在任何截断之前接收到的数据的长度。
有关安全上限的说明,请参阅 翻译注意事项:EXEC CICS 命令中的 LENGTH 选项。
- PARTN (数据区)
- 设置为输入分区的名称 (1-2 个字符)。 可以通过使用 RDO 或在首次使用分区时通过程序自动安装来定义分区。
- SET (ptr-ref)
- 指定要设置为映射数据的 12 字节前缀的地址的指针。 在下一个接收命令或任务结束之前,指针引用有效。
如果 DATALOCATION (ANY) 与应用程序相关联,那么数据的地址可能高于或低于 16MB 行。
如果 DATALOCATION (BELOW) 与应用程序相关联,并且数据位于 $TAG1 16MB $TAG2 行上方,那么数据将复制到 $TAG3 16MB $TAG4 行下方,并返回此副本的地址。
如果为正在运行的任务指定了 TASKDATAKEY (USER) ,并且存储器保护处于活动状态,那么返回的数据在用户密钥中。 如果指定了 TASKDATAKEY (CICS®) 并且存储器保护处于活动状态,那么返回的数据位于 CICS-key 中。
条件
以下某些情况可组合出现。 如果发生多个事件,那么仅会将第一个事件传递到应用程序。
- 06 平等机会委员会
- 如果接收到具有链端 (EOC) 指示符集的请求/响应单元 (RU) ,则发生。 它仅适用于逻辑单元。
缺省操作: 忽略条件。
- 05 EODS
- 如果未接收到任何数据 (仅为 FMH) ,那么将发生此错误。 它仅适用于 3770 个批处理 LU 以及 3770 和 3790 个批处理数据交换 LU。
缺省操作: 异常终止任务。
- 65 个 INVPARTN
- 如果未在与应用程序关联的分区集中定义指定的分区,那么将发生此情况。
缺省操作: 异常终止任务。
- 16 INVREQ
- 在非终端任务中发出 RECEIVE PARTN 命令时发生; 这些任务没有 TIOA 或 TCTTE。
缺省操作: 异常终止任务。
- 22 LENGERR
- 如果 RECEIVE PARTN 命令的 INTO 区域不足以容纳输入数据,那么将发生此情况。
缺省操作: 截断数据以适合 INTO 区域。
