Skip to Content
imageI suppose the writing bug has been making its way around SDN. Earlier this fall both Shameless Plug: The SAP Developer’s Guide to PHP and SDN works! A small story and a shamless plug wrote weblogs announcing that they had written books for SAP Press. Both of their works expanded upon topics that they had each covered within SDN.

Well they weren’t the only ones working till the wee hours of the morning on a labor of love. Brian and myself have spent the last 6 months or so creating a book for SAP Press covering a topic that is obviously near and dear to both of us – BSP. Although there has been a lot written about BSP on SDN already; we wanted to create a single definitive work on the subject. Our starting point for the book was actually a selection of a few key weblogs. From there we filled in the gaps with topics that will hopefully take any developer all the way from writing their first simple BSP application all the way through to complex real world applications.

Targeting a book of this size (nearly 500 pages) allowed us to go into more depth and detail then every before. It also gave us the opportunity for the first time to update and ship, in an importable format, some of the popular additions to BSP that have been described via weblogs in the past.

Updated! I have had a few email request from people wanting to order from outside Europe or using an order form in English. The SAP-Press US website is also available to take orders. However due to shipping times from Europe to the US, it may still be a couple of weeks before the book is “officially released” in the US.

Table Of Contents
In order to give you an idea of what we covered in this book, I thought I might just share the high level Table of Contents.

Chapter 1 – What is BSP?

  • Internet Communications Manager
  • Internet Communication Framework
  • BSP Development Environment
  • HTMLB Rendering Family
  • BSP Compiler
  • BSP Runtime
  • BSP Debugger
  • MIME Repository

Chapter2 – HTTP and HTML

  • Viewing the HTTP Traffic
  • Structure of HTTP
  • Server Objects for HTTP Request and Response
  • HTML Forms and Data Handling
  • Mapping of HTML onto HTTP Requests
  • Cookies
  • HTTP Redirects
  • Handling of HTML Resources in HTTP
  • Troubleshooting Examples

Chapter 3 – HTTP Handler

  • URL Handling in the ICF Tree
  • URL Mapping
  • Sample Handler for Reading Images
  • Alias Handling
  • Handler Example – Table Query

Chapter 4 – URLs in BSP

  • URL Mangling
  • Fully Qualified Domain Names
  • Namespace Mapping
  • URL Parameters
  • URL Escaping

Chapter 5 – Authentication

  • Basic Authentication
  • Single Sign-On
  • Digital Certificates
  • Anonymous Services
  • Form-Based Authentication
  • Implementing a Simple Logon Application
  • De-Authentication

Chapter 6 – Session Management

  • Session Identification
  • Session Timeout
  • Confusion with Processing Timeout
  • Catching and Handling a Restart after Timeout
  • Session Management from the Browser
  • Warning the User of a Pending Timeout

Chapter 7 – Using BSP Applications in SAP GUI

  • Using a BSP Application in a Dynpro
  • Pitfalls when Using BSP Applications with SAP GUI
  • Interaction between SAP GUI and BSP Applications
  • Starting a New Browser Outside the SAP GUI

Chapter 8 – Performance Measurements

  • Test Applications
  • Quick Sizing with HTTP Trace Tool
  • Network Latency
  • Server Processing Time
  • Browser Rendering Time
  • Determining Hotspots
  • Load Testing
  • SQL Traces

Chapter 9 – BSP Extensions

  • Extension Overview
  • HTMLB Event System
  • Common Extension Elements

Chapter 10 – BSP Element Expressions and Iterators

  • BSP Element Expressions
  • Table View Iterators

Chapter 11 – Creating your own BSP Extension Element

  • Creating a BSP Extension Element
  • Writing a Composite Element
  • A Deeper Look at BSP Extension Events
  • Event Handling in Composite Elements

Chapter 12 – Additional BSP Extensions

  • Business Text Framework
  • Internet Graphics Service
  • BSP Library

Chapter 13 – MVC Model View Controller

  • MVC Design Paradigm
  • Application Structure
  • Model Binding
  • Dynamic Model Binding
  • Stateless MVC
  • Building a Pattern Engine with MVC

Chapter 14 – Help Systems

  • F1 – Field Level Help
  • Dialog Windows
  • F4 – Value Help

Chapter 15 – Internationalization

  • Multiple Language Support
  • Logon Language
  • Unicode
  • Online Text Repository (OTR)
  • Translation
  • Date Format

Chapter 16 – Document Handling in BSP

  • MIME Repository
  • ICM File Handler
  • Handling Non-HTML Documents
  • Data Manipulation
  • Microsoft Excel Download
  • Pushing the Excel Content back through the browser
  • BSP Extension Element for Excel Download
  • Alternatives to the MIME Repository
  • ZIP Tool

Chapter 17 – Customization

  • Customization Overview
  • Export-Modify-Import
  • NetWeaver Theme Editor
  • ALFS – ABAP Look-and-Feel Service
  • Configure a Theme Root
  • Theme Root White List
  • Error Pages
  • Logon Application

