描述
正在将 SAP Process Integration 用作应用程序系统中的中央集成服务器或本地集成引擎。异步 XI 消息的处理由 qRFC 队列中功能模块 SXMS_ASYNC_EXEC 的条目触发。从技术上讲,使用入站 qRFC 队列。仅当在事务 SMQR 中注册主要 qRFC 前缀时,才处理这些 qRFC 队列。QINSCHEDULER 处理其前缀已注册并配置为活动的所有已注册 qRFC 队列。
先决条件
以前没有在事务 SMQR 中注册以 "X" 或 "-X" 开头的队列。
切勿使用诸如 "X*"、"XB*" 或 "-X*"、"-XB*" 之类的通用条目,以便可以更好地分配和控制不相交的 XI 消息。
执行
qRFC 队列只需在系统中注册一次即可进行 XI 处理。为此,请使用事务 SXMS_QREG 或报表 RSXMB_REGISTER_QUEUES 来注册各种 qRFC 队列。用户必须显式选择要注册的队列。
注册后,用户可执行以下操作:
操作:“注册队列”
对于请求 XI 消息,将注册带有以 "XB" 开头的前缀的队列。
在应用程序系统中,注册以下队列前缀:
•具有 QOS "EO" 的发送方队列
◦优先级:普通:队列前缀:XBTS*
◦优先级:高:队列前缀:XBT1*
◦优先级:低:队列前缀:XBT9*
•具有 QOS "EOIO" 的发送方队列
◦优先级:普通:队列前缀:XBQS*/QB2S*
◦优先级:高:队列前缀:XBQ1*/XB21*
◦优先级:低:队列前缀:XBQ9*/XB29*
•接收方队列 QOS "EO"
◦优先级:普通:队列前缀:XBTR*
◦优先级:高:队列前缀:XBTA*
◦优先级:低:队列前缀:XBTZ*
•接收方队列 QOS "EOIO"
◦优先级:普通:队列前缀:XBQR*/QB2R*
◦优先级:高:队列前缀:XBQA*
◦优先级:低:队列前缀:XBQZ*
•具有 QOS "EOIO" 的错误队列
◦发送方队列前缀:XBQE*
◦接收方队列前缀:XBQF*
已添加前缀,以使用 SAP Note 2662638 对队列进行超序列化。
队列前缀是从版本 SAP_BASIS 7.40 及更高版本创建的。
◦确认队列前缀:XBQG*
•具有 QOS "EO" 的确认队列
◦优先级:普通:队列前缀:XBTB*
◦优先级:高:队列前缀:XBTX*
◦优先级:低:队列前缀:XBTY*
•具有 QOS "EOIO" 的确认队列
◦优先级:普通:队列前缀:XBQB*/QB2B*
◦优先级:高:队列前缀:XBQX*/XB2X*
◦优先级:低:队列前缀:XBQY*/XB2Y*
•大型消息的队列
◦队列前缀:XBTL*
•具有 QOS "EO" 的过滤器队列
◦队列前缀:XBTJ*
在中央集成服务器中,注册以下队列前缀:
•具有 QOS "EO" 的入站队列
◦优先级:普通:队列前缀:XBTI*
◦优先级:高:队列前缀:XBT1*
◦优先级:低:队列前缀:XBT9*
•具有 QOS "EOIO" 的入站队列
◦优先级:普通:队列前缀:XBQI*/QB2I*
◦优先级:高:队列前缀:XBQ1*/XB21*
◦优先级:低:队列前缀:XBQ9*/XB29*
•具有 QOS "EO" 的出站队列
◦优先级:普通:队列前缀:XBTO*
◦优先级:高:队列前缀:XBTA*
◦优先级:低:队列前缀:XBTZ*
•具有 QOS "EOIO" 的出站队列
◦优先级:普通:队列前缀:XBQO*/QB2O*
◦优先级:高:队列前缀:XBQA*
◦优先级:低:队列前缀:XBQZ*
•具有 QOS "EOIO" 的错误队列
◦IS 入站队列前缀:XBQE*
◦IS 出站队列前缀:XBQF*
◦确认队列前缀:XBQG*
•具有 QOS "EO" 的确认队列
◦优先级:普通:队列前缀:XBTB*
◦优先级:高:队列前缀:XBTX*
◦优先级:低:队列前缀:XBTY*
•具有 QOS "EOIO" 的确认队列
◦优先级:普通:队列前缀:XBQB*/QB2B*
◦优先级:高:队列前缀:XBQX*/XB2X*
◦优先级:低:队列前缀:XBQY*/XB2Y*
•大型消息的队列
◦队列前缀:XBTL*
◦队列前缀:XBTM*
•具有 QOS "EO" 的过滤器队列
◦队列前缀:XBTJ*
附加功能
•注册显示程序
队列条目触发 XI 消息处理。如果发生意外错误,则可能会导致运行时错误。然后,为队列条目分配状态 "SYSFAIL" 以及相应短文本。在这种情况下,管理员无法执行错误分析。对于每个已注册队列,在 qRFC 管理中输入显示程序 RSXMB_SHOW_ENTRY。
从功能模块 SXMS_ASYNC_EXEC 的队列条目中检索消息标识和管道标识,并显示在 XI 监控器中。
•队列转储处理
如果 XI 队列的 qRFC 队列条目存在处理错误,则会写入转储。无法也不应该阻止转储,否则无法调查错误原因。对于队列(例如,"XBTO*"),可以在事务 SMQR(功能模块 "SXMS_DUMP_CALLBACK")中注册转储事件。
如果发生转储,则会在错误队列中调度此功能模块。除第一个字符外,错误队列的名称(例如,"-BTO*")与在其下注册转储事件功能模块的 XI 队列前缀相同。
在版本 SAP_BASIS 7.00、7.01 和 7.02 中,SAP Note 1393039 已增强此功能。出于兼容性原因,在使用参数 "QRFCDUMP" 执行功能模块激活时必须选择该功能。
操作“取消注册队列”
队列条目可以在事务 SMQR 中取消注册。
操作“转到 QRFC 监控器”
可以在事务 SMQR“调度器监控器”中检查该配置。
在其中配置调度器监控功能很重要。
QRFC 条目可以在不同应用服务器上执行。可以使用 AS 组定义这些 RFC 资源。在这里,可以定义使用哪些应用服务器。
在 QRFC 监控器中,可以检查队列是否包含条目。然后,可以停止队列或开始处理队列条目。
权限
要执行此报表,必须为用户分配以下权限之一:
•对象: S_XMB_AUTH
SXMBAREA: CONFIG
ACTVT: 02
标准情况下,这些权限将包含在单个角色 SAP_XI_ADMINISTRATOR_ABAP 中。
附加信息
调度器监控
队列主要调度器使用内部监控机制。这监控每个队列调度器的运行时长。其中一个超过 1800 秒的(硬编码)阈值或监控队列名称的调度器的用户定义值之后,便不再跟踪该队列,并将其标记为已排除。这样可以确保所有其他队列都处理完毕后,主调度器就可以随时终止,并且不必等待可能从不会完成的队列的处理。系统日志中还有一个条目(导入 SAP Note 1745298 之后),带有文本 QINEXCLUDE,其中包含已排除队列的名称。
如果将选项“自动清除”设置为以下值之一:
•<空格>
仅当重新启动主要调度器时才能处理该队列(前提是此队列尚未处于 RUNNING 状态)。
•"X"
激活自动清除,并且覆盖队列排除。
应用服务器组
离开 QRFC 监控器。在此输入应用服务器组 "DEFAULT" 。该组定义在其上处理队列的应用服务器。如果需要,可以在事务 RZ12 中更改组 "DEFAULT"。或者,可以定义一个新组,然后将其输入到 QRFC 监控器中。在 QRFC 监控器 -> 转到 -> QRFC 资源中,可以检查每个应用服务器的最大数目和可用工作进程数。
重新启动状态为 "SYSFAIL" 的队列条目
从 QRFC 监控器导航到队列中。队列中有一个状态为 "SYSFAIL" 的条目,并尝试手动重新启动此队列。
将收到错误消息“XI 中不允许使用 qRFC 重新启动”。
可以允许使用 ABAP XI 参数 MONITOR QRFC_RESTART_ALLOWED 执行,值为 1。