《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > SAP軟件系統(tǒng)傳輸功能分析和應(yīng)用
SAP軟件系統(tǒng)傳輸功能分析和應(yīng)用
來源:微型機與應(yīng)用2013年第19期
董 偉,丁建華,,楊正平
(云南銅業(yè)股份有限公司,,云南 昆明 650051)
摘要: 主要分析SAP系統(tǒng)底層軟件傳輸架構(gòu),通過了解SAP系統(tǒng)底層傳輸機制,,達到能夠清楚分析傳輸故障的目的,,并擴展傳輸使用范圍,通過傳輸系統(tǒng)進行SAP系統(tǒng)補丁升級和實現(xiàn)手動傳輸?shù)木唧w方法,。
關(guān)鍵詞: SAP 系統(tǒng)管理 傳輸管理
Abstract:
Key words :

摘  要: 主要分析SAP系統(tǒng)底層軟件傳輸架構(gòu),,通過了解SAP系統(tǒng)底層傳輸機制,達到能夠清楚分析傳輸故障的目的,,并擴展傳輸使用范圍,,通過傳輸系統(tǒng)進行SAP系統(tǒng)補丁升級和實現(xiàn)手動傳輸?shù)木唧w方法。
關(guān)鍵詞: SAP,;系統(tǒng)管理,;傳輸管理

 SAP公司的ERP(Enterprise Resource Planning)軟件以其強大的行業(yè)解決方案、靈活的配置和開放性的接口等諸多優(yōu)點正逐步成為各企業(yè)的首選ERP軟件,。其ERP產(chǎn)品線非常全,,從小型企業(yè)的SAP Business One到大型企業(yè)的SAP Business Suite都提供了強大的行業(yè)解決方案。從底層技術(shù)架構(gòu)上看,,所有產(chǎn)品都離不開SAP軟件的基座:SAP NetWeaver,。而本文所要闡述的傳輸管理系統(tǒng)就是基于SAP NetWeaver的一項功能。通過傳輸管理系統(tǒng),,SAP系統(tǒng)管理員(BASIS)不僅可以將開發(fā)人員的程序,、數(shù)據(jù)庫表,、Customazing配置從開發(fā)機傳輸?shù)綔y試、生產(chǎn)機,,還可以傳輸用戶,、角色、Notes補丁等,。而且管理員在安裝SAP ERP系統(tǒng)的語言包,、Support Package、Add-On,、Notes等基礎(chǔ)功能時,,傳輸系統(tǒng)是必須使用的工具,由此可見傳輸系統(tǒng)的重要性,。本文就SAP ERP軟件的傳輸功能進行深入分析,,探討其工作原理,并引申使用多種傳輸方法實現(xiàn)其傳輸功能,。
1 SAP ERP軟件系統(tǒng)結(jié)構(gòu)及傳輸介紹
1.1 SAP NetWeaver系統(tǒng)結(jié)構(gòu)

 SAP NetWeaver是一種可以隨時用于業(yè)務(wù)運作,,服務(wù)源于架構(gòu)SOA(Service Orinted Architecture)的軟件平臺,適用于SAP的所有解決方案,。SAP NetWeaver7.0產(chǎn)品在SOA的基礎(chǔ)上,,推出面向企業(yè)級服務(wù)的SAP企業(yè)服務(wù)信息系統(tǒng)基礎(chǔ)架構(gòu)ESA(Enterprise Service Architecture)。其組件包括門戶,、應(yīng)用服務(wù)器,、商務(wù)智能解決方案以及系統(tǒng)整合和數(shù)據(jù)整合技術(shù),貫穿始終的是組合應(yīng)用的框架和產(chǎn)品生命周期管理,。在底層還可以擴展.NET,、WebSphere和其他第三方專業(yè)系統(tǒng),并為客戶提供管理不同基礎(chǔ)設(shè)施,、降低復(fù)雜層度和消減總體擁有成本的靈活性[1],,SAP NetWeaver架構(gòu)如圖1所示。


