Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32922
  • 博文数量: 9
  • 博客积分: 491
  • 博客等级: 下士
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-14 14:01
文章分类
文章存档

2011年(9)

我的朋友

分类: Oracle

2011-12-19 09:59:01

系统信息:

SAP PI系统版本: PI7.1.1

ECC系统版本: ECC 6.0

目的:

由于网络或系统问题,如例行系统停机维护或网络切换,可能会导致SAP PI的异步接口在ECC系统中队列中出现错误。由于SAP 通过队列方式处理异步接口消息,如果队列中的一条消息发生错误,会导致整条队列被阻塞,队列中的所有消息都无法继续执行。此时,需要ECC系统管理员登陆到系统,处理阻塞的队列中的错误消息,以便解锁整条消息队列。

实现方式: 手动队列解锁:

SMQ2可以用来监控入站队列

TCODE:SMQ2, 输入需要监控的Client和队列名称,可以使用通配符”*”

image0019

显示当前正在执行或阻塞的队列,双击其中一个队列的Queue Name,如XBTS0004

image0036

Status状态为红色说明队列出现问题。SYSFAIL说明由于系统或网络原因,消息没有发送成功,导致整条队列阻塞。

image0057

双击QUEUE NAME,显示队列中的消息

image0076

进入队列消息显示界面。双击队列中第一条消息的QUEUE NAME,进入消息此消息详细内容的监控界面。

image0095

进入TCODE: SXI_MONITOR对应的消息监控界面。

image0115

对阻塞消息进行处理。点击消息行最左边的空白处选中消息,然后点击菜单栏中的Restart,重新触发消息执行。在弹出窗口中,选择Retain。

image0136

执行后刷新消息监控程序,可以看到消息已经成功被重新出发和执行。

image0155

队列中的第一条消息成功出发后,后续消息也会自动开始执行,整条队列解锁成功。回到队列监控界面,可以看到队列XBTS0004已经被成功处理,没有任何阻塞。

image0175

对于由于网络问题或消息对应的单据被前台用户锁定而导致的消息阻塞,本文中的方法可以直接将消息进行解锁。对于由于数据问题导致的队列阻塞,则需要对消息的内容进行处理或删除出现错误的消息,以便解锁整条队列。

自动队列解锁

同时,SAP提供了一个自动解锁消息队列的程序,通过后台作业定时调用该程序,可以实现消息的定时自动解锁。

程序名称:RSXMB_RESTART_MESSAGES

对程序RSXMB_RESTART_MESSAGES的测试运行。

执行程序前,使用TCODE:SMQ2,可以看到系统中存在8条阻塞队列(这些阻塞是由于公司网络切换,导致接口无法正常发送数据造成的)。

image0194

TCODE:SA38。输入程序名称并执行。

image0214

输入时间范围,如720分钟(12小时)内的错误消息。然后点击执行

image0234

程序执行结果,所有阻塞队列被解锁,消息成功执行。

image0253

重新执行SMQ2,可以看到所有阻塞队列都已处理。

image0273

有关于SAP的问题大家一起探讨 QQ:1835845352

阅读(6147) | 评论(0) | 转发(0) |
0

上一篇:SAP Training Material Free Download

下一篇:没有了

给主人留下些什么吧!~~