JSP Tag Library for SAP

SAPTAGS - JSP tag library for SAP.

SAPTAGS is a collection of JSP tag for accessing a SAP R/3 system using the SAPjco connector. The library permits SAP function calls to be embedded in JSP pages, for example:

<p>Execute the RFC_SYSTEM_INFO function:</p> <sap:function name="RFC_SYSTEM_INFO"> <sap:execute/> <p>and display the results</p> SID = <sap:export structure="RFCSI_EXPORT" var="RFCSYSID"/><br> </sap:function>


SAPTAGS is a lightweight approach to the problem of accessing R/3 backend data from the Web.

The choices have tradionally have been:

  • SAP BSP (Business Server Pages) approach: Basically ABAP code is interspersed mit HTML code. The application resides in the ABAP stack.
  • SAP J2EE Server with WebdynPro developements.

The BSP approach requires both skills at once (ABAP and HTML) and required the ABAP Stack to act as a Web Application Server: Therefore it is difficult to implement consistent standard in the layout of the page - a change in the way a page should be displayed requires changes to the ABAP code also. It is alse easy to break the model-view architecture - the backend program is at the same time responsible for the rendering.

The SAP J2EE approach is often overkill - you need dedicated servers, and /or have to deal with issues like integration in your actuall app-server landscape. Then you have to develop the application in WebDynpro, a "art" in itself. It is a "comprehensive" solution, tighlty integrated with SAP, which also binds you even more to SAP.

SAPTAGS offers a very simple solution: custom JSP tags that can be used (and understood) by any JSP developer. It does not requires the JSP developer to become an ABAP Developer - and the ABAP Developer can concentrated on the ABAP code, ignoring the HTML.

In fact, due to the very large number of RFC-Enabled functions in SAP, it is well possible to develop an application without writing ABAP code at all. There is no need for a dedicated server, saptags integrates well with tomcat, Jboss, or any other J2EE complaint servers. Installation is kept to a minimum, developement can be done with the usual tools (Netbeans, Eclipse).

Usage examples

Typical application are: User Management (Reset password, unlock users), Material Inquiry (how much of a certain good is available), Management Reporting (Display data in graphic format in real-time), and as a Web Service towards other Web application.
I found it also very useful, when working in a project, for providing access to SAP functions (Sign-off of transports) to the manager using the Web, saving the learning curve, SApgui Installation, and training.


Updated: Feb 18, 2008

The actual status is "Beta advanced", that means it has been extensively used and reported no real problems. It is currently maintained and will soon be release as "Production" quality.