【实用】ABAP邮件发送(HTML+Attachment)

这几天接到这样一个ABAP需求:SAP邮件自动发送给各个部门领导,邮件的正文为了美观需要采用指定的HTML格式,同时需要附上Excel附件。

之前都是简单的采用函数“SO_NEW_DOCUMENT_ATT_SEND_API1”来进行发送的,那么这里该如何处理呢?

这里需要考虑两个问题:

  • 正文采用HTML格式;
  • 带有Excel附件;

这里我简单做了一个DEMO,基本可以满足需求,但是比较繁琐,当然有更好的方式可以在留言中提出来,由于涉及用户隐私,所以不希望本文被转载。

首先看一下最终简单的效果图:

【具体实现】

1、HTML正文格式

***整理邮件内容
  data : lv_updat type string,
         lv_uptim type string.
  lv_updat = sy-datum+0(4) && '/' && sy-datum+4(2) && '/' && sy-datum+6(2).
  lv_uptim = sy-uzeit+0(2) && ':' && sy-uzeit+2(2) && ':' && sy-uzeit+4(2).

*** 主题
  read table gt_tab_excel_list index 1.
  select single mtart from mara into lv_mtart
    where matnr = gt_tab_excel_list-matnr.
  if lv_mtart = 'FERT'.
    lv_subject = text-012.
  elseif lv_mtart = 'HALB'.
    lv_subject = text-013.
  else.
    lv_subject = text-014.
  endif.
  "CVJ物料类型安全库存更新
  lv_subject = 'CVJ' && lv_subject && text-015.

*** 邮件标题
  lv_title = lv_subject.
*** 正文
  text =
  'The following information is automatically sent by SAP system.'.

  concatenate
  '<html>'
  '<head>'
  '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'
  '<title>' lv_title '</title>'
  '<style type="text/css">'
  'table{ font-size: 12px; font-family: "Microsoft yahei",Arial; text-align: center; }'
  'th{ background-color: skyblue; }'
  'tr{ height: 30px; }'
*  '.font{ font-style: italic; color: deeppink; font-size: 12px; }'
*  '.color{ color:blue; }'
  'table,table tr th,table tr td { border:1px solid black;border-collapse:collapse; } '
  '</style>'
  '</head>'

  '<body>'

  '<div>' text '</div> '
  '<br />'
  '<div>' lv_subject '</div> '

    '<table width="550" border="0" cellpadding="0" cellspacing="0">'
    '<tr>'
      '<th>物料类型</th>'
      '<th>更新件数</th>'
      '<th>更新日期</th>'
      '<th>更新时间</th>'
      '<th>更新人</th>'
    '</tr>' into ls_html separated by space.

  lv_num = pv_num.
  concatenate ls_html
    '<tr>'
      '<td>'lv_mtart'</td>'
      '<td>'lv_num'</td>'
      '<td>'lv_updat'</td>'
      '<td>'lv_uptim'</td>'
      '<td>'sy-uname'</td>'
    '</tr>'
    into ls_html separated by space.

  concatenate ls_html
  '</table>'
  '<br />'
  '<div> ※ 具体更新内容参考附件EXCEL,可通过 ERP T-code:ZMJMPPR0301 查询明细. </div> '
  '</body>'
  '</html>' into ls_html separated by space.

  perform convert_string_to_tab tables lt_text
                                 using ls_html.

这里需要注意的是,将html构成的mail信息截断为255字符,由Text构成。

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ABAP邮件发送开发是指在SAP系统中使用ABAP编程语言开发邮件发送功能。ABAPSAP系统的一种编程语言,可以用来开发和定制各种功能和业务逻辑。 在ABAP邮件发送开发中,我们可以使用ABAP语言中的内置函数和类来实现邮件的发送。首先,我们需要配置SAP系统的邮件服务器信息和邮件发送方式。这可以通过SAP事务码SCOT来完成。 然后,在ABAP程序中,我们可以使用函数模块SO_NEW_DOCUMENT_ATT_SEND_API1来发送带有附件的邮件。该函数模块可以设置邮件的发送者、接收者、主题、正文内容等信息,还可以添加附件。 例如,我们可以使用FM SO_DOCUMENT_SEND_API1来创建一个邮件文档,然后使用函数模块SO_OBJECT_SEND来发送邮件。在创建邮件文档时,我们可以指定邮件的发送者、接收者、主题和正文内容。然后,我们可以使用函数模块SO_OBJECT_INSERT来添加附件。 除了使用函数模块,我们还可以使用SAP提供的类和方法来发送邮件。例如,我们可以使用类CL_BCS来创建邮件对象,并使用该类的方法来设置邮件的发送者、接收者、主题和正文内容。然后,我们可以使用该类的方法ADD_ATTACHMENT来添加附件。 通过ABAP邮件发送开发,我们可以实现各种邮件通知功能,例如在特定事件发生时发送邮件通知相关人员,或者将系统产生的报表以邮件形式发送给相关人员。这样可以提高系统的可操作性和用户的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值