即使努力去嘗試最小化SAP系統中的自定義內容,一般仍是沒法避免大量的自定義業務邏輯。在過去,這意味着須要在系統的各類地方引入自定義ABAP代碼,包括user-exits,enhancement,BAdi和自定義程序等等。考慮到SAP系統的複雜性和相互依賴性,人們不得不當心翼翼地管理基於ABAP的自定義內容,以保證不一樣的功能區域的業務邏輯一致、且不重複。html
如今,Business Rule Framework Plus(業務規則框架,如下簡稱BRFplus或BRF+)來了,它是SAP推出的新功能,能夠在一個位置、經過可複用的方式管理你的全部自定義業務邏輯。web
本文連接:http://www.cnblogs.com/hhelibeb/p/9021665.htmlexpress
英文標題:BRFplus - a hidden gem within your SAP system編程
api
瀏覽器
app
從技術的觀點看,BRF+最多見的用例是在user-exits和加強中的自定義業務邏輯實施中。事實上,在這些狀況下,BRF+是咱們實現自定義業務邏輯的首選實現手段。它在較高層面上能夠被描述爲2步:框架
很重要的一點是,在上述的方式中你仍是須要寫一些ABAP代碼來調用BRF+ function。(和徹底使用ABAP代碼實現業務邏輯的)區別在於,一般來講,在這種狀況下,ABAP代碼只負責調用BRF+,不會直接包含業務邏輯。你可能要問這樣作的好處在哪裏。它的好處是:工具
最後一點值得詳細闡述。SAP一般建議經過BRF+工具讓業務用戶代替ABAP開發者來做爲他們本身的邏輯的維護者。坦白說,這種建議有點誇張(exaggerattion)。實際上,BRF+元素(function, expression等)的建立依然是一件至關技術性的活動。大部分沒有技術背景的SAP專家可能會發現,想要掌握BRF+的所有內容是件具備挑戰性的事情。瞭解一些基本的編程概念,如變量和循環,會對BRF+的使用起很大幫助,即使你只是經過鼠標來建立這些對象,而不是寫ABAP代碼。可是撇開陡峭的學習曲線不說,在具有足夠多的學習時間和努力的狀況下,SAP功能分析師固然是能夠精通BRF+的,由此即可以在不依賴開發者的狀況下構建複雜的自定義業務邏輯。然而,業務用戶徹底是另外一回事。業務用戶對BRF+進行某些實驗性的調整是可能的,例如改變已有的decision table中的值,可是BRF+內的主要變動仍是須要由IT團隊進行。學習
BRF+中包含不少了不得的特性,使得它是一個傑出的業務規則框架。
在許多方面上expressions是BRF+中第一個使人心動的東西。它們是預包裝的邏輯對象,能夠在BRF+環境中大大加速業務規則的建模。雖然BRF+中支持多種表達式類型,但最經常使用的一種是Decision Table。若是你熟悉SAP系統中的條件技術,decision table會給你類似的感受,而且它會提供擴展性更強的功能。除了能夠從表的頂部檢索到底部直到找到匹配的記錄爲止外,你也能夠維護輸入值爲多值的range、sets、經過空白來表示任意值、以及使用其它一些邏輯操做符等。
定製和主數據應用(customizing and master data applications)是BRF+中的一個靈巧的特性。定製應用須要使用SAP transports來在不一樣SAP系統之間移動修改,相反主數據應用容許直接在每一個SAP系統和client直接進行修改。在你將主數據值,好比客戶、供應商、物料等是業務邏輯的一部分時特別有用。記住,由於在多數狀況下BRF+經過ABAP調用,function自己須要存在在一個定製應用中。可是這些定製級別的function接下來能夠利用存在於主數據級別應用下的expressions(例如decision tables)。一言蔽之,你能夠在一個業務規則中混合使用定製和主數據BRF+對象。
BRF+中的建模大多經過「點擊」的用戶界面進行,經過事務代碼BRF+訪問它。你能夠經過簡單地右擊屏幕左側的節點來建立新的對象,而且經過上下文菜單選擇合適的條目。
你也能夠經過API和BRF+交互。這意味着你不只能夠經過事務BRF+來建立和更新BRF+對象,你也能夠經過標準交付ABAP類和方法(standard delivered ABAP classes and methods)實現一樣的事情。例如,在某個場景中咱們須要存儲美國的柴油平均價到BRF+的decision table中。咱們能夠建立一個自定義ABAP程序經過公網服務來查找上週的柴油價格,而且最後經由BRF+ API更新decision table。
BRF+ functions能夠很容易地暴露爲web services。這意味着你能夠同時在SAP和非SAP系統中消費BRF+業務邏輯。
BRF+伴隨着大量的工具,能夠幫助你開發、導入/導出、檢查和BRF+對象和排查故障。其中某些工具能夠從BRF+事務中的菜單訪問,不過最簡單的查找他們的方式是在SE38中運行程序FDT_HELPERS。較早地瞭解這些工具,你就能夠在未來省下不少時間。例如,下圖裏選中的工具容許你快速地識別和解決大部分有關係統間傳輸BRF+對象的問題。
總而言之,大部分SAP客戶均可以在不須要額外許可證的條件下使用BRF+。咱們鼓勵你仔細瞭解BRF+、而且開始爲你的自定義業務邏輯需求使用它。
個人BRF+教程系列:http://www.cnblogs.com/hhelibeb/tag/BRFplus/