Data access techniques

CIS mobile itself, CIS add-on methods and CIS reports all need to access data in the SAP system. We describe the following data access techniques:
  • CIS ABAP interface
  • RFC select interface
  • BAPIs and functions modules
  • SAP GUI scripting
  • ABAP reports

There are further possibilities to access SAP data from VB.NET, such as "SAP .NET connector", "SAP Netweaver Gateway" and several other products.  Here we restrict ourselves to the above five possibilities which

  • represent a high-performance and easy to handle set of  interfaces
  • do not require the installation of additional components
Description of the access techniques

CIS ABAP interface

In VB.NET you call an ABAP routine which is contained in the function module  /GUIXT/CISADDON_INTERFACE. All input parameters are passed as strings in a predefined order. Example:

Parameter 1: customer number
Parameter 2: order number
Parameter 3: order item number

The ABAP routine returns a table of strings. In most cases each of these strings contains several fields,  separated from each other by a tab character (CSV format). Other possible formats are: data in text format, data in XML format.

RFC select interface
The function module /GUIXT/SELECT_INTERFACE is called as an interface to the SAP database "Select".

BAPIs and function modules
A function module e.g. a BAPI is called via RFC.

SAP GUI scripting
The SAP automation interface "SAP GUI scripting" for SAP transactions is used via a special VB.NET interface. All data that are available through SAP transactions can be reached. The SAP GUI screens are processed in the background.

ABAP reports
The function module /GUIXT/SELECT_INTERFACE is used to start ABAP reports, returning its output in text or in HTML format.

 

Bundling

The techniques
  • CIS ABAP Sinterface
  • RFC select interface
  • ABAP reports

allow "bundled" processing; this means that multiple access calls can be carried out in a single network call.

Comparison

CIS ABAP interface
  • Requires ABAP knowledge
  • Excellent performance achievable
  • Complex select statements and SAP standard module calls are possible
  • Authorization checks, if necessary, implemented in ABAP
  • Quick implementation
  • Very variable
  • Well suited for CIS report implementation

RFC Select Schnittstelle

  • No ABAP knowledge necessary
  • Excellent performance achievable
  • Complex select statements only by defining database views in the SAP system
  • Authorization checks, if necessary, implemented in VB.NET
  • Quick implementation
  • Best suited if all data are read in a single SAP table or view

BAPI and function modules

  • Requires ABAP knowledge if you create your own function modules
  • Excellent performance achievable but often requires your own programming
  • Authorization checks, if necessary, in VB.NET (BAPI) or ABAP (own function modules)
  • No access call bundling
  • In many cases suitable BAPIs are missing or too slow so that you need to implement your own function modules

SAP GUI Scripting

  • Knowledge of SAP transactions is required
  • Only moderate performance, identical with SAP GUI access times
  • Authority checks automatically integrated in the SAP transaction
  • No knowledge of SAP database structures is required; only the user interface is needed
  • All data which can be displayed in any SAP transaction are available
  • Grid and tree displays can be used

ABAP reports

  • SAP standard reports or your own reports (e.g. SAP query reports) can be used
  • The HTML report output can be used for testing purposes but may lack the look and feel you want to end up with
  • If standard reports are used data extraction from the list format can be tedious
  • Authority checks automatically integrated in the SAP report processing
  • No knowledge of SAP database structures is required
  • Reports that use the "ALV grid" output can be used