向Outlook发送约会

2020-08-17 08:43发布

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

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


你好,

我有以下要求:我必须通过ABAP程序通过邮件发送Outlook约会。 根据情况,我必须一次将状态为"忙",状态为"免费"或状态为"不在办公室"的约会发送到Outlook中。 查看Outlook中的屏幕快照并进行约会:

到目前为止,效果很好:我发现只有CL_APPOINTMENT类及其方法。 它可以工作,但是我无法使用此类的方法发送约会的状态。 当我在google中搜索该问题时,我找不到其他方式。 我什至向SAP提出了OSS消息,他们告诉我CL_APPOINTMENT不支持该消息。 他们告诉我,没有可替代的SAP标准功能/类/方法。

您对此有任何想法吗? 我无法相信SAP标准中没有办法解决这个问题?

br马丁

(31.5 kB)

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

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


你好,

我有以下要求:我必须通过ABAP程序通过邮件发送Outlook约会。 根据情况,我必须一次将状态为"忙",状态为"免费"或状态为"不在办公室"的约会发送到Outlook中。 查看Outlook中的屏幕快照并进行约会:

到目前为止,效果很好:我发现只有CL_APPOINTMENT类及其方法。 它可以工作,但是我无法使用此类的方法发送约会的状态。 当我在google中搜索该问题时,我找不到其他方式。 我什至向SAP提出了OSS消息,他们告诉我CL_APPOINTMENT不支持该消息。 他们告诉我,没有可替代的SAP标准功能/类/方法。

您对此有任何想法吗? 我无法相信SAP标准中没有办法解决这个问题?

br马丁

(31.5 kB)
付费偷看设置
发送
5条回答
吹牛啤
1楼-- · 2020-08-17 09:07

你好马丁·斯维克

您是否尝试过设置邀请的TRANSP属性?

https://www.kanzaki.com/docs/ical/transp.html

https://tools.ietf.org/html/rfc5545#section-3.8 .2.7

可以通过CL_APPOINTMENT类的SET_BUSY_VALUE进行设置。

如果可以,但是该值不是您所需的100%,那么我 建议从CL_APPOINTMENT类继承,创建您自己的Z *类,并在一种方法中实现必要的逻辑(根据您的要求)。

亲切的问候,
Mateusz
SAP德到
2楼-- · 2020-08-17 09:07

最终,也许您可​​以获取与约会相对应的.ICS文件,然后自己添加丢失的信息? (使用正确的选项手动创建约会,将其另存为.ICS,查看与状态对应的选项,然后更改您的ABAP程序以使用方法AS_ICAL_OBJECT检索生成的.ICS数据,并插入自定义选项,然后自行发送电子邮件 )

Violet凡
3楼-- · 2020-08-17 08:57

大家好,

感谢您的评论,我已经尝试过使用set_busy_value这样的方法:

 *使约会显示为"忙"
 lo_appointment-> set_busy_value(sccon_busy_busy)。
 * lo_appointment-> set_busy_value(sccon_busy_free)。

但这不会显示在带有ICS文件的已生成邮件中。 因此,生成的ICS内容中不存在条目X-MICROSOFT-CDO-BUSYSTATUS,ICS如下所示:

 BEGIN:VCALENDAR
  产品:-//SAP AG//R/3-750//D
  版本:2.0
  方法:要求
  开始:温柔
  与会者; PARTSTAT = NEEDS-ACTION; RSVP = TRUE; ROLE = REQ-PARTICIPANT; CN =" MARTIN.TEST@TEST.COM":MAILTO:MARTIN.TEST@TEST.COM
  DTSTART; VALUE = DATE:20200801
  DTEND; VALUE = DATE:20200803
  X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
  位置:位置
  UID:005056A2000A1EDAAAC4792B047EA0FC@ASFINAG.AT
  状态:确认
  DTSTAMP:20200609T073537Z
  摘要:测试
 类别:不敬
  创建:20200609T073537Z
  序列:0
  传输:不透明
  优先级:5
  类别:公共
  描述:测试
 结束:VEVENT
  结束:VCALENDAR
 

br马丁

SAP小菜
4楼-- · 2020-08-17 09:05

你好马丁·斯维克

我在一次会议中摆弄了一下,看来Outlook拥有您想要的信息的专属字段(惊喜)。 您正在寻找的信息在名为X-MICROSOFT-CDO-BUSYSTATUS的其他字段中。

值如下:

  • 忙-忙
  • OOF-外出
  • TENTATIVE-暂定
  • 工作场所-在其他地方工作
  • 免费-免费

因此,这里的解决方案是如上所述,根据CL_APPOINTMNET创建自己的Z *类,但添加其他内容

问候,
Mateusz
哎,真难
5楼-- · 2020-08-17 08:48

Hello Martin,

如我评论中所述,您必须创建自己的Z *类,最好从CL_APPOINTMENT类继承。 在您的Z *类中,您需要执行CL_APPOINTMENT的标准逻辑,然后,您需要执行自己的逻辑,该逻辑会将X-MICROSOFT-CDO-BUSYSTATUS字段添加到iCal数据中。

亲切的问候,
Mateusz

一周热门 更多>