Table of Contents

Open all
Close all
Foreword
13
Introduction
17
1 About Business Rules
21
1.1 Definition
21
1.2 Ubiquity of Business Rules
22
1.3 Business Rule Management Systems
23
1.3.1 Rule Authoring Environment
24
1.3.2 Rule Repository
25
1.3.3 Rule Engine
26
1.4 Rule Representation
26
1.4.1 Rules and Rulesets
26
1.4.2 Rule Flows
27
1.4.3 Decision Tables
27
1.4.4 Decision Trees
28
1.4.5 Formulas
28
1.4.6 Scorecards
29
1.5 Application Architecture
29
1.5.1 Traditional Application Design
29
1.5.2 Application Design with Business Rules Management
30
1.5.3 Usage Patterns
31
1.6 Business Rules at SAP
32
1.6.1 The Origin of BRFplus
33
1.6.2 BRFplus Rules Authoring—Features
33
1.6.3 BRFplus Rules Engine—Features
34
1.6.4 BRFplus Rules Repository—Features
34
1.6.5 SAP’s Business Rules Strategy and Recommendations
35
1.6.6 Outlook
37
2 BRFplus—a Brief Walk-Through
39
2.1 BRFplus Workbench
39
2.1.1 Prerequisites
39
2.1.2 Starting the BRFplus Workbench
40
2.1.3 UI Execution API
42
2.1.4 Layout
43
2.1.5 Help
46
2.1.6 Personalization
49
2.2 Workflow
53
2.3 The Example
53
2.4 Application—Container for BRFplus Objects
55
2.5 Function—Interface Between Code and Rules
57
2.6 Data Object—Data Carriers
59
2.7 Ruleset—Collection of Rules
61
2.8 Rule—Central Entity
63
2.9 Expressions—Computational Units
64
2.10 Actions—Performing Tasks Outside of BRFplus
67
2.11 Catalog—Visualization and Navigation Help
68
2.12 Simulating and Testing Rules
69
2.13 Function Processing and Rules Evaluation
72
2.14 BRFplus Releases
73
3 Tutorials
77
3.1 Creation of a Pricing Application with the BRFplus Workbench
77
3.1.1 Application
77
3.1.2 Function
79
3.1.3 Ruleset
86
3.1.4 Rule
91
3.1.5 Formula Expressions
94
3.1.6 Decision Tables
97
3.1.7 Activation
102
3.1.8 Simulation
104
3.2 Creation of a Pricing Application with the API
106
3.2.1 Application
107
3.2.2 Function
108
3.2.3 Ruleset
111
3.2.4 Ruleset Variables
112
3.2.5 Decision Tables as Initialization Expressions
113
3.2.6 Rule
116
3.2.7 Formula Expressions
118
3.2.8 Embedding the Function into ABAP Code
119
4 Object Management
121
4.1 Basic Object Handling
122
4.1.1 Object Creation
122
4.1.2 Object Selection
123
4.1.3 Object Maintenance
126
4.2 Basic Object API
130
4.2.1 Naming Conventions
130
4.2.2 Interface Hierarchy
132
4.2.3 Types, Constants, and Messages
133
4.2.4 The Factory Class: Central Point of Access
134
4.2.5 Transactional Behavior
135
4.3 Common Object Settings
142
4.3.1 Attributes
142
4.3.2 Names
145
4.3.3 Versioning
147
4.3.4 Texts and Documentation
151
4.3.5 Access Level
155
4.4 Applications
157
4.4.1 Application Creation
157
4.4.2 Application Properties
159
4.4.3 Application API
161
4.5 Catalogs
164
5 Objects
169
5.1 Functions
169
5.1.1 Mode of Operation
170
5.1.2 Signature
171
5.1.3 Simulation, Web Services, Code Generation, and Tracing
172
5.1.4 Function API
173
5.2 Data Objects
180
5.2.1 Data Objects API
182
5.2.2 Elements
185
5.2.3 Structures
198
5.2.4 Table
201
5.3 Rulesets
202
5.3.1 Ruleset Header
202
5.3.2 Rules in the Ruleset
205
5.3.3 Deferred Ruleset Processing
208
5.3.4 Ruleset API
209
5.4 Rules
211
5.5 Expressions
215
5.5.1 Expression API
217
5.5.2 Constant Expressions
219
5.5.3 Value Range Expressions
220
5.5.4 Direct Values and Value Ranges
223
5.5.5 Boolean Expressions
225
5.5.6 BRMS Connector Expression
229
5.5.7 Case Expressions
234
5.5.8 DB Lookup Expressions
236
5.5.9 Decision Table Expressions
241
5.5.10 Decision Tree Expressions
249
5.5.11 Dynamic Expressions
251
5.5.12 Formula Expressions
253
5.5.13 Function Call Expressions
258
5.5.14 Loop Expressions
260
5.5.15 Procedure Call Expressions
263
5.5.16 Random Number Expressions
269
5.5.17 Search Tree Expressions
270
5.5.18 Table Operation Expressions
275
5.5.19 XSL Transformation Expressions
279
5.6 Actions
281
5.6.1 Actions API
283
5.6.2 Log Message Action
283
5.6.3 Procedure Call Actions
285
5.6.4 Send Email Action
286
5.6.5 Start Workflow Actions
287
5.6.6 Workflow Event Actions
293
6 Tools and Administration
297
6.1 Simulation Tool
299
6.2 XML Export and Import
304
6.2.1 XML Export Tool
305
6.2.2 XML Import Tool
306
6.2.3 Tracking of Imported Object Versions
307
6.2.4 XML Format
308
6.2.5 XML Export and Import API
311
6.3 Web Service Generation Tool
314
6.4 Application Usage Tool
318
6.5 Application Administration Tool
321
6.5.1 Deletion of Unused Objects
323
6.5.2 Deletion of Marked Objects
324
6.5.3 Discarding of Object Versions
325
6.5.4 Cleanup Database
327
6.5.5 Reorganization of Objects
329
6.6 Transport Analysis Tool
330
6.6.1 Transport in Detail
330
6.6.2 Usage of the Tool
333
7 Advanced
337
7.1 Performance
337
7.1.1 Performance Relevant Factors
338
7.1.2 Performance Measurements
343
7.2 Tracing
347
7.2.1 Technical Trace
349
7.2.2 Lean Trace
353
7.3 Extending BRFplus
369
7.3.1 Application Exits
370
7.3.2 Custom Formula Functions
378
7.4 User Interface Integration
385
7.4.1 Object Manager
386
7.4.2 Embedding the UI
389
7.4.3 Object Manager Configuration
392
7.4.4 Object Changes and Events
394
8 Deployment
399
8.1 Change and Transport System
399
8.2 Local Scenarios
401
8.2.1 Application Exit for Object Changeability
402
8.2.2 Combination of Objects with Different Storage Types
404
8.2.3 Creation of Objects with the API
405
8.3 Remote Scenarios
405
9 Methodology
409
9.1 Classic Approach to Software Development
409
9.2 Classification of System Building Blocks
411
9.3 Model for Business Rules
412
9.4 Action Plan
413
9.4.1 Team Setup
414
9.4.2 Creation of Sketch
414
9.4.3 Definition of Business Rule Service
415
9.4.4 Education in BRFplus
417
9.4.5 Creation of Draft
417
9.4.6 Refinement of Business Rule Service
420
9.4.7 Analysis for Extensions
420
9.4.8 Creation of First Version
422
9.4.9 Implementation of Business Rule Service in Business Process
422
9.4.10 Testing
423
9.5 Effort Estimation
423
Appendices
425
A Formula Functions
425
B The Authors
431
Index
433