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

前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
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的功能,只需要2、4两步就可以了,也不需要更改系统参数。而且最重要的工作是Mail服务器的设置,把SAP Application的IP放到白名单,不要密码验证。
【ABAP系列】SAP 如何用ABAP实现自动发送外部邮件的更多相关文章
- 【ABAP系列】SAP ABAP BAPI_REQUISITION_CREATE创建采购申请
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP BAPI_RE ...
- 【ABAP系列】SAP ABAP 字符编码与解码、Unicode
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 字符编码与解码 ...
- 【ABAP系列】SAP ABAP下载带密码的Excel文件
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP下载带密码的Ex ...
- 【ABAP系列】SAP ABAP 高级业务应用程序编程(ABAP)
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 高级业务应用程 ...
- 【ABAP系列】SAP ABAP Break Point
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP Break P ...
- 【ABAP系列】SAP ABAP替代校验全解析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP替代校验全解析 ...
- 【ABAP系列】SAP ABAP 为表维护生成器创建事务代码
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 为表维护生成器 ...
- 【ABAP系列】SAP ABAP DATA - COMMON PART
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP DATA - ...
- 【ABAP系列】SAP MAC GUI750安装过程
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP MAC GUI750安装 ...
随机推荐
- [CQOI2013]新Nim游戏(博弈论,线性基)
[CQOI2013]新Nim游戏 题目描述 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根 ...
- 十一、S3C2440 裸机 — GPIO
11.1 GPIO 介绍 11.1.1 GPIO 管脚 GPIO 即是输入输出端口,S3C2440A 包含了 130 个多功能输入/输出口引脚并且它们为如下显示的八个端口: 端口 A(GPA):25 ...
- xavier_uniform/xavier_normal
import math from torch.autograd import Variable import torch import torch.nn as nn import warnings w ...
- UEditor富文本编辑器简单使用
UEditor富文本编辑器简单使用 一.下载地址:https://ueditor.baidu.com/website/ 官网中并没有 python 版本的 UEditor 富文本编辑器,本文简单介绍 ...
- jquery 查找元素,并判断隐藏或显示
html <div class="panel-heading"> <h4 class="panel-title"> <a data ...
- k-means伪代码
1.初始化k个簇中心. 2.更新所有样本点簇归属:样本点到哪个簇中心点最近就属于哪个簇. 3.重新计算每个簇的中心点(直到簇中心点不再变化或达到更新最大次数) #k-means伪代码 import n ...
- jmeter使用jdbc获取注册验证码进行注册
自动化工具测试注册功能时,往往会遇到验证码,这个烦人的验证码怎么能够解决掉呢? 通常有两种方法 让开发禁用注册码,或在测试环境写个固定的验证码 在jmeter中用 jdbc获取数据库中验证码 今天通过 ...
- 【NOIP2016提高A组集训第13场11.11】最大匹配
题目 mhy12345学习了二分图匹配,二分图是一种特殊的图,其中的点可以分到两个集合中,使得相同的集合中的点两两没有连边. 图的"匹配"是指这个图的一个边集,里面的边两两不存在公 ...
- 使用net命令启动MongoDB服务发生系统错误,返回值为5
使用net命令启动MongoDB服务发生系统错误,返回值为5 错误的截图如下: 解决的方案是以管理员的身份运行命令窗口,参考如下: https://www.cnblogs.com/fanblogs/p ...
- sqlserver 中批量删除\r\n 换行符
从Excel中向sqlserver 中批量粘贴数据时 可能会粘贴进去换行符 \r\n 这时候在查询时候是看不见的 只有把该字段赋值到‘’中才能发现换行. 批量替换语句: update [表名]set ...