【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放到白名單,不要密碼驗證。服務器

相關文章
相關標籤/搜索