1.2 SAP ERP軟件Domain傳輸域的構(gòu)成
 構(gòu)建Domain傳輸域是SAP ERP系統(tǒng)之間實現(xiàn)傳輸?shù)那疤?。Domain傳輸域包含了所有加入到當前域的SAP ERP系統(tǒng),。在一個Domain傳輸域中只能有一個SAP ERP系統(tǒng)作為傳輸域控制器(一般按照系統(tǒng)的安裝順序,先裝DEV系統(tǒng)則定義DEV為傳輸域控制器),,其他系統(tǒng)安裝配置好后加入到當前傳輸域,。傳輸域中的SAP ERP系統(tǒng)按照一定順序構(gòu)建成一個或多個傳輸路徑,這些傳輸路徑和路徑上的SAP ERP系統(tǒng)就組成了Landscape,。因此一個Domain內(nèi)可以有多個Landscape存在,,典型的傳輸域模型如圖2所示。
 圖2中,,整個系統(tǒng)組成Domain傳輸域,,包括3個Landscape傳輸路徑:DEV—TEST—PROD,DEV—SAND,,DEV—TEST—TRAIN,。在某個Landscape傳輸路徑下,還可以存在多個不同集團之間的傳輸,。例如開發(fā),、配置系統(tǒng)分別為集團100和200,SAND系統(tǒng)為800,,則Landscape傳輸路徑DEV—SAND可以有DEV(100)—SAND(800)和DEV(200)—SAND(800)兩條傳輸路由(Transport Routes),。
圖2中所示的DEV為開發(fā)系統(tǒng),作用是進行程序開發(fā)和配置,。按照SAP的標準,,在DEV系統(tǒng)中,應(yīng)該是盡量避免有客戶數(shù)據(jù),。開發(fā)完成后,,所有正確的配置應(yīng)該傳輸?shù)綔y試系統(tǒng)中進行測試;TEST為測試用系統(tǒng),,其作用是驗證開發(fā)系統(tǒng)中所開發(fā)的程序和配置是否正確,。為了完成測試,應(yīng)該在這個系統(tǒng)中輸入少量客戶數(shù)據(jù),。如果測試的結(jié)果是某項配置沒有達到目的,,應(yīng)該返回開發(fā)系統(tǒng)修改后再進行測試,如此循環(huán)直到配置完成,;PROD為正式上線的生產(chǎn)系統(tǒng),。生產(chǎn)系統(tǒng)完全就是為了生產(chǎn)。為了保證系統(tǒng)的安全,,生產(chǎn)系統(tǒng)不允許有任何與生產(chǎn)無關(guān)的數(shù)據(jù),;SAND為沙盒系統(tǒng)(又被稱為playground),主要給顧問做程序開發(fā)測試使用,;TRAIN為培訓(xùn)系統(tǒng),,主要給關(guān)鍵用戶和最終用戶學(xué)習(xí)培訓(xùn)使用。
1.3 三種常見的Landscape結(jié)構(gòu)
 根據(jù)SAP ERP企業(yè)用戶各自的情況,,傳輸域配置各不一樣,。大多數(shù)用戶由于資金預(yù)算限制,一般會節(jié)省SAND,、TRAN等系統(tǒng)而采用圖3所示的幾種Landscape結(jié)構(gòu),。
1-system Landscape為一套硬件服務(wù)器安裝SAP R3系統(tǒng),再通過不同集團(Client)區(qū)分DEV、TEST,、PROD子系統(tǒng),,分別用作SAP的開發(fā)、測試和生產(chǎn)系統(tǒng),。
 2-system Landscape為兩套硬件服務(wù)器,,其中一般將性能大的單獨安裝為PROD用作生產(chǎn)系統(tǒng),性能小的用作開發(fā),、測試系統(tǒng),。
 3-system Landscape為3套硬件服務(wù)器,分別安裝單獨的SAP系統(tǒng)用作開發(fā),、測試,、生產(chǎn)系統(tǒng),各系統(tǒng)底層硬件可以不同,,但SAP軟件系統(tǒng)版本高度一致,。
 3種Landscape架構(gòu)各有優(yōu)劣,其中1-system Landscape最為省錢,,畢竟只用了1套硬件系統(tǒng),,通過Client的方式實現(xiàn)了開發(fā)、測試,、生產(chǎn)3套系統(tǒng)軟隔離,。但是缺點是不能實現(xiàn)真正意義的傳輸,而且3套系統(tǒng)共用同1套SAP底層數(shù)據(jù)庫,,如果操作系統(tǒng)或SAP底層軟件故障,,3套系統(tǒng)都將不能訪問和使用。3-system Landscape最安全且方便管理,。通過獨立的3套系統(tǒng),,分別建立RFC連接后,獨立的硬件系統(tǒng)即可實現(xiàn)各套系統(tǒng)之間各種數(shù)據(jù)的傳輸,。2-system Landscape介于1-system Landscape和3-system Landscape兩種架構(gòu)之間,,是一種折中的架構(gòu)方式。
