前言部分
大家可以關注我的公眾號,公眾號里的排版更好,閱讀更舒適。
正文部分
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放到白名單,不要密碼驗證。