Advanced BSP Programming
by Brian McKellar and Thomas Jung
SAP PRESS
ISBN 1-59229-049-9
485 pages
This book gives readers proven methods for overcoming common BSP development challenges. Every chapter provides step-by-step instruction and practical guidance on issues that many developers face in their everyday work. Insider know-how on the essentials of BSP programming, exclusive hints on measuring and boosting performance, and in-depth troubleshooting advice all come together to make this book an indispensable addition to your technical library. This unique reference also provides readers with detailed coverage of RSS Feeds, F4 helps, BSP integration in the SAP GUI, and much more. BSP Extensions are also discussed extensively - you learn everything about events, using BSP Element Expressions (BEEs), creating custom BSP Extension Elements, and more.
Highlights Include
- HTTP Handling and URLs
- Authentication and Session Management
- Performance
- BSP Extensions, BSP Element Expressions
- Help Systems
- Internationalization
- Customization
- Document Handling
- RSS Feeds
- Interactive Excel
- Mini-Portals
Table of Contents
Introduction ... 15
1. What is BSP? ... 21
... Internet Communication Manager ... 21
... Internet Communication Framework ... 24
... 1.3 BSP Development Environment ... 25
... 1.4 HTMLB Rendering Family ... 26
... 1.5 BSP Compiler ... 27
... 1.6 BSP Runtime ... 28
... 1.7 BSP Debugger ... 29
... 1.8 MIME Repository ... 30
... 1.9 Summary ... 30
2. HTTP and HTML ... 31
... 2.1 Viewing the HTTP Traffic ... 32
... 2.2 Structure of HTTP ... 32
... 2.3 Server Objects for HTTP Request and Response ... 39
... 2.4 HTML Forms and Data Handling .... 41
... 2.5 Mapping of HTML onto HTTP Requests ... 46
... 2.6 Cookies ... 54
... 2.7 HTTP Redirects ... 58
... 2.8 Handling of HTML Resources in HTTP ... 59
... 2.9 Troubleshooting Examples ... 62
3. HTTP Handler ... 67
... 3.1 URL Handling in the ICF Tree ... 67
... 3.2 URL Mapping ... 68
... 3.3 Sample Handler for Reading Images ... 69
... 3.4 Alias Handling ... 74
... 3.5 Handler Example?Table Query ... 77
4. URLs in BSP ... 83
... 4.1 URL Mangling ... 83
... 4.2 Fully Qualified Domain Names ... 89
... 4.3 Namespace Mapping ... 92
... 4.4 URL Parameters ... 93
... 4.5 URL Escaping ... 95
5. Authentication ... 97
... 5.1 Basic Authentication ... 98
... 5.2 Single Sign-On ... 102
... 5.3 Digital Certificates ... 105
... 5.4 Anonymous Services ... 108
... 5.5 Form-Based Authentication ... 109
... 5.6 Implementing a Simple Logon Application ... 110
... 5.7 De-Authentication ... 113
6. Session Management ... 115
... 6.1 Session Identification ... 115
... 6.2 Session Timeout ... 118
... 6.3 Confusion with Processing Timeout ... 121
... 6.4 Catching and Handling a Restart after Timeout ... 123
... 6.5 Session Management from the Browser ... 125
... 6.6 Warning the User of a Pending Timeout ... 128
... 6.7 Summary ... 131
7. Using BSP Applications in SAP GUI ... 133
... 7.1 Using a BSP Application in a Dynpro ... 133
... 7.2 Pitfalls when Using BSP Applications with SAP GUI ... 136
... 7.3 Interaction between SAP GUI and BSP Applications ... 144
... 7.4 Starting a New Browser Outside the SAP GUI ... 149
8. Performance Measurements ... 151
... 8.1 Test Applications ... 152
... 8.2 Quick Sizing with HTTP Trace Tool ... 153
... 8.3 Network Latency ... 154
... 8.4 Server Processing Time ... 155
... 8.5 Browser Rendering Time ... 157
... 8.6 Determining Hotspots ... 159
... 8.7 Load Testing ... 161
... 8.8 SQL Traces ... 165
9. BSP Extensions ... 167
... 9.1 Extension Overview ... 167
... 9.2 HTMLB Event System ... 180
... 9.3 Common Extension Elements ... 186
10. BSP Element Expressions and Iterators ... 205
... 10.1 BSP Element Expressions ... 205
... 10.2 Table View Iterators ... 215
11. Creating your own BSP Extension Element ... 227
... 11.1 Creating a BSP Extension Element ... 227
... 11.2 Writing a Composite Element ... 231
... 11.3 A Deeper Look at BSP Extensions Events ... 239
... 11.4 Event Handling in Composite Elements ... 244
12. Additional BSP Extensions ... 253
... 12.1 Business Text Framework ... 253
... 12.2 Internet Graphics Service ... 260
... 12.3 BSP Library ... 268
13. MVC?Model View Controller ... 275
... 13.1 MVC Design Paradigm ... 275
... 13.2 Application Structure ... 275
... 13.3 Model Binding ... 284
... 13.4 Dynamic Model Binding ... 288
... 13.5 Stateless MVC ... 291
... 13.6 Building a Pattern Engine with MVC ... 295
14. Help Systems ... 307
... 14.1 F1?Field Level Help ... 307
... 14.2 Dialog Windows ... 319
... 14.3 F4?Value Help ... 322
15. Internationalization ... 337
... 15.1 Multiple Language Support ... 337
... 15.2 Logon Language ... 338
... 15.3 Unicode ... 341
... 15.4 Online Text Repository (OTR) ... 346
... 15.5 Translation ... 349
... 15.6 Date Format ... 352
16. Document Handling in BSP ... 355
... 16.1 MIME Repository ... 355
... 16.2 ICM File Handler ... 357
... 16.3 Handling Non-HTML Documents ... 358
... 16.4 Data Manipulation ... 366
... 16.5 Microsoft Excel Download ... 367
... 16.6 Pushing the Excel Content back through the Browser ... 371
... 16.7 BSP Extension Element for Excel Download ... 374
... 16.8 Alternatives to the MIME Repository ... 389
... 16.9 ZIP Tool ... 392
17. Customization ... 395
... 17.1 Customization Overview ... 395
... 17.2 Export?Modify?Import ... 395
... 17.3 NetWeaver Theme Editor ... 397
... 17.4 ALFS?ABAP Look-and-Feel Service ... 398
... 17.5 Configure a Theme Root ... 406
... 17.6 Theme Root White List ... 406
... 17.7 Error Pages ... 408
... 17.8 Logon Application ... 412
18. Skilled in the Art ... 417
... 18.1 Field History ... 417
... 18.2 Server-Side Printing ... 422
... 18.3 Select-Options/Parameters ... 429
19. Breaking Out of the Mold ... 449
... 19.1 Interactive Excel ... 449
... 19.2 RSS Feeds ... 451
... 19.3 Mini-Portal ... 458
20. Closing ... 471
Appendix ... 473
... A. BSP Utility Classes ... 473
... B. The Authors ... 483
Index ... 485