Business Server Pages
Security Aspects for BSP
Security Risk List
URL Generation in an AS-ABAP - Web Dispatcher Configuration
Host Header
Absolute URL Generation
Configuration Table HTTPURLLOC
Programming Interface
Scenario 1: Direct Browser - AS-ABAP Communication
Scenario 2: Browser - AS-ABAP Communication Through a Reverse Pr
Scenario 3: Direct Communication and Communication Through a Rev
Scenario 4: Communication with Protocol Switch Through Reverse P
Special Case: Combination with the Logon Application
User Concepts
System Logon
Prerequisites
Configuration Settings
Password Logon Scenarios
Changing Your Password with Basic Authentication
Password Changes in the SSO Environment
User-specific Changes
Example
Using a Default User for BSP Applications
Creating a Default User
Using an Internet User for BSP Applications
Sample BSP Application for Using Internet Users
Logging On as an Internet User
Creating New Users
Programming Model
What is a BSP Application?
Structure of a BSP Application
Accessing a BSP Application
Starting and Ending a BSP Application
System-Specific URL Parameters
Processing a BSP Application
Creating a BSP Application
Application Class of a BSP Application
BSP Components
Properties
Layout
Event Handler
OnCreate
OnRequest
OnInitialization
OnInputProcessing
OnManipulation
OnDestroy
Page Attributes
Type Definitions
BSP Directives
Page Directive
Inline Code
Comments
Include Directive
OTR Directives
Extension Directive
Transferring Variables
Classes and Interfaces
Class CL_BSP_APPLICATION
Class CL_BSP_MESSAGES
Class CL_BSP_SERVER_SIDE_COOKIE
Class CL_BSP_GET_TEXT_BY_ALIAS
Class CL_BSP_CONTROLLER2
Interface IF_BSP_APPLICATION
Interface IF_BSP_APPLICATION_EVENTS
Interface IF_BSP_NAVIGATION
Interface IF_BSP_PAGE
Interface IF_BSP_RUNTIME
Interface IF_BSP_PAGE_CONTEXT
Iterator: Interface IF_HTMLB_TABLEVIEW_ITERATOR
Global Objects
Object application
Object navigation
Object runtime
Object request
Object response
Object messages
Object page
Object page_context
BSP Extensions
Button
TableView
Defining Your Own BSP Extension
BSP Extension Framework
Creating BSP Extensions
Defining BSP Elements
Defining Element Content
User-Defined Validation
Iteration Through Element Content
Manipulation of the Element Content
Pass by Reference for Attributes
Activating the BSP Extension
Implementing Element Handler Classes
Generated Classes and Class Hierarchy
Basis Class CL_BSP_ELEMENT
Entering Documentation
Using BSP Elements
Example: Using Extensions in BSP Pages
Composite Elements
Creating before.htm Pages
Design Solution
Creating a New BSP Extension with Elements
Creating after.htm Pages
Dynamically Processing BSP Elements
Creating a New BSP Extension with Composite Elements
Step 1 a) Implementing <sf:SimpleFormItem>
Step 1 b) Using <htmlb:SimpleFormItem>
Step 2: Creating <sf:SimpleForm>
Step 3: Changes to the Look and Feel
Model View Controller (MVC)
MVC Design Pattern
Using MVC for BSP
Creating Controllers
Creating Views
Testing Controllers
Calling (Sub) Controllers
Calling Views
Creating Error Pages
From Pages to Controllers
Call Options of BSP Components
Navigation
Lifetime
Data Binding
Calling the Model Class by the Controller
Components
Process Flow
Creating Your Own Components
Creating Top-Level Controllers
Creating Components
Calling Components
Determining Input Processing
Class CL_BSP_CONTROLLER2
Examples of Architecture
BSP Applications with Controllers and Views
BSP Application with Several Views per Controller
Combination of the Previous Examples
Calling Controllers of Other Applications
Calling Several Controllers from a View #
Model View Controller Tutorial
Creating Controllers
Creating Views
Calling Controllers
Session Handling
Stateful BSP Applications
Session Cookie
Stateless BSP Applications
Persistency of Data Using Serverside Cookies
Hybrid Forms
Setting Stateful or Stateless
Stateful or Stateless Programming?
A Sample BSP Application
Control Flow of BSPs
BSP Only with Layout
BSP with Layout and Initialization
BSPs with Layout, Initialization, and Navigation
BSPs with Layout, Initialization, and Input Processing
Caching BSPs
Page Layout
Accessibility for BSP Applications
Programming Environment
Recommended Browser Settings
Debugging
Breakpoints for BSP Page Fragments
ICM Tracing
HTTP Browser Tracing
HTTP Proxy
Internationalization and Translation
Creating OTR Alias Texts
Creating OTR Long Texts
OTR Texts in ABAP
BSP Development Tools
Web Application Builder for BSPs
Introduction
Components of a BSP Application
Structure of a BSP Application
Event Handler
Page Attributes
Global Objects
Basic Functions
Creating BSP Applications
Creating Pages
Creating Controllers
Creating Error Pages
Determining the Page Flow
Creating References to MIMEs
Activating BSP Applications
Executing BSP Applications
Model View Controller (MVC)
MVC Design Pattern
Using MVC for BSP
Creating Controllers
Creating Views
Testing Controllers
Calling (Sub) Controllers
Calling Views
Creating Error Pages
From Pages to Controllers
Call Options of BSP Components
Navigation
Lifetime
Data Binding
Calling the Model Class by the Controller
Components
Process Flow
Creating Your Own Components
Creating Top-Level Controllers
Creating Components
Calling Components
Determining Input Processing
Class CL_BSP_CONTROLLER2
Examples of Architecture
BSP Applications with Controllers and Views
BSP Application with Several Views per Controller
Combination of the Previous Examples
Calling Controllers of Other Applications
Calling Several Controllers from a View #
Model View Controller Tutorial
Creating Controllers
Creating Views
Calling Controllers
Defining Your Own BSP Extension
BSP Extension Framework
Creating BSP Extensions
Defining BSP Elements
Defining Element Content
User-Defined Validation
Iteration Through Element Content
Manipulation of the Element Content
Pass by Reference for Attributes
Activating the BSP Extension
Implementing Element Handler Classes
Generated Classes and Class Hierarchy
Basis Class CL_BSP_ELEMENT
Entering Documentation
Using BSP Elements
Example: Using Extensions in BSP Pages
Implementing External Tools with WebDAV
Implementing the Page Layout Using External Tools
Mass Import for MIMEs Using WebDAV
Copying Page Attributes
Mass Import for MIMEs Using WebDAV
Pretty Printer in the Web Application Builder
MIME Repository
Supported MIME Types
Importing MIME Objects
Uploading and Downloading MIME Objects
Creating Folders
Creating Namespace Folders
Converting MIME Objects into BSPs
Classifying MIME Objects as Relevant for Translation
Additional Functions
Tips & Tricks
Implementing External Tools with WebDAV
Tag Browser
Transformation Editor
BAPI Browser
Online Text Repository
Output Formatting
Stylesheets
Setting Stylesheets for HTMLB, XHTMLB, and PHTMLB
File Upload in BSP Applications
Uploading Files and Manipulating their Content
Handling Incorrect Entries
Outputting Error Messages for Auto Page Attributes
Creating Page Attributes
Execute Initialization
Defining the Layout
Using Object messages
Coding Alternative Error Output
Adding Your Own Error Messages
Sending E-Mails from BSP Applications
Creating Order Pages
Creating Application Classes
Class Attributes
Class Methods
Method SET_ADDRESS
Method SET_TIME
Method SEND
Calling the Mail Class
MIME Types of a Page
DDIC Services for BSP Applications
Overview of Type Properties
Technical Properties
Output Properties
Language-Dependent Texts
Services and Runtime Objects
GET_FIELD_LABEL
GET_QUICKINFO
GET_DAY_COLLECTION
GET_MONTH_COLLECTION
GET_HISTORY_ID
GET_LOCAL_HISTORY_ID
GET_SIMPLE_HELPVALUES
Use in BSP Applications
Application Help
Field Label
Field History
Calendar
Input Help
Business Server Pages Administration
Logon Ticket Cache
HTTP Browser Tracing
HTTP Proxy
ICM Tracing
FAQ
What is the Internet Communication Framework?
What is the BSP Runtime Environment?
Can I Access a Web Server Via HTTP?
Is There a Server Cache for Storing Web Pages?
How Do I Configure SSL?
Is SSO Supported for AS-ABAP?
Can I Generate BSPs Dynamically?
How Can I Create a Basic BSP Application?
What is an Application Class?
How Can I Transfer Data Between a View and a Page?
What Are BSP Directives and What Kinds of BSP Directive Are Ther
Where Can I Store Images?
Can I Transfer Whole Tables as Page Attributes?
How Can I Find Out the URL Path for My BSP?
How Can I Transfer the Language or the Client in the URL?
How Can I Use Data Structures from a Different System?
How Do I Get a Blank Cell Using the Iterator?
What Do I Do if Protocol Conflicts Arise?
How Can I Specify That My Application Does Not Require Log-in?
Can I Execute a User Switch for My BSP Application?
How Do I Set the Display Language?
How Can I Intercept a Timeout for Long-running Processes?
How Can I Measure the Performance of My BSP Application?