• Learn how to develop your own add-ons and custom-specific solutions to SAP Business ByDesign
• Work with the Scripting Language to implement new business objects, and design your own UIs
• Discover how to sell and distribute your custom applications
Get ready for a new era of SAP programming! This book is your first and ultimate guide to developing for SAP Business ByDesign. See the new development environment and the Scripting Language in action, understand how to model and implement business objects, and design your own UIs. Begin a journey deep into the inner workings of SAP’s new business solution!
Studio and Scripting Language
Explore all features and functions of the new development environment. Learn how to implement new business objects using the SAP Business ByDesign Scripting Language.
Business Objects and UIs
Extend existing business objects and UIs, design new UIs, and define your own business objects with nodes, associations, actions, queries, and messages.
Full-Fledged Applications
Integrate your business objects and UIs to create new applications. Enrich them with analytical functions, and integrate them with output and web services as well as workflows.
Architecture and Platform Fundamentals
Understand the architecture building blocks and fundamental business concepts of SAP Business ByDesign, and learn how to work with built-in reuse services.
Tutorials, Tutorials, Tutorials
Find over 70 hands-on tutorials, which ensure that you won't just understand the theory, but also learn by doing everything yourself.
Highlights
• SAP Business ByDesign studio and Scripting Language
• Business object modeling, implementation, and extension
• User interface extension and creation
• Business configuration
• Business analytics
• Service integration
• Business object engine, user interface engine, and extensibility framework
• Business Partner, Organizational Unit, Party, and Identity
• Lifecycle management and SAP Store
The Author
Since 2009, Dr. Thomas Schneider has been the responsible architect for the partner development infrastructure in SAP Business ByDesign. His in-depth knowledge of the technology and his customer-focused background as former head of the Center of Expertise for performance in SAP Active Global Support make him the perfect author for this book.
Table of Contents
- ... Foreword ... 15
- ... About This Book ... 17
- ... Introduction ... 21
- 1 ... Getting Started ... 37
- 1.1 ... Introducing Site Management ... 37
- 1.2 ... Introducing SAP Business ByDesign Studio ... 42
- 1.3 ... The First Development Project ... 43
- 1.4 ... Summary ... 46
- 2 ... Architecture Overview ... 47
- 2.1 ... Architecture Overview ... 47
- 2.2 ... Repository ... 54
- 2.3 ... Business Object Engine ... 56
- 2.4 ... User Interface Engine ... 60
- 2.5 ... Search Engine ... 64
- 2.6 ... Integration of Add-ons with SAP Business ByDesign ... 66
- 2.6.1 ... Component Model ... 68
- 2.6.2 ... Public Model ... 71
- 2.7 ... Summary ... 73
- 3 ... Business Object Modeling ... 75
- 3.1 ... Introduction to Business Objects ... 76
- 3.2 ... Defining Business Objects, Nodes, and Associations ... 79
- 3.2.1 ... Defining Business Objects ... 79
- 3.2.2 ... Defining Business Object Nodes ... 80
- 3.2.3 ... Defining Object Relationships ... 81
- 3.3 ... Defining Elements and Data Types ... 88
- 3.3.1 ... Core Data Type ... 89
- 3.3.2 ... Global Data Types ... 90
- 3.3.3 ... Important Data Types ... 92
- 3.4 ... Adjusting Business Object Data for the User Interface and Other Consumers ... 98
- 3.5 ... Defining Actions ... 100
- 3.5.1 ... Defining the Status and Action Management ... 101
- 3.5.2 ... Site Reservation: Status and Action Model ... 103
- 3.5.3 ... Defining Actions that Do Not Belong to Status and Action Management ... 110
- 3.6 ... Defining Queries ... 111
- 3.7 ... Defining Messages ... 117
- 3.8 ... Example: Sales Order ... 118
- 3.9 ... Naming Conventions and Useful Guidelines ... 122
- 3.9.1 ... Naming Conventions for Business Objects and Nodes ... 124
- 3.9.2 ... Naming Conventions for Business Object Node Elements ... 125
- 3.9.3 ... Naming Convention for Data Types ... 126
- 3.9.4 ... Naming Convention for Queries ... 127
- 3.9.5 ... Order of Elements in a Business Object Node ... 127
- 3.9.6 ... Messages ... 127
- 3.10 ... Summary ... 128
- 4 ... User Interface ... 131
- 4.1 ... User Interface Fundamentals ... 131
- 4.1.1 ... Floorplan Types ... 131
- 4.1.2 ... Generation and Configuration of Screens ... 133
- 4.1.3 ... UI Model View ... 137
- 4.1.4 ... Data Model ... 140
- 4.1.5 ... Controller ... 141
- 4.2 ... Configuring a Form Pane ... 143
- 4.2.1 ... Configuring Field Properties and Action Properties ... 143
- 4.2.2 ... Adding a User Interface Field or a Button to a Form ... 150
- 4.2.3 ... Adding and Removing Panes ... 153
- 4.2.4 ... Configuring the Identification Region ... 154
- 4.3 ... Configuring a List Pane ... 154
- 4.3.1 ... Configuring a Preview Pane ... 158
- 4.3.2 ... Defining Query and Default Set ... 159
- 4.3.3 ... Configuring Find Form and List Pane Variant ... 164
- 4.4 ... Using Frontend Scripting ... 165
- 4.4.1 ... Implementing Dynamic Properties ... 166
- 4.4.2 ... Filling Data Lists ... 169
- 4.5 ... Configuring Object-Based Navigation ... 171
- 4.5.1 ... Configuring a Create Scenario ... 174
- 4.5.2 ... Configuring a Show Details Scenario ... 175
- 4.5.3 ... Configuring a Create with Reference Scenario ... 177
- 4.5.4 ... OBN Troubleshooting ... 181
- 4.6 ... Configuring Work Center and Work Center View ... 182
- 4.7 ... Defining Authorizations ... 185
- 4.7.1 ... Authorization Fundamentals ... 185
- 4.7.2 ... Defining an Authorization Check ... 188
- 4.7.3 ... Defining an Instance Authorization Check ... 190
- 4.7.4 ... Defining Segregation of Duties ... 194
- 4.8 ... Configuring Embedded Components ... 195
- 4.9 ... Mobile User Interfaces ... 201
- 4.10 ... Analyzing Issues in User Interfaces ... 202
- 4.11 ... Summary ... 207
- 5 ... Business Object Implementation ... 209
- 5.1 ... SAP Business ByDesign Scripting Language ... 209
- 5.1.1 ... Scripting Language Syntax Basics ... 210
- 5.1.2 ... Write Access to Business Objects ... 219
- 5.1.3 ... Read Access to Business Objects ... 226
- 5.1.4 ... Messages ... 232
- 5.1.5 ... Functions ... 233
- 5.2 ... Implementing a Business Object—Fundamentals ... 234
- 5.2.1 ... Transaction ... 234
- 5.2.2 ... Locks ... 237
- 5.3 ... Implementing a Business Object—Example ... 239
- 5.3.1 ... Event: AfterModify ... 239
- 5.3.2 ... Action: Check ... 242
- 5.3.3 ... Action: Copy ... 244
- 5.3.4 ... Status Action: Release ... 245
- 5.3.5 ... Status Action: Start Sales Processing ... 246
- 5.3.6 ... Status Action: Confirm Sales Processing ... 247
- 5.3.7 ... Action: GetAvailableSites ... 249
- 5.3.8 ... Action: Pick ... 250
- 5.3.9 ... Action: MaintainSalesOrder ... 251
- 5.3.10 ... Event: BeforeSave ... 255
- 5.4 ... Recording and Evaluating a Trace ... 256
- 5.5 ... Implementing a Number Range ... 260
- 5.6 ... Summary ... 264
- 6 ... Business Configuration ... 267
- 6.1 ... Business Configuration Fundamentals ... 267
- 6.1.1 ... Business Configuration Implementation and Change Project ... 267
- 6.1.2 ... Business Configuration Architecture ... 269
- 6.1.3 ... Business Configuration Use Cases for Add-On Solutions ... 271
- 6.2 ... Defining Business Adaptation Content ... 274
- 6.3 ... Defining Business Configuration Sets (BC Sets) ... 278
- 6.3.1 ... Business Configuration Sets Based on New BCOs ... 278
- 6.3.2 ... Business Configuration Sets Based on BCOs from SAP ... 280
- 6.4 ... Defining Scoping Rules ... 281
- 6.5 ... Defining an Implementation Project Template ... 282
- 6.6 ... Summary ... 283
- 7 ... Business Object and User Interface Extensions ... 285
- 7.1 ... Extensibility Fundamentals ... 285
- 7.2 ... Adding Extension Fields ... 290
- 7.2.1 ... Adding an Extension Field to a Business Object ... 290
- 7.2.2 ... Adding Extension Fields to User Interfaces ... 293
- 7.3 ... Implementing Business Logic Extensions ... 297
- 7.4 ... Adding Embedded Components and Mashups to User Interfaces ... 302
- 7.4.1 ... Adding Embedded Components ... 302
- 7.4.2 ... Developing a Supplemental Business Object ... 304
- 7.4.3 ... Configuring a Mashup ... 310
- 7.5 ... Other User Interface Extensions ... 320
- 7.5.1 ... Renaming a Label or Hiding a UI Element ... 320
- 7.5.2 ... Adapting Work Centers ... 321
- 7.5.3 ... Adapting Work Center Views ... 322
- 7.6 ... Summary ... 324
- 8 ... Business Analytics ... 327
- 8.1 ... Business Analytics Fundamentals ... 327
- 8.2 ... Defining Basic Data Sources ... 332
- 8.3 ... Defining Reports ... 336
- 8.3.1 ... Defining a Report ... 336
- 8.3.2 ... Key Figures ... 337
- 8.3.3 ... Characteristics ... 344
- 8.3.4 ... Report Assignment ... 345
- 8.4 ... Adjusting Business Object Data for Analytics ... 345
- 8.5 ... Defining Joined and Combined Data Sources ... 346
- 8.5.1 ... Defining a Joined Data Source ... 347
- 8.5.2 ... Defining a Combined Data Source (Union) ... 350
- 8.6 ... Adding Extension Fields to Data Sources and Reports ... 351
- 8.7 ... Summary ... 352
- 9 ... Service Integration ... 355
- 9.1 ... Output Management ... 358
- 9.1.1 ... Output Management Fundamentals ... 358
- 9.1.2 ... Installing Adobe LiveCycle Designer ... 360
- 9.1.3 ... Creating a Print Form for a New Business Object ... 361
- 9.1.4 ... Adopting Existing Form Templates ... 366
- 9.1.5 ... Adding Extension Fields to Existing Form Templates ... 368
- 9.1.6 ... Extending an Existing Form Data Type ... 369
- 9.2 ... Business Task Management ... 370
- 9.2.1 ... Business Task Management Fundamentals ... 370
- 9.2.2 ... Implementing an Approval Scenario ... 372
- 9.3 ... Internal Communication ... 378
- 9.3.1 ... Internal Communication Fundamentals ... 378
- 9.3.2 ... Defining the Interaction Structure and Mapping ... 382
- 9.3.3 ... Implementing the Process Integration Choreography ... 388
- 9.3.4 ... Defining the Conflict and Error Handling and Monitoring ... 394
- 9.3.5 ... Adding Extension Fields to an Existing Process Integration ... 397
- 9.4 ... External Web Services ... 398
- 9.4.1 ... Defining an External Web Service ... 399
- 9.4.2 ... Defining Authorizations for a Web Service ... 400
- 9.4.3 ... Using Web Services ... 403
- 9.4.4 ... Implementing Conflict and Error Handling ... 407
- 9.5 ... File Input ... 409
- 9.6 ... Summary ... 410
- 10 ... SAP Business ByDesign Platform Objects and Services ... 413
- 10.1 ... SAP Business ByDesign Platform Overview ... 413
- 10.2 ... Business Partner, Organizational Unit, Party, and Identity ... 417
- 10.2.1 ... Business Partner ... 417
- 10.2.2 ... Organizational Unit ... 419
- 10.2.3 ... Party ... 422
- 10.2.4 ... Employee and Manager Assignment ... 422
- 10.2.5 ... Identity ... 424
- 10.2.6 ... Summary ... 424
- 10.3 ... Reuse Services for Address, Text, and Attachment ... 425
- 10.3.1 ... Managing Addresses ... 425
- 10.3.2 ... Managing Texts ... 428
- 10.3.3 ... Managing Attachments ... 430
- 10.4 ... Cost Objects ... 431
- 10.5 ... Summary ... 433
- 11 ... Lifecycle Management ... 435
- 11.1 ... Preparation Phase ... 436
- 11.1.1 ... Getting Detailed Information on SAP Business ByDesign and SAP Business ByDesign Studio ... 436
- 11.1.2 ... Deciding on the Solution Type ... 438
- 11.1.3 ... Designing a Solution ... 440
- 11.1.4 ... Installing SAP Business ByDesign Studio ... 441
- 11.1.5 ... Creating Users and Test Data ... 442
- 11.2 ... Development Phase ... 445
- 11.2.1 ... Creating a Solution ... 445
- 11.2.2 ... Getting Support ... 445
- 11.3 ... Deployment Phase ... 447
- 11.3.1 ... Testing the Solution (Test Deployment) ... 449
- 11.3.2 ... Quality Review ... 450
- 11.3.3 ... Listing the Solution in the SAP Store ... 451
- 11.3.4 ... Deploying Customer-Specific Solutions ... 453
- 11.4 ... Operation and Support Phase ... 454
- 11.4.1 ... Purchasing and Activating a Solution ... 454
- 11.4.2 ... Working with Customer Incidents ... 455
- 11.5 ... Continuous Improvement Phase ... 456
- 11.6 ... Summary ... 458
- ... Appendices ... 461
- A ... Information Sources ... 461
- B ... Glossary ... 469
- ... Index ... 475