1.4 集團相關(guān)數(shù)據(jù)(Client-specific)和跨集團數(shù)據(jù)(Cross-client)的區(qū)別
 在圖3中,,不論是何種Landscape形式,,DEV、QAS,、PROD都表現(xiàn)為上層獨立模塊,,彼此間數(shù)據(jù)各自獨立,此部分為集團相關(guān)數(shù)據(jù),。而跨集團數(shù)據(jù)則為底層共用數(shù)據(jù)部分,,只能通過獨立安裝SAP ERP軟件來分隔,,在圖中為“跨集團客戶定制”和“集成知識庫”。

 集團相關(guān)數(shù)據(jù)包括權(quán)限,、賬號,、角色、業(yè)務(wù)數(shù)據(jù)等,。如果傳輸請求的內(nèi)容是這部分,,傳輸一定要選對目標集團,傳輸請求只對目標集團有效,。
 跨集團客戶定制數(shù)據(jù)包括開發(fā)類數(shù)據(jù)、ABAP程序,、表定義,、各種程序補丁等。如果傳輸請求的內(nèi)容為跨集團客戶定制數(shù)據(jù),,傳輸目標集團可以任選一個(包括SAP系統(tǒng)安裝后生成的000,、001、066),,傳輸請求內(nèi)容變更到該SAP ERP系統(tǒng)的所有集團,。
1.5 SAP ERP系統(tǒng)傳輸域部署方法
 按照實際項目要求及資金預(yù)算考慮,選擇何種Landscape進行部署,。同時還要考慮特殊要求,。比如有些公司開發(fā)機、測試,、生產(chǎn)機分別部署在不同城市,。但總的來說,SAP ERP系統(tǒng)的傳輸域部署是在SAP ERP系統(tǒng)軟件部署完成后進行配置的,。
 進入TMS(Transport Management System)建立傳輸域,。首先登錄SAP GUI(SAP Graphic User Interface)客戶端后使用T-code(Transaction-code)事物代碼:STMS進入TMS管理配置界面。當SAP ERP系統(tǒng)安裝完成,,首次進入TMS進行配置時系統(tǒng)會提示配置傳輸域,。配置完成如圖4所示。

 配置完傳輸域后即進入配置Landscape階段,。點擊菜單Overview的System選項將各套系統(tǒng)添加到Domain,,點擊菜單Overview選擇Transport Routes選項進入Landscape傳輸平臺配置,然后點擊菜單Configuration的Standard Configuration選項選擇并配置需要的系統(tǒng)架構(gòu)即可,。圖5為3-system Landscape配置完成圖,。

 

 

