【ABAP系列】SAP 如何用ABAP实现自动发送外部邮件

公众号: SAP Technical
本文做者: matinal
 

 

前言部分

你们能够关注个人公众号,公众号里的排版更好,阅读更温馨。html

正文部分

SAP能够把一些信息发到外部的Email地址,好比把PO的信息发送给供应商。
实现这个事情主要的问题有两个:配置系统和写ABAP
 
配置系统:(这是470以上系统的配置,若是是47C或者如下,会用到RFC(SM59))
1.设置Profile参数
2.SAP发邮件用户的维护
3.SICF
4.SCOT
5.SOST (查看发送情况)
 
ABAP的编写:
 
基本是参考note:455140(Configuration of e-mail, fax, paging or SMS using SMTP),这里稍做整理
sdn找了不少broadcasting的文章,基本都是在介绍和使用broadcasting的强大功能,可是涉及到后台是如何配置的,一句话:your basis guy must have done it。没办法,咱没有basis guy,本身动手把。这里就不介绍每个的原理了,一来本身理解的也不透彻,二来这原本就个step by step.若是须要详解了解,能够参考note.另外,这里的配置只是为broadcasting的set mail服务的,因此省略了一些无关的步骤
     主要有下面几个步骤:
     1.配置参数文件Profile parameter(RZ10)
         a)icm/server_port_<*> = PROT=SMTP,PORT=<port>
              事务码RZ10进去,选择实例参数文件,选择扩展。来到参数配置界面,默认状况下已经有一个参数文件icm/server_port_0 = PORT=HTTP,PORT=XXXX(每一个服务可能不同),那么这里的<*>就是要根据你的参数文件的具体状况,若是已经有了_0,这里你就须要设成_1,以此类推,PORT通常设置成25,这里还有一个选项是TIMEOUT能够设定等待邮件服务器回复时间的最大值。这里个人参数文件时: icm/server_port_1 = PROT=SMTP,PORT=25
         b)is/SMTP/virt_host_<*> = <host>:<port>,<port>,...;
              定义虚拟邮件主机,主要用来接收邮件的,_<*>的设置通上。要注意,参数值最后是有一个分号的。
这里个人参数文件是is/SMTP/virt_host_0 = *:25;
     完成后保存,激活。
     配置完须要重启服务,参数才能生效
     2.配置用户(SU01)
         a)对于每个client,须要建立一个用户做为邮件的接收者,好比我建立了一个用户叫作MAILUSER,用户的类型设置为service,并给该用户赋profile S_A.SCON
         b)对于每一个用户来讲,若是须要发送或者接收邮件的话,也须要在为其配置email地址,在su01中的general的E-mail中配置便可,通信方式为remote email
     3.client assignment(SICF)
        执行这个事务码,进去后,点执行,进去后能够看到STMP servers,默认应该是灰色的,双击SMTP servers,配置如下几个地方
         a)Host data ,对于 Profile Parameter Number,输入 "is/STMP/virt_host_<*>"中的<*>的值,通常多是0,若是不存在的话,下面会有提示的。
         b)Service data,输入接收邮件的相关信息,client以及前面建立的MAILUSER和密码、语言等信息。
         c)Handler list,在第一个位置输入CL_SMTP_EXT_SAPCONNECT
     完成以上配置后,右键点击SMTP servers,选择激活。
     4.SAPconnect administration(SCOT)
        a)Default domain,这个邮件的默认域名好比sap.com,那么若是在你发送邮件的时候收件人地址若是只写test的话,系统会自动加上@sap.com,若是收件人地址是全的话,这个domain不维护关系也不大
        b)Nodes,维护SMTP节点,双击后弹出对话框,维护如下信息
          勾上 "Node in user"
          在MAIL HOST和MAIL PORT下面,指定发送邮件服务器的地址,好比若是是163的话,就应该是smtp.163.com
          选中Internet的Set,弹出新对话框,指定接收地址的地址区域,通常用*表示全部邮件都用SMTP来发送。其余信息用默认。
        (这里SAPconnect的信息能够有两种方式显示的,若是双击SMTP节点弹出的是JOB的信息的话,选择菜单中SYSTEM STATUS,切换到为另外一种显示方式便可。
        c)Send job,选择菜单中的View-->Jobs,能够检查是否已经有Jobs被调度了,选择Jobs->Create,并指定Job名称,选择SAP&CONNECTALL变式,并选择Schedule Job
         选择 Schedule periodiacally,指定时间间隔,好比10分钟,选择建立。
        到这里,基本配置成功了。能够在SBWP中,选择发送邮件,来测试配置是否成功,输入收件人的邮件地址,点击发送。若是配置成功的话,收一下邮件,应该收到了来自登录SAP GUI的帐号中配置的邮件地址的邮件了。
 
 
注:若是只是使用SAP发送而不接收外部回复回来的邮件,即至关于一个Mail Client的功能,只须要二、4两步就能够了,也不须要更改系统参数。并且最重要的工做是Mail服务器的设置,把SAP Application的IP放到白名单,不要密码验证。服务器

相关文章
相关标签/搜索