点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,专家们,我们在产品系统上遇到了一个问题。
停机大约一天后(我们停止了datahub,但没有关闭hybris电子商务),我们重新启动了datahub,并有很多订单的待处理出版物(RawHybrisOrders至SALES_ORDERS IDOC)
例如:GET/v1/pools/SAPORDER_OUTBOUND_POOL/publications/
我们有
350502
RETRY_ITEMS_PUBLICATION
待处理
SAPORDER_OUTBOUND_POOL
2071905
待处理
SapErpSystem
350502
SAPORDER_OUTBOUND_POOL
0
0
0
0
350500
PUBLICATION
待处理
SAPORDER_OUTBOUND_POOL
2071896
待处理
SapErpSystem
350500
SAPORDER_OUTBOUND_POOL
0
0
0
0
350499
PUBLICATION
待处理
SAPORDER_OUTBOUND_POOL
2071895
待处理
SapErpSystem
350499
SAPORDER_OUTBOUND_POOL
0
0
0
0
我们尝试使用POST/v1/pools/SAPORDER_OUTBOUND_POOL/publications/
发布有效负载:
{" poolName":" SAPORDER_OUTBOUND_POOL"," type":" PUBLICATION"," targetSystemPublications":[{" targetSystemName":" SapErpSystem"}]}
和
{" poolName":" SAPORDER_OUTBOUND_POOL"," type":" RETRY_ITEMS_PUBLICATION"," targetSystemPublications":[{" targetSystemName":" SapErpSystem"}]}
但我只能得到此跟踪
WARN c.h.d.s.p.i.DeletePublicationRetryEventListener-从目标系统ID 1删除0个发布重试
因此所有来自hybry的订单都在datahub中停止了。 我们无法删除/重新处理此出版物。 而且最奇怪的是他们有
0 0 0 0
有关如何删除/删除/避免/重新发送此出版物的任何帮助。
我们在生产系统中已停止3000多个订单。
在local.properties中,我有:
sapcoreconfiguration.pool = SAPCONFIGURATION_POOL sapcoreconfiguration.autocompose.pools = GLOBAL,SAPCONFIGURATION_POOL,SAPCONSUMER_INBOUND_POOL,SAPCONSUMER_OUTBOUND_POOL,SAPCONTACT_OUTBOUND_POOL,SAPCUSTOMER_INBOUND_POOL,SAPORDER_OUTBOUND_POOL,SAPORDER_INBOUND_POOL,SAPOAARSI_INBOUND_POOL sapcoreconfiguration.autopublish.targetsystemsbypools = GLOBAL.HybrisCore,SAPCONSUMER_OUTBOUND_POOL.SapErpSystem,SAPORDER_INBOUND_POOL.HybrisCore,SAPORDER_OUTBOUND_POOL .SapErpSystem,SAPCONSUMER_INBOUND_POOL.HybrisCore,SAPOAASITE_INBOUND_POOL.HybrisCore,SAPOAARSI_INBOUND_POOL.HybrisCore
datahub.publication.saveImpex = true
datahub.item.level.lifecycle.logging = true
datahub.max.publication.retry.count = 1
任何建议将不胜感激。
感谢您的光临。
io
正如我在对您的答案的评论中解释的那样,很有可能是IN_PROGRESS出版物。 每个目标系统都需要回叫数据中心,以使其了解发布状态。 如果没有发生该调用,则发布将保持IN_PROGRESS并阻止所有其他PENDING发布被处理。
回调可能不会发生,可能是由于两个原因:网络问题或回调URL配置错误。 您可以轻松地检查以下内容:
获取/pools/SAPORDER_OUTBOUND_POOL/target-system-publications?q = status + eq + IN_PROGRESS或..?q = status%3AIN_PROGRESS-记不清了。 这样,您将发现卡住的目标系统发布,并且响应应引用发布ID,该引用仍为IN_PROGRESS。
类似地,您可以检查SUCCESS目标系统的出版物。 如果找到它们,则表示配置正确或至少在某些时候正确。 如果看不到SUCCESS发布,则很可能是配置错误。
OOTB DataHub对这些回调使用
datahub.server.url
属性,例如,datahub.server.url = http://127.0.0.1:9797/datahub-webapp/v1 代码>。 SAP扩展可以使用其自己的属性。 搜索文档或询问团队Griffin-他们拥有这些扩展名。
现在,解决问题。 确保正确配置了回调URL。 可能重启DataHub。 现在,强制完成IN_PROGRESS发布:PUT/core-publications/{publicaitonId},其中
publicationId
是目标系统发布ID,即IN_PROGRESS。 请求的正文可以是:{crashReport:"手动终止",exportErrorDatas = []}
。 这将使出版物处于FAILED状态,并能够处理其他PENDING出版物。 FAILED发布将自动重新尝试,因为看起来您已启用了重试发布。那确实很奇怪。
重启后,DataHub将尝试恢复发布。 如果在重新启动时看到发布IN_PROGRESS,它将将该发布标记为FAILED并将再次开始发布。
Thnsk Slave,谢谢您的回答。 但是我仍然被困住
请您提供准确的查询,因为我尝试了bith,但没有结果
获取/pools/SAPORDER_OUTBOUND_POOL/target-system-publications?q = status + eq + IN_PROGRESS或..?q = status%3AIN_PROGRESS
还可以为PUT提供网址吗?
非常感谢
非常感谢Slava。
你太严厉了。 有一个IN_PROGRESS出版物。 找到并通过PUT调用"删除"并重新启动PENDING出版物后,最终订单转到了SAP。
最后一个问题,我有很多PENDING出版物。 我尝试手动发布它们,但是它们的属性等于0,所以就像它们没有进行正确的转换一样,但是由于有很多东西,我决定停止,因为它似乎没有止境。 但是,在1或2个小时后的一段时间内,所有订单都转到了SAP。
它与datahub中的重试或删除作业有某种关系。 我已经看到local.host中有一些与删除出版物有关的属性。 这可以关联吗?
再次非常感谢。
一周热门 更多>