Chapter 18 – Skilled in the Art

  • Field History
  • Server-Side Printing
  • Select-Options/Parameters

Chapter 19 – Breaking Out of the Mold

  • Interactive Excel
  • RSS Feeds
  • Mini-Portal

Appendix A – BSP Utility Classes


Code Samples
In addition, the book will ship with a CD. I’m really excited about this part. I have always wanted a better way to share some of the source code especially for BSP Extensions. For example I have struggled to find a good way to share the code of the Value Help Extensions. Finally we had the opportunity to recreate these examples in a very portable manner.

On the CD you will find all the source code discussed in the book plus examples that expand upon those in the book. This is over 500 development objects in all. Every piece of code is delivered as a text file so that you pick and choose which you might want to import into your system. However we have also shipped a transport file that contains all the code. This will finally make it easy to import some of the more complex BSP Extension Element examples!

The following shows the Package Hierarchy that will be created by the imported source code:

But we also ship plenty of new BSP Extensions along with the book. The groupings of these new Extensions are as follows:

In order to make these new Extensions easier to use, we have also delivered a BSP application that is very similar to the standard SAP applications for testing Extensions (like SBSPEXT_HTMLB).

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Looks great by the sight of the table of contents… well done! Solves the “what-to-give-to-myself-for-christmas” riddle. Order placed!


  2. Former Member
    Glad to see things are finally wrapped up and I do hope to see the book on my desk soon, wonder who I have to bribe to get a copy? —> MARK!!! We need a copy don’t we?
  3. That sure is good news just before Christmas – not that I’m into this topic that deep anymore that I will spend my holidays reading it, but I can’t wait to explore it for useful things to enhance our existing applications with – and I bet there are tons of features I’ll love.

    A must have, both thumbs up for accomplishing a compilation like this!

  4. Abdul Hakim
    Hi Thomas,
    Well done.As the title says it is for advanced programming.Whether this book will help the beginners like me.If not have you written any books for beginners.Whether ABAP and BSP can play a equivalent role to Java in EP Development?Some Java guys are saying that ABAP cannot play a similar role to Java in EP Developement.They are saying that the future of EP Development will be fully based on Java.Kindly Clarify this also.Keep up your good work.Hoping to see a lot of books from your side in the future.


    1. Thomas Jung
      >They are saying that the future of EP Development will be fully based on Java.

      Maybe I don’t know what I am missing out on, but you can do some fairly amazing things in the Portal using BSP and WebDynpro ABAP.  Both Platforms support portal integration, state management, style inheritance, portal eventing, and portal navigation (absolute, relative, and object based). 

  5. Marilyn Pratt
    Thomas and Brian,
    First- Kudos!  In your thorough and inimitable styles this looks very promising.

    You both have contributed so richly to the BSP collateral on SDN.  Perhaps we can further collaborate with the community to consolidate your weblogs, articles and code samples on a getting started page for BSP that might serve our “newbie” community as well for launching into this topic, and preparing them for reading this advanced guide.


  6. Mark Finnern
    Hi Thomas and Brian,

    To see this book now available makes me really happy. Your collaboration started right here on SDN and not sure if that is still true, but for the longest time you two never talked to each other, everything went via email and SDN ๐Ÿ™‚

    Now that Craig and Thomas have met in Boston, new goal is to bring the two authors together face to face. TechEd Las Vegas?

    Craig, of course SDN needs that book signed by both authors ๐Ÿ™‚

    SDN collaboration at work. Who said there is nothing good coming out of SDN ๐Ÿ˜‰

    Excellent, Mark.

    1. Thomas Jung
      >but for the longest time you two never talked to each other, everything went via email and SDN

      That is actually still true.  It is amazing what you can acomplish in a virtual environment.  We would even pass revisions of chapters back and forth to each other via email, so it wasn’t like we each worked in a vacuum and the just pulled it together at the end. 

      I look forward to someday meeting not only Brian but many of the other fellow SDN members who live outside of North America. 

  7. Former Member
    Hi Thomas & Brian

    Great book, I still enjoy using it when working with BSP.

    I have one request that I’m hoping someone could help me with.  Chapter 16.8.2 of the book mentions the source code for the service handler to use with the SAP Content & Cache Server but I haven’t been able to find it on the CD.

    Can anyone point me in the right direction?  Thanks, Matt

    1. Thomas Jung Post author
      Did you import the transport file or are you importing the objects one at a time from the CD?  The Class in question is ZCL_ES_HTTP_EXT_CSIF_DIR and is imported into the ZE_BC_BSP_BOOK package (not the chapter 16 sub-package) if you use the transport option.  If you are manually creating the items from the text files, then you might have ran into a problem. I would have expected that I would have placed this class into CrossChapter_Code directory, but I don’t find it there.

      If you need the class and don’t want to import the transport file, I can send it to you in SAPlink or text file format.  Just email me so I can send it to you – my email is thomas.jung at


Leave a Reply