SET_TP_PROPERTIES
SET_TP_PROPERTIES谓词使事务程序 (TP) ,通过提供 LUWI) D, (LUWID 将逻辑工作单元标识符设置为现有值,或请求 SNA 服务器生成新工作单元标识符并从此使用它们。 当 LUWID 由 SNA 服务器生成时,它保证是唯一的。 仅当启用同步点支持时,才会使用此谓词。
以下结构描述了SET_TP_PROPERTIES谓词使用的谓词控制块 (VCB ) 。
语法
struct set_tp_properties {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned char set_prot_id;
unsigned char new_prot_id;
unsigned char prot_id[26];
unsigned char set_unprot_id;
unsigned char new_unprot_id;
unsigned char unprot_id[26];
unsigned char set_user_id;
unsigned char reserv3;
unsigned char user_id[10];
unsigned char reserv4[10];
};
成员
opcode
提供的参数。 指定谓词操作代码,AP_SET_TP_PROPERTIES。
opext
提供的参数。 指定谓词操作扩展。 必须设置AP_EXTD_VCB位以指示 set_tp_properties 结构需要同步点支持。
reserv2
一个保留字段。
primary_rc
返回的参数。 指定在谓词完成时由 APPC 设置的主要返回代码。 有效的返回代码因发出的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅“返回代码”。
secondary_rc
返回的参数。 指定在谓词完成时由 APPC 设置的次要返回代码。 有效的返回代码因发出的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅“返回代码”。
tp_id
提供的参数。 标识本地 TP。 此参数的值由调用 TP 中的 TP_STARTED 或调用的 TP 中的 RECEIVE_ALLOCATE 返回。
set_prot_id
提供的参数。 指示是否应修改 prot_id 成员。 法定值是AP_YES或AP_NO。
new_prot_id
提供的参数。 指示 Microsoft® Host Integration Server 是应使用提供的 prot_id LUWID 成员还是创建新的 LUWID。 法定值AP_YES (创建新的 LUWID) 或使用提供的 LUWID) AP_NO (。
prot_id
此成员是 TP 参与的事务的受保护逻辑工作单元标识符。 如果 AP_NO set_prot_id ,则忽略它。 如果 new_unprot_id 为AP_NO,则为提供的参数;如果 new_unprot_id 为AP_YES,则为返回的参数。
一个事务中可以涉及多个 TP。 此标识符是代表发起事务的 TP 分配的,它允许构成事务的会话在逻辑上连接。
prot_id可以表示为具有以下字段的luw_id_overlay结构:
typedef struct luw_id_overlay { unsigned char fqla_name_len; unsigned char fqla_name[17]; nsigned char instance[6]; unsigned char sequence[2];} LUW_ID_OVERLAY;
luw_id.fqla_name_len
原始 TP 的 LU 的完全限定 LU 名称的 1 字节长度。
luw_id.fqla_name
原始 TP 的 LU 的完全限定名称。 该名称作为 17 字节 EBCDIC 字符串返回,由 NETID、句点和 LU 名称组成。 如果名称的长度小于 17 个字节, 则立即跟随实例 和 序列号 。 (请注意,因此,不应使用 luw_id_overlay 结构的字段来访问这些值。它们仅用于) 的兼容性。
luw_id.instance
LU 为原始 TP 唯一生成的 6 字节字符串。
luw_id.sequence
指示工作单元段的 2 字节数字。 (如果不支持同步点,则始终将此设置为 1。)
如果 luw_id 长度小于 26 个字节,则会在右侧填充 EBCDIC 空格。
set_unprot_id
提供的参数。 指示是否应修改 unprot_id 成员。 法定值是AP_YES或AP_NO。
new_unprot_id
提供的参数。 指示 Host Integration Server 是应使用提供的 unprot_id LUWID 成员还是创建新的 LUWID。 法定值AP_YES (创建新的 LUWID) 或使用提供的 LUWID) AP_NO (。
unprot_id
此成员是 TP 参与的事务的未受保护的逻辑工作单元标识符。 如果 AP_NO set_unprot_id ,则会忽略它。 如果 new_unprot_id 为AP_NO,则为提供的参数;如果 new_unprot_id 为AP_YES,则为返回的参数。
一个事务中可以涉及多个 TP。 此标识符是代表发起事务的 TP 分配的,它允许构成事务的会话在逻辑上连接。
prot_id可以表示为具有以下字段的luw_id_overlay结构:
typedef struct luw_id_overlay { unsigned char fqla_name_len; unsigned char fqla_name[17]; nsigned char instance[6]; unsigned char sequence[2];} LUW_ID_OVERLAY;
luw_id.fqla_name_len
原始 TP 的 LU 的完全限定 LU 名称的 1 字节长度。
luw_id.fqla_name
原始 TP 的 LU 的完全限定名称。 该名称作为 17 字节 EBCDIC 字符串返回,由 NETID、句点和 LU 名称组成。 如果名称的长度小于 17 个字节, 则立即跟随实例 和 序列号 。 (请注意,因此,不应使用 luw_id_overlay 结构的字段来访问这些值。这些内容仅用于兼容性。)
luw_id.instance
LU 为原始 TP 唯一生成的 6 字节字符串。
luw_id.sequence
指示工作单元段的 2 字节数字。 (如果不支持同步点,则始终将此设置为 1。)
如果 luw_id 长度小于 26 个字节,则会在右侧填充 EBCDIC 空格。
set_user_id
提供的参数。 指示是否应修改 user_id 成员。 法定值是AP_YES或AP_NO。
reserve3
保留字段。
user_id
提供的参数。 指示在分配请求中启动的 TP 应使用的 user_id 。 该名称是一个 10 字节 EBCDIC 字符串,右侧填充有 EBCDIC 空格。 如果 set_user_id AP_NO ,则忽略此参数。
reserve4
一个保留字段。
返回代码
AP_OK
主要返回代码;谓词已成功执行。
AP_PARAMETER_CHECK
主要返回代码;由于参数错误,谓词未执行。
AP_BAD_TP_ID
辅助返回代码; tp_id 的值与 APPC 分配的 TP 标识符不匹配。
AP_COMM_SUBSYSTEM_ABENDED
主要返回代码;指示以下状况之一:
此对话使用的节点遇到了 ABEND。
TP 与 PU 2.1 节点之间的连接已断开(LAN 错误)。
TP 计算机上的 SnaBase 遇到了 ABEND。
系统管理员应检查错误日志以确定发生 ABEND 的原因。
AP_COMM_SUBSYSTEM_NOT_LOADED
主要返回代码;处理谓词时无法加载或终止某个必需的组件。 因此无法通信。 请联系系统管理员以执行纠正措施。AP_INVALID_VERB_SEGMENT
主要返回代码;VCB 超出了数据段的末尾。AP_STACK_TOO_SMALL
主要返回代码;应用程序的堆栈大小太小,无法执行谓词。 增加应用程序的堆栈大小。AP_TP_BUSY
主要返回代码;本地 TP 向 APPC 发出了调用,而 APPC 正在处理该 TP 的另一个调用。 如果本地 TP 具有多个线程,并且多个线程使用相同的 tp_id发出 APPC 调用,则可能会发生这种情况。AP_UNEXPECTED_DOS_ERROR
主要返回代码;操作系统在处理来自本地 TP 的 APPC 调用时向 APPC 返回了错误。 已通过 secondary_rc 返回了操作系统返回代码。 此返回代码是以 Intel 字节交换顺序显示的。 如果问题持续出现,请咨询系统管理员。
备注
此谓词与 TP 相关,而不是规范对话,因此 TP 可以在任何状态下发出谓词。 没有状态更改。
prot_id和unprot_id成员包含fqla_name_len的字段, (源自 TP) 的 LU 的完全限定 LU 名称的长度, fqla_name (源自 TP) 的 LU 的完全限定名称,实例 (由源自 TP) 的 LU 唯一生成,序列 (始终设置为 1 并指示工作单元) 段。
当受保护的 LUWID 发生更改时,应用程序 (同步点支持组件) 负责将新的 LUWID PS 标头传输到合作伙伴同步点支持。 同样,收到新的 LUWID PS 标头时,应用程序必须发出 SET_TP_PROPERTIES 谓词来通知 LU。