发送电子邮件延迟

2020-08-22 16:47发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我有一个ABAP程序,该程序可以检查失败的作业,并向用户发送电子邮件以提供作业详细信息。 rsconn01在同一程序中运行。 因此不需要单独的苏格兰时间安排。

它在dev中完美运行。 环境也一样。 发送电子邮件没有延迟。 但是,同一程序在发送高质量电子邮件方面存在延迟。 与系统时间相比,用户的su01设置没有时区差异。

我观察到的实际问题是程序第一次运行时,该条目仅位于SOST中。 在下一次ABAP运行中,旧条目将替换为新条目,并发送与SOST中的旧条目有关的电子邮件。 现在,新条目仅位于SOST中,直到完成下一次ABAP运行为止。

在SOST中显示"等待通信服务"。 请注意,rsconn01已安排好,没有时区问题。 除此之外,没有特定的延迟时间。 旧条目只是等待新条目进入SOST,直到它发送电子邮件为止。

ABAP程序可以在开发人员中完美运行。 没有任何延迟。 这个上有灯吗??

此致

Mihir

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我有一个ABAP程序,该程序可以检查失败的作业,并向用户发送电子邮件以提供作业详细信息。 rsconn01在同一程序中运行。 因此不需要单独的苏格兰时间安排。

它在dev中完美运行。 环境也一样。 发送电子邮件没有延迟。 但是,同一程序在发送高质量电子邮件方面存在延迟。 与系统时间相比,用户的su01设置没有时区差异。

我观察到的实际问题是程序第一次运行时,该条目仅位于SOST中。 在下一次ABAP运行中,旧条目将替换为新条目,并发送与SOST中的旧条目有关的电子邮件。 现在,新条目仅位于SOST中,直到完成下一次ABAP运行为止。

在SOST中显示"等待通信服务"。 请注意,rsconn01已安排好,没有时区问题。 除此之外,没有特定的延迟时间。 旧条目只是等待新条目进入SOST,直到它发送电子邮件为止。

ABAP程序可以在开发人员中完美运行。 没有任何延迟。 这个上有灯吗??

此致

Mihir

付费偷看设置
发送
9条回答
派大星 ヾ
1楼 · 2020-08-22 17:54.采纳回答

您好Mihir,

在使用任何用于生成输出消息的函数之后,提交rsconn1之前,请确保具有"提交工作并等待"语句。 在完成其他工作之前,RSCONN01似乎正在运行。

此致

筛粉机

落灬小鱼
2楼-- · 2020-08-22 17:35

Mihir,

如果我正确理解您的信息,则可以解决延迟电子邮件的问题,这仅仅是邮件保留在SOST中吗? 我不确定,一旦发送了消息,就应该将其从SOST中删除。

基本上,代码应以如下形式结束:

提交工作并等待。
以mode ='INT'提交rsconn01并返回。

如果您可以提供更多详细信息或代码,也许我可以帮忙,因为使用rsconn01已经有一段时间了。

此致

过滤器

spaceman01
3楼-- · 2020-08-22 17:41

这实际上不是ABAP问题。 我认为您的本地Basis管理员比ABAP论坛用户有更多帮助。

但是,由于我们处于这个论坛中,因此,如果我建议的话,我不会从同一程序启动RSCON001。 该程序仅应创建电子邮件,并应通过SAP中的常规流程发送该电子邮件(通常这是后台作业,在生产环境中经常运行)。 在DEV/QA中,可以在SOST中手动推出电子邮件以进行测试。 这看起来像一个更"干净"的解决方案,麻烦更少。

顺便检查一下是否可以手动发送来自质量检查的电子邮件。 也许这不是程序的问题。 然后绝对是基础。

SAP浪
4楼-- · 2020-08-22 17:29

很好的答案。 谢谢!

小灯塔
5楼-- · 2020-08-22 17:40

嗨,Mihir,

首先,我同意Kumund。 您正在使用的功能似乎已过时(有更好的OOP可用)。 但是,这与我使用的相同,我知道它可以在ECC 6.0中正常工作。 我确实看到一件事可能是罪魁祸首,您可以进行测试。 如果SY-SUBRC = 0,请在函数调用后立即移动"提交工作并等待"语句。这就是我在原始帖子中所说的。 您将在发出命令之前打开另一个数据库游标,并且可能与现在拥有该函数的功能无关。

--------------------------------------------------- -------------------------------

*发送电子邮件通知

通话功能'SO_NEW_DOCUMENT_SEND_API1'

导出

document_type ='RAW'

document_data = doc_chng

commit_work ='X'

表格

object_content = objcont

接收者= reclist []

例外情况

too_many_receivers = 1

document_not_sent = 2

operation_no_authorization = 4

其他= 99。

如果SY-SUBRC = 0。

提交工作并等待。

以mode ='INT'提交rsconn01并返回。

ENDIF。

--------------------------------------------------- ----------------------------

如果仍然无法解决以上问题,而没有更改上述建议,则尝试在"提交工作并等待"语句之后立即放置"以模式='INT'提交rsconn01并返回"。

如果此操作无法解决,请在不更改上述建议的情况下,从函数的" reclist"中删除括号,因为这不必要。

如果仍无法解决,请在不更改上述建议的情况下,从函数导出中删除commit work ='X'。

关于

过滤器

悻福寶寶
6楼-- · 2020-08-22 17:41

你好

关于电子邮件延迟的话题也很相似。 如果要按照计划B所示编写代码,建议您使用CL_BCS类发送邮件。 您可以使用位置清单来检查其使用方法功能。 在这种情况下,为避免取消交易,在调用SEND方法之前,将立即标志设置为X,如下所示。

数据:ylog TYPE REF TO cl_bcs。

尝试。
呼叫方法ylog-> set_send_immediately
导出
i_send_immediately = abap_true。
CATCH cx_send_req_bcs。
ENDTRY。

尝试一下,让我知道 如果问题解决了。 谢谢。

关于,

Kumud

太Q了
7楼-- · 2020-08-22 17:37

嗨,

您可以检查需要触发您的SAPconnect发送作业吗? 邮件,这可能需要一些时间。

一周热门 更多>