2 SAP系統(tǒng)軟件傳輸?shù)淖饔煤凸δ?br /> 2.1 SAP系統(tǒng)軟件傳輸?shù)淖饔?/strong>
 SAP系統(tǒng)的配置和開發(fā)過程是一個持續(xù)改進的過程,即配置,、開發(fā)到測試到正式使用,,然后客戶在使用的過程中遇到問題,顧問繼續(xù)修改部分不足,重復(fù)以上的測試到正式使用的步驟,。以上每一次在開發(fā)系統(tǒng)中的創(chuàng)建和修改工作都會生成多個請求號,,跨系統(tǒng)操作則需要傳輸來完成。一旦顧問完成配置和開發(fā),,即進行請求號釋放(事物代碼SE01,,釋放之前顧問可以將多個請求號合并,減少傳輸工作量),,釋放之后系統(tǒng)后臺會產(chǎn)生傳輸文件,,并將傳輸請求號加入到目標系統(tǒng)的傳輸隊列中(對應(yīng)SAP自有表TRBAT和TRJOB)。在目標系統(tǒng)中經(jīng)過刷新請求號隊列,,系統(tǒng)會檢查有沒有后續(xù)傳輸路徑,,如果有且當前系統(tǒng)傳輸完畢,請求號又會自動產(chǎn)生新的傳輸文件,,重復(fù)上面的操作,。當然,如果事先不配置好傳輸路徑,,即傳輸?shù)哪繕讼到y(tǒng),,那么就不會生成傳輸文件了。
 事物代碼SPAM用來安裝Support Package,,事物代碼SAINT用來安裝Add-On,,事物代碼SNOTE則用來打NOTES補丁。雖然各自的功能不同,,只要是在開發(fā)系統(tǒng)中進行安裝時生成了請求號,,最終都可以調(diào)用SAP的傳輸系統(tǒng),將補丁直接傳輸?shù)綔y試和開發(fā)系統(tǒng)中,,而不用分別安裝3套系統(tǒng),。既然有請求號,其底層傳輸動作就跟配置和程序的傳輸一樣,,只是傳輸?shù)膬?nèi)容變成了補丁,。
以上傳輸過程是建立在2-system Landscape及以上Landscape架構(gòu)上的。如果用戶因特殊原因選擇1-system Landscape架構(gòu),,傳輸就只是同系統(tǒng)不同集團Client之間傳輸,。對應(yīng)圖3中1-system Landscape為“跨集團客戶定制”的改變,事物代碼為:SCC1,。
2.2 SAP軟件傳輸功能分析
 當系統(tǒng)配置完TMS和Landscape后,,SAP即在服務(wù)器上關(guān)聯(lián)了傳輸路徑和連接方式等相關(guān)內(nèi)容,用戶的所有前臺傳輸操作都將按照配置進行傳輸,。這些配置參數(shù)保存在Transport profile文件中,,文件名為tp_<domain>.PFL,,其中<domain>是配置在TMS中的傳輸域名。
 配置和程序的傳輸部署在操作系統(tǒng)層就是tp軟件的動作,。tp是SAP應(yīng)用層面反應(yīng)到操作系統(tǒng)層面進行傳輸?shù)某绦?,支持UNIX系統(tǒng)和Windows系統(tǒng)之間的傳輸。當BASIS管理員通過SAP客戶端進行請求號傳輸時,,tp首先建立需要傳輸?shù)膫鬏斕柫斜?,然后通過RFC連接到遠程系統(tǒng),建立連接后按列表進行傳輸,。在OS層面,,tp在進行數(shù)據(jù)以及版本升級補丁的傳輸時,也會調(diào)用另外一個傳輸程序R3trans,,SAP的標準文檔并沒有給出R3trans底層的傳輸過程,,涉及到系統(tǒng)升級相關(guān)的內(nèi)容SAP不建議手動操作。傳輸?shù)哪夸浳募J情況下在/usr/sap/trans/cofiles和/usr/sap/trans/data兩個目錄下,,文件名稱跟TMS實際傳輸列表一致(TMS傳輸請求號類似DEVK123456,則文件名字類似K123456.DEV),。管理員能監(jiān)控目標系統(tǒng)的該兩個目錄的變化來監(jiān)控傳輸[2],。
