Introduction 15 Acknowledgments 21 1 Introducing the Web

advertisement
... Introduction ... 15
... Acknowledgments ... 21
1 ... Introducing the Web Client UI Framework ... 23
1.1 ... Main Components of the Web Client UI ... 24
1.1.1 ... Header Area ... 25
1.1.2 ... Navigation Area ... 28
1.1.3 ... Entry Page ... 30
1.1.4 ... Search Page ... 36
1.1.5 ... Overview Page (OVP ... 39
1.1.6 ... Assignment Blocks ... 41
1.1.7 ... Interaction Concept ... 42
1.2 ... Architecture ... 43
1.3 ... Tools in Web Client UI ... 46
1.3.1 ... Component Work Bench ... 48
1.3.2 ... Skins and Skin Work Bench ... 49
1.3.3 ... Configuration and Personalization ... 53
1.4 ... Extensibility ... 58
1.4.1 ... Overview ... 58
1.4.2 ... Design Layer ... 64
1.4.3 ... Web Service Tool ... 67
1.4.4 ... Groupware ... 68
1.4.5 ... Office and Adobe Integration ... 69
1.5 ... Enterprise Search ... 69
1.5.1 ... Overview ... 69
1.5.2 ... Search Modeling Workbench ... 71
1.6 ... Collaboration ... 72
1.6.1 ... RSS Feeds ... 72
1.6.2 ... Favorites and Tags ... 72
1.6.3 ... Central Sharing Tool ... 73
1.7 ... Sample Business Scenario ... 74
1.8 ... Summary ... 76
2 ... Introducing the GenIL Component ... 79
2.1 ... Introduction ... 80
2.1.1 ... Web Client UI Architecture ... 80
2.1.2 ... Introduction to BOL and GenIL ... 81
2.2 ... Creating your First GenIL Model ... 84
2.2.1 ... GenIL Model Overview ... 85
2.2.2 ... Defining a GenIL Model ... 86
2.2.3 ... Creating a GenIL Model ... 87
2.3 ... Implementing a GenIL Query ... 95
2.3.1 ... Defining the Backend APIs ... 97
2.3.2 ... Implementing GET_DYNAMIC_QUERY_RESULT ... 98
2.3.3 ... Implementing Helper Methods ... 102
2.3.4 ... Conclusion ... 104
2.4 ... Introducing the BOL Browser ... 105
2.5 ... Retrieving a BOL Entity ... 106
2.5.1 ... BOL Splitting ... 107
2.5.2 ... Container Objects ... 107
2.5.3 ... Implementing GET_OBJECTS ... 108
2.5.4 ... Bookings Backend API ... 112
2.5.5 ... Reading Dependent Object Data ... 114
2.5.6 ... Testing the Implementation ... 123
2.6 ... Handling Container Lists and Objects ... 125
2.7 ... Summary ... 129
3 ... Completing Your GenIL Component ... 131
3.1 ... Transaction Behavior ... 132
3.2 ... Requesting a Lock ... 135
3.2.1 ... Implementing LOCK_OBJECT ... 135
3.2.2 ... Backend API ... 136
3.2.3 ... Testing LOCK_OBJECT ... 139
3.3 ... Creating a Root Object ... 139
3.3.1 ... Implementing CREATE_OBJECTS ... 140
3.3.2 ... Backend API ... 141
3.3.3 ... Testing CREATE_OBJECTS ... 143
3.4 ... Implementing the Object Modification Logic ... 144
3.4.1 ... Implementing MODIFY_OBJECTS ... 146
3.4.2 ... Data Modification via Backend APIs ... 151
3.4.3 ... Modifications to Child Objects ... 152
3.5 ... Persisting the Changes ... 160
3.5.1 ... Implementing SAVE_OBJECTS ... 162
3.5.2 ... Backend API for Data Persistence ... 164
3.5.3 ... Testing SAVE_OBJECTS ... 167
3.6 ... Deleting a Root Object ... 168
3.6.1 ... Implementing DELETE_OBJECTS ... 170
3.6.2 ... Backend API ... 172
3.6.3 ... Testing SAVE_OBJECTS ... 174
3.7 ... The Handler Concept ... 174
3.7.1 ... Overview of the GenIL Handler APIs ... 175
3.7.2 ... Handler Factory and Registration ... 177
3.7.3 ... Handler Operations ... 178
3.8 ... Implementing GenIL Handlers and Foreign Relationships ... 181
3.8.1 ... Creating a GenIL Component ... 183
3.8.2 ... Define the GenIL Model and Handler ... 184
3.8.3 ... Implementing Query Operations ... 185
3.8.4 ... Implementing Data Read ... 187
3.8.5 ... Testing the New GenIL Component ... 188
3.8.6 ... Processing Foreign Relations ... 190
3.9 ... Summary ... 196
4 ... Creating a Web Application with Business Server Pages ... 197
4.1 ... Model View Controller in BSPs ... 198
4.1.1 ... Data Binding ... 200
4.1.2 ... Process Flow in a BSP Application ... 202
4.2 ... Building a Search Application Using the BSP Programming Model ... 205
4.2.1 ... The Main Component ... 207
4.2.2 ... The Search View ... 209
4.2.3 ... The Result View ... 216
4.2.4 ... Handling the Search Event ... 219
4.2.5 ... Conclusion ... 222
4.3 ... Presentation Layer of a Web Client Application ... 222
4.3.1 ... Component Concept in Web Client Framework ... 223
4.3.2 ... Model View Controller in Web Client Component ... 224
4.3.3 ... The Layout in a Web Client Component ... 226
4.3.4 ... The Model in a Web Client Component ... 227
4.3.5 ... Controllers in a Web Client Component ... 229
4.3.6 ... The Runtime Repository ... 230
4.4 ... Summary ... 232
5 ... Creating a Web Client Application ... 233
5.1 ... BOL Programming ... 234
5.1.1 ... Overview ... 235
5.1.2 ... Reading Data ... 238
5.1.3 ... Creating and Modifying Data ... 246
5.1.4 ... Deleting Data ... 250
5.1.5 ... Locking ... 251
5.1.6 ... Sorting BOL Collections ... 251
5.1.7 ... Final Recommendations ... 253
5.2 ... UI Component Development ... 253
5.2.1 ... The Anatomy of the Hotel Booking Application ... 254
5.2.2 ... Creating a Component and Defining the Model ... 255
5.2.3 ... Creating a Search Page ... 258
5.2.4 ... Creating a Custom Controller ... 270
5.2.5 ... Creating Form Views ... 273
5.2.6 ... Configuring Form Views ... 275
5.2.7 ... Creating Table Views ... 276
5.2.8 ... Creating an Overview Page ... 279
5.2.9 ... Enabling Navigation inside a Component ... 281
5.3 ... Summary ... 286
6 ... Advanced Web Client Application Development and Integration ... 287
6.1 ... Improving the Web Client Application ... 287
6.1.1 ... Enable Central Editing ... 288
6.1.2 ... Enabling Breadcrumb ... 295
6.1.3 ... Implement Data Loss Pop-Up ... 297
6.1.4 ... Using the GET_X_ and SET_ Methods ... 301
6.1.5 ... Enabling Sorting in Tables ... 305
6.1.6 ... Implement Dropdown List Boxes ... 307
6.1.7 ... Implementing Simple F4 Help ... 310
6.1.8 ... Implementing One-Click Actions ... 316
6.2 ... Integrating a Web Client Application ... 319
6.2.1 ... UI Object Type ... 319
6.2.2 ... Create Entry Points to Application ... 321
6.2.3 ... Work Area Component Repository ... 323
6.2.4 ... Work Center Page ... 323
6.2.5 ... Navigation Bar Profile ... 328
6.2.6 ... Layout, Technical, and Functional Profiles ... 331
6.2.7 ... Define Authorization Role ... 332
6.2.8 ... Business Role Definition ... 333
6.2.9 ... Adjust Authorization Role and Define Organizational Assignment ... 335
6.2.10 ... Direct Link Groups ... 336
6.3 ... Summary ... 338
7 ... Enhancing Existing UI Components ... 341
7.1 ... Enhancement Set Overview ... 342
7.2 ... Create an Enhancement Set ... 344
7.3 ... Enhancing a UI Component ... 345
7.3.1 ... Enhancing a UI Element ... 347
7.3.2 ... Adding a New View ... 353
7.4 ... View Configurations ... 358
7.4.1 ... Configuration Keys ... 358
7.4.2 ... Text Determination ... 360
7.5 ... Cross-Component Navigation ... 361
7.5.1 ... Means of Cross-Component Navigation ... 362
7.5.2 ... Invoking Navigation ... 363
7.5.3 ... Testing the Navigation ... 369
7.6 ... Outbound Plugs Delegation ... 370
7.7 ... Summary ... 371
8 ... Generating UI Components ... 373
8.1 ... Generating a UI Component from BOL ... 374
8.1.1 ... Using the Generation Wizard ... 375
8.1.2 ... Analyzing Generation Results ... 384
8.1.3 ... Testing the Generated UI Component ... 386
8.1.4 ... Modifying the Generated UI Component ... 388
8.2 ... Configuration and Personalization ... 397
8.3 ... Attaching a Design Layer Object ... 402
8.3.1 ... Design Object Assignments ... 403
8.3.2 ... Creating a Design Object ... 404
8.3.3 ... Creating DL Assignment ... 406
8.3.4 ... Testing the DL Assignment ... 407
8.4 ... Reusing Other Components within a Pop-Up ... 408
8.4.1 ... Analyzing the Reusable Component ... 409
8.4.2 ... Value Help Pop-up ... 410
8.4.3 ... Analyzing the Results ... 413
8.5 ... Summary ... 414
9 ... Enhancing Applications with Fields and Tables ... 417
9.1 ... Easy Enhancement Workbench ... 418
9.2 ... Application Enhancement Tool ... 420
9.3 ... Creating New Fields and Tables with the Application Enhancement Tool ... 423
9.3.1 ... Starting the Application Enhancement Tool (AET) ... 424
9.3.2 ... Creating a New Field ... 426
9.3.3 ... Creating New Tables with the AET ... 435
9.4 ... Field Types ... 440
9.5 ... Navigation Fields ... 442
9.6 ... Extending SAP CRM Interactive Reports ... 444
9.7 ... Extending the Design Layer ... 451
9.8 ... Summary ... 455
10 ... Behavioral Extensibility ... 457
10.1 ... Behavior Extensibility via BAdIs ... 457
10.2 ... Adding Logic to Table Enhancements ... 460
10.3 ... Creating a Calculated Field ... 463
10.4 ... Introducing Global Attribute Tags ... 471
10.5 ... Adding Custom BRF+ Operations ... 475
10.6 ... Summary ... 480
11 ... Rapid Applications and Mash-ups ... 481
11.1 ... Rapid Applications ... 482
11.1.1 ... Managing Rapid Applications ... 483
11.1.2 ... Creating a Rapid Application ... 484
11.1.3 ... Using and Configuring Your Rapid Application ... 492
11.1.4 ... Extending the Default Implementation ... 496
11.1.5 ... Web Service-Based Applications ... 500
11.2 ... Application Mash-ups ... 504
11.2.1 ... Mash-ups Overview ... 504
11.2.2 ... Creating a Mash-up ... 504
11.2.3 ... Enabling and Using a Mash-up ... 507
11.3 ... Web Mash-ups ... 508
11.3.1 ... A Mash-up Example ... 509
11.3.2 ... Adding a Web Mash-up ... 509
11.3.3 ... Testing and Enabling a Web Mash-up ... 511
11.4 ... Summary ... 512
12 ... Web Service Tool ... 515
12.1 ... Using the Web Service Tool ... 516
12.2 ... Enabling the Web Service Tool ... 523
12.2.1 ... Implementing the GenIL Adaptations ... 524
12.2.2 ... Creating a Web Service in WST ... 525
12.3 ... Summary ... 528
13 ... SAP CRM Integration with Microsoft Word and Adobe ... 529
13.1 ... Integration Scenarios ... 530
13.2 ... Technologies Involved in Integration ... 532
13.3 ... Design Time and Run time ... 533
13.3.1 ... Design Time ... 534
13.3.2 ... Run Time ... 535
13.4 ... Creating a Template ... 536
13.5 ... Adobe Integration ... 545
13.5.1 ... Creating the Template in Adobe ... 546
13.5.2 ... When to Use Adobe ... 551
13.6 ... Summary ... 552
14 ... Introduction to Client-based Groupware Integration ... 553
14.1 ... Business Processes Covered by cGWI ... 553
14.1.1 ... Account Management ... 553
14.1.2 ... Appointments and Tasks ... 554
14.2 ... cGWI Architecture ... 555
14.3 ... Configuring Client-based Groupware Integration ... 557
14.3.1 ... Preparing the SAP CRM Server ... 557
14.3.2 ... Synchronization Behavior ... 559
14.4 ... Synchronization Profiles ... 561
14.5 ... Installing cGWI on a Client Machine ... 568
14.6 ... Extending the Functionality Offered by cGWI ... 569
14.6.1 ... Extending Activity Transfer between SAP CRM and Microsoft Outlook ... 570
14.6.2 ... Extending Contact Transfer between SAP CRM and Microsoft Outlook ... 572
14.7 ... Summary ... 573
15 ... Additional Topics ... 575
15.1 ... Task-based UI ... 575
15.1.1 ... Creating a Guided Activity Page ... 577
15.1.2 ... Reusable Guided Activity Page ... 578
15.2 ... Field Actions ... 588
15.3 ... Flash Islands ... 593
15.4 ... Transaction Launcher ... 596
15.5 ... Performance Optimization ... 603
15.6 ... Session Management ... 605
15.7 ... Tag Library Overview ... 608
15.8 ... Summary ... 610
... The Authors ... 611
... Index ... 613
Download