Copyright 2024 - BV TallVision IT

The Internet is regarded a very "Business relevant" subject, which has not been ignored by SAP. This issue is a roadmap to the many routes to the Internet, backed by SAP systems.

It's no longer new, but ever so hip: the world is getting more and more accustomed to the internet (or intranet) and an ERP system like SAP has to utilize this capacity. And they have - SAP has not been sleeping. Where before there has been generally one main route to a technical solution, web-enablement has many many faces. This issue outlines the ways to Rome with a few high level ins and outs per method.

Portals, Webdynpro, SRM, CRM, the Business Connector (till 2002) and XI, there are many web-enabling enterprises available. Only a few of these are described in AbapcadabrA.

The internet in combination with SAP matters leads to a wide variety of topics. Too many topics. These articles matter, but how they can be of use to you - is up to you. A brief introduction to HTML, CSS and Javascript should help get to grips with internet pages. The service hierarchy is viewing the available services (internet services) from SAP point of view. A glossary and "roadmap" complete the set. 

Transaction SICF - ”HTTP Service Hierarchy Maintenance” holds settings on services, independent of the “way to Rome” implemented. Request handlers are set up on the service. Which ever “way to Rome” is chosen, the service is always a part of the plan. A service can be compared to a transaction code (starting point) for Web transactions (called services). Note: if you have no authorisarion for transaction SICF - make sure you get it...

A brief glossary for Internet matters.

There are many ways to do this, which are listed in a single article here:

One of the first things you'll need to know a bit about is HTML - HyperText Markup Language. A formatting/scripting language that is used on nearly every bit of information sent to (or received from) the Internet...

When using HTML template files, it's good to know about Cascading Style Sheets (CSS) - all about the presentation of the html documents...

Attributes like the font(family), color and background color of the "body" of the document can be set using style sheets. Generally everything that has to do with colors, borders, positioning (e.g. right-justified) can be applied to any html tag, for which no style sheet is required. When these settings should be applied to more than 1 html tag, style sheets should be used. A step by step demonstration of how style sheets work:

A scripting language for HTML documents - applicable on every possible application. If you need to understand SAP templates or you need to take control over your HTML... SAP uses this language quite a bit themselves and it's a good idea to get your head around the basics of (client-side ) Javascript. Javascript is a scripting language, not to be confused with Java (which is a programming language). Here's a few ideas to what you can accomplish with Javascript:

An Internet Service is based on the an ABAP's screen (dynpro) processing, PBO and PAI. It's also the most common way SAP has coded their own SRM web applications...

An Internet service is used (by SAP) for the more serious multi-screen applications which are to be embedded in SAP's SRM menu's. The design concept originates from ABAP Module pools, where the SAP-Classic DYNPRO is used as a basis for an HTML template, which is presented in the browser of the end user. A few specifics about the Internet Service:

Just for you to understand what these articles are about: the BSP application...

The BSP application is one of the forms / shapes that is displayed the end user as Internet page via the "browser" (e.g. Internet Explorer). To enable communication/control over the HTML page, the page can support "Flow logic" which is covered in ABAP coding.

So where can you get started ? Have a look at one of SAP's demo BSP applications, then walk through a steplist to create your own...

By tutorial example

Of course SAP has set up some nice examples for you. In transaction SE80 look for the "BSP application" with the name TUTORIAL*. BSP service TUTORIAL_2 is about a bookstore where you can look up an author or title. To try out what it looks like, start the BSP application via your browser:

BSP control from ABAP programming is done by 6 event handlers. How they should (could) be used is outlined in this article.

An example BSP program run

Let's say your end user starts your BSP application. Event handlers are called in the following sequence and a brief example of what can be done in the event is explained:

A request handler is an ABAP Objects class which "handles Requests", web requests that is. SAP uses it to show ABAP statement documentation via a web browser...

When using the event handlers, there's a suite of interesting objects you have access to.

Which objects ?

You may realize that object orientation in BSP applications is a key factor. There's a nice suite of classes available at runtime, which are listed here:

Once you get started, there really is no way back... This article highlights a few commonly used topics getting data to and from the html.

Let's assume you want to display a field on some html which should hold a value from your ABAP. This can be done in 2 ways, as information or as actual input field. To do this, first create your ABAP variabele on the "Page Attributes" tab. Call it MYABAPVAR of type CHAR80, make sure the "Auto" checkbox is ticked on. Then fill in the Layout as follows:

This is the layout of a full blown layout with JavaScript functionality incorporated.

BSP application processing uses a concept of "session protection" which can be controlled via stateful and stateless...

It's a pretty straight forward concept: the backend of the system will keep the BSP application alive over several pages. Even when the whole browser is closed and reopened in the same page - the BSP session will simply contniue where it left off. Very handy when building multi-page (or even single page) applications. How can it be controlled ?

The BSP application is an odd-ball when debugging is concerned... We're not dealing with SAP screens...First of all: debugging for internet services (external debugging) or BSP applications can be done as usual: set your break-point in the ABAP coding you expect to be called. However: do make sure you visit Utilities -> Settings from transaction SE80. Tab “ABAP Editor” then “Debugging”. External debugging should be switched on.