即使努力去尝试最小化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/