3 軟件傳輸功能的應(yīng)用實例分析
 經(jīng)過以上對傳輸動作的逐層分析,了解了SAP系統(tǒng)傳輸?shù)牡讓硬僮鞑襟E后,,SAP系統(tǒng)管理員完全可以直接跳開SAP傳輸管理界面,,對開發(fā)顧問生成的傳輸請求在操作系統(tǒng)層面進行手動傳輸。以某公司的SAP項目為例,,前期配置2-system Landscape架構(gòu),,后期增加預(yù)算調(diào)整為3-system Landscape后,系統(tǒng)中已經(jīng)有部分配置和開發(fā)程序傳輸?shù)絇ROD中,。這就需要手動傳輸來補QAS系統(tǒng)的傳輸請求,。傳輸請求的傳輸有一些是必須按照先后順序來傳輸?shù)摹V恍枰凑照埱筇枏牡偷礁叩呐帕许樞蜻M行傳輸就可以了,。
3.1 具體實現(xiàn)步驟
?。?)首先需要進入TMS將現(xiàn)有Landscape打亂。具體方法為添加一個Virtual System代替中間節(jié)點,,這樣各套系統(tǒng)中的傳輸記錄不會丟失,,現(xiàn)有系統(tǒng)的Landscape又獨立出來。完成后分別從DEV,、QAS,、PROD看傳輸域類似圖6所示。

?。?)進入開發(fā)系統(tǒng)的操作系統(tǒng),,轉(zhuǎn)到傳輸所使用的目錄地址:/usr/sap/trans/cofiles(控制文件)和/usr/sap/trans/datafile(數(shù)據(jù)文件)兩個目錄下,,同時找到需要傳輸?shù)恼埱筇査鶎?yīng)的文件。在目標系統(tǒng)(測試或生產(chǎn))系統(tǒng)的操作系統(tǒng),,查看以上兩個傳輸目錄,,確定需要傳輸?shù)恼埱筇柌辉谄渲小?br />  (3)通過rcp(remote file copy)命令或ftp進行手動傳輸文件拷貝(注意ftp在進行傳輸?shù)臅r候使用ASIC傳輸模式),??截愅瓿珊筮€要將屬組進行調(diào)整,讓傳輸文件能被系統(tǒng)中的SAP用戶訪問,,命令為:chown<sap用戶>:<sap管理組>文件名,。
 (4)在/usr/sap/trans/bin目錄中執(zhí)行以下命令:
 tp connect <SID>
 tp addtobuffer DEVK123456 <SID>
 tp import DEVK123456<SID>Client 800
 其中<SID>為目標系統(tǒng)的實例號,,800為目標系統(tǒng)Client號,。
tp命令格式:tp<command>[argument(s)][option(s)]。tp命令<command>參數(shù)包括Exporting,、Importing,、Buffer Actions、Disk Space,、Information,、Special Functions功能,通過正確使用帶參數(shù)的tp能完成所有SAP客戶端中的TMS傳輸工作,。
?。?)如果是補丁升級和實際數(shù)據(jù)傳輸,tp還會調(diào)用R3Trans,,命令格式:R3trans[<options>]<control_file>,。R3Trans命令<options>參數(shù)可以是以下內(nèi)容:
-c f1 f2:帶字符集轉(zhuǎn)換拷貝文件f1到文件f2。
-d:連接數(shù)據(jù)庫,,測試SAP數(shù)據(jù)庫是否可用,。
-i file:不使用控制文件導(dǎo)入文件。
-l file:列出日志文件清單,。
-m file:列出允許使用tp創(chuàng)建cofile的內(nèi)容清單,。
-t:測試?;貪L所有數(shù)據(jù)變更操作,。
-t4:跟蹤級別4,開啟開發(fā)跟蹤,。
-u<int>:無條件模式
-v:冗余,。寫入更多細節(jié)到日志文件。
-w file:指定日志文件,。默認為“trans.log”,。
-x:連接數(shù)據(jù)庫但不訪問SAP表[3],。
 (6)手動傳輸完成后,,還需要將TMS的Landscape重新恢復(fù)到正常狀態(tài),,刷新TMS檢查傳輸號是否已經(jīng)傳輸成功。
