CONVERSE (APPC)

依靠 APPC 映射对话进行通信

语法

CONVERSE (APPC)

读取语法图跳过可视语法图CONVERSECONVID( 名称)FROM( data-area)FROMLENGTH( data-value)FROMFLENGTH( data-value)INTO( data-area)SET( ptr-引用)TOLENGTH( data-area)TOFLENGTH( data-area)MAXLENGTH( data-value)MAXFLENGTH( data-value)NOTRUNCATESTATE( CVDA)

条件: EOC , INVREQ , REGERR , NOTALLOC , SIGNAL 和 TERMERR

NOHANDLERESPRESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.

描述

CONVERSE 在 APPC 映射对话上发送数据,然后接收数据。

选项

CONVID (名称)
此选项标识与命令相关的对话。 4 字符名称标识先前在 EIB 中的 EIBRSRCE 中执行的 ALLOCATE 命令返回的令牌,或表示主体会话的令牌 (由先前执行的 ASSIGN 命令返回)。

为了与先前发行版兼容,接受 SESSION 作为 CONVID 的同义词。 新程序使用 CONVID。

如果省略此选项,那么缺省情况下将使用任务的主体设施。

FROM (数据区)
此选项指定要写入终端或逻辑单元或发送至伙伴事务的数据。 如果指定了 ATTACHID ,那么可以在相关时省略此选项。
FROMFLENGTH (数据值)
此选项是 FROMLENGTH 的全字替代项。
FROMLENGTH (data-value)
此选项指定数据的长度 (作为半字二进制值)。 有关安全上限的说明,请参阅 翻译注意事项:EXEC CICS 命令中的 LENGTH 选项
MAXFLENGTH (data-value)
此选项是 MAXLENGTH 的全字替代项。
MAXLENGTH (data-value)
此选项指定 CICS® 为响应 CONVERSE (缺省) 命令而要恢复的最大数据量 (半字二进制值)。 如果指定了 INTO ,那么 MAXLENGTH 将覆盖使用 TOLLENGTH 作为 CICS的输入。 如果指定了 SET ,那么 MAXLENGTH 为程序提供了一种方法来限制它一次接收的数据量。

如果指定的值小于零,那么假定为零。

如果数据长度超过指定的值,并且 NOTRUNCATE 选项不存在,那么数据将截断为该值,并且会出现 LENGERR 条件。 TOLLENGTH 选项中指定的数据区设置为数据的原始长度。

如果数据长度超过指定的值,并且存在 NOTRUNCATE 选项,那么 CICS 将保留其余数据并使用它来满足后续 RECEIVE 命令。 TOLLENGTH 选项中指定的数据区设置为返回的数据长度。

如果没有为 MAXLENGTH 编码任何参数,那么 $TAG1 CICS $TAG2 将缺省为 TOLLENGTH。

NOTRUNCATE
此选项指定当可用数据超过所请求的长度时,将不废弃其余数据,而是保留这些数据以供后续 RECEIVE 命令检索。
INTO (data-area)
此选项指定从终端或逻辑单元读取的数据的接收字段,或要从连接到当前对话的另一端的应用程序接收数据的应用程序目标数据区。
SET (ptr-ref)
此选项指定要设置为从终端读取的数据的地址的指针引用。 除非被其他命令或语句更改,否则指针引用在下一个 CONVERSE (缺省) 命令或任务结束之前有效。

如果 DATALOCATION (ANY) 与应用程序相关联,那么数据的地址可以高于或低于 16 MB 界线。

如果 DATALOCATION (BELOW) 与应用程序相关联,并且数据位于 16 MB 线以上,那么数据将复制到 16 MB 线以下,并返回此副本的地址。

如果为正在运行的任务指定了 TASKDATAKEY (USER) ,并且存储器保护处于活动状态,那么返回的数据在用户密钥中。 如果指定了 TASKDATAKEY (CICS) 并且存储器保护处于活动状态,那么返回的数据位于 CICS键中。

状态 (cvda)
此选项获取当前对话的状态。 CICS 返回的 CVDA 值为:
  • 已分配
  • 经济及社会理事会
  • CONFRECEIVE
  • 交汇
  • FREE
  • 无暂挂
  • 暂挂接收
  • RECEIVE
  • 回滚
  • SEND
  • 无同步
  • 同步接收
  • SYNCSEND
TOFLENGTH (数据区)
此选项是TOL思的全字替代项。
TOL思 (数据区)
此选项指定要接收的数据的长度 (半字二进制值)。 如果指定 INTO ,但省略 MAXLENGTH ,那么 "data area" 指定程序接受的最大长度。 如果该值小于零,那么假定为零。

如果数据的长度超过指定的值,但省略了 NOTRUNCATE ,那么会将数据截断为该值,并出现 LENGERR 条件。 当接收到数据时,数据区被设置为数据的长度。

有关安全上限的说明,请参阅 翻译注意事项:EXEC CICS 命令中的 LENGTH 选项

条件

06 平等机会委员会
当接收到具有链结束指示符集的请求/响应单元 (RU) 时,会发生此情况。 现场 EIBEOC 也包含此指标。

缺省操作: 忽略条件。

16 INVREQ
RESP2 值:
200
分布式程序链接服务器应用程序指定了函数输送会话 (其主体设施)。
在下列任何情况下也会发生此情况 (未设置RESP2 ):
  • 该命令用于 CPI 通信正在使用的对话或 APPC 基本对话。 在后一种情况下,应用程序发出 GDS SEND INVITE ,然后发出 GDS RECEIVE。

缺省操作: 异常终止任务。

22 LENGERR
在下列任何情况下,都会发生此情况:
  • CICS 将废弃接收的数据,因为其长度超过程序接受的最大长度 (请参阅 TOLLENGTH 和 MAXLENGTH 选项) ,并且未指定 NOTRUNCATE 选项。
  • 在下列其中一个选项中提供了超出范围的值: FROMLENGTH , FROMFLENGTH , MAXLENGTH , MAXFLENGTH , TOLTOFLENGTH 或 TOFLENGTH。

缺省操作: 异常终止任务。

61 个 NOTALLOC
如果命令中指定的设施不是由应用程序拥有或与应用程序拥有的对话无关,那么会发生此情况。

缺省操作: 异常终止任务。

24 信号
当从逻辑单元或会话或伙伴事务接收到入站 SIGNAL 数据流控制命令时,会发生此情况。 当接收到入站信号时,始终设置 EIBSIG。

缺省操作: 忽略条件。

81 个 TERMERR
对于与终端或会话相关的错误,会发生此情况。 对该对话执行的除 FREE 以外的任何操作都会导致 ATCV 异常终止。

如果用户节点错误程序 (NEP) 的 CANCEL TASK 请求在节点异常条件程序处理会话错误时有未完成的终端控制请求处于活动状态,那么会导致此情况。

缺省操作: 异常终止任务,异常终止代码为 ATNI。