3.2 手動傳輸?shù)暮罄^操作
 手動傳輸能解決很多SAP傳輸問題,,例如開發(fā)進程超前,,傳輸卡死等。但是手動傳輸也有新問題,。SAP系統(tǒng)的客戶端進行的傳輸自動記錄了傳輸動作,,而手動則沒有。當系統(tǒng)發(fā)生了手動傳輸后,,客戶端刷新是要對比傳輸記錄的,。SAP系統(tǒng)通過將整個Landscape中各套系統(tǒng)的/usr/sap/trans/下的相關(guān)目錄文件進行列表對比,以顯示已發(fā)生和將要發(fā)生的傳輸清單,。手動傳輸后SAP系統(tǒng)需要更新這部分內(nèi)容,。而SAP的自動更新將會非常緩慢。為了解決這個問題,,SAP的TMS給出了兩種解決方法:
?。?)進行一致性檢查。包括:consistancy,;crital objects;transport tools 3個工具,。
?。?)進行校正。運行事物代碼:STMS后進入某個系統(tǒng)的Import Queue,,使用Queue菜單中的Adjust進行校正,。如開發(fā)定制的請求號多,該步驟比較慢,,可以新開客戶端用Import Monitor進行監(jiān)控,。
 傳輸請求的內(nèi)容有可能是一段程序,也有可能是對某張數(shù)據(jù)表的修改,。在進行程序傳輸?shù)臅r候如果發(fā)現(xiàn)傳輸程序一致處于運行狀態(tài)“RUNNING EXECUTION OF REPORTS AFTER PUT”,,這也有可能是數(shù)據(jù)表的問題。一種可能是數(shù)據(jù)表正在被訪問,,而傳輸?shù)恼埱笫歉脑摂?shù)據(jù)表,,則必須事先查看是否有人正在使用該表;另外一種情況是數(shù)據(jù)表所需要的空間不夠,,雖然sap和oracle都能自動擴容空間,,但如果所擴容空間的增量跟不上傳輸需求,,就會導(dǎo)致傳輸卡死的情況。通過事物代碼SE16N查看TMSTLOCK表,,該表中的記錄鎖定了傳輸故障的傳輸請求條目,。如強制解鎖,還要監(jiān)控另外兩張傳輸相關(guān)的表TRBAT和TRJOB,。TRBAT記錄傳輸工作列表,,TRJOB記錄傳輸狀態(tài)列表。
 在使用以上幾種方法進行檢查和校正需要停止一切tp和R3Trans軟件的訪問活動,。因此操作之前先用事物代碼SM02發(fā)個消息,,通知所有有權(quán)限的顧問,避免與其他開發(fā)人員或管理員的操作發(fā)生沖突,。
 SAP的BASIS管理員主要負責系統(tǒng)的安裝,、配置、管理,、監(jiān)控,、維護、調(diào)優(yōu)工作,。這些工作都需要掌握傳輸系統(tǒng)才能很好的完成,。正常情況下管理員只需要通過TMS傳輸管理系統(tǒng)或Solution Manager管理機進行傳輸?shù)墓芾砭S護。但當傳輸系統(tǒng)出現(xiàn)卡死,,項目開發(fā)硬件不到位后期調(diào)整Landscape等情況時,,手動傳輸就變得尤為重要。掌握底層傳輸技術(shù)手段,,SAP系統(tǒng)管理員能將應(yīng)用層面的傳輸工作轉(zhuǎn)到OS層面進行,,繞開SAP R3系統(tǒng)對傳輸過程的監(jiān)控,不僅效率更高,,而且能繞開應(yīng)用層面的傳輸報錯等情況進行傳輸,,這不僅為系統(tǒng)管理員提供了解決傳輸問題的途徑,也提高了管理員進行系統(tǒng)維護的效率,。不論是整個項目的開發(fā)和業(yè)務(wù)應(yīng)用都將在此受益,。因此作為SAP系統(tǒng)管理員,掌握底層傳輸機制也是非常重要的,。
參考文獻
[1] 石堅燕.SAP NetWeaer--SAP新一代業(yè)務(wù)平臺[M].北京:東方出版社,,2005.
[2] 周旋.SAP R/3技術(shù)與實現(xiàn)[M].北京:機械工業(yè)出版社,2010.
[3] 希格里德·哈格曼,,藍·威爾.SAP R/3系統(tǒng)管理[M].北京:東方出版社,,2006.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。