Skip to Content

Calling RFC BAPI within SAP Data Services

Published By : Satish Boda, SAP Global Delivery | SAP Consulting.

Technology: SAP Data Services, SAP Bank Analyzer.

Below are the End-to-End steps for writing legacy “Financial Transaction” data to SAP Bank Analyzer by calling RFC BAPI “FIN_TRANS_MODIFY”.

Establish connectivity :-

Install R/3 functions on SAP BANK ANALYZER Web Application Server (WAS).

Establish RFC connectivity between SAP BANK ANALYZER and SAP DATA SERVICES.

Build SAP Data Services Job :-

Login to the SAP Bank Analyzer system. Launch “BAPI Explorer” via T-code “BAPI” in SAP Bank Analyzer.


Create DATASTORE of type “SAP Applications” by entering the parameters of BANK ANALYZER system.


Import BAPI metadata in SAP DATA SERVICES.


The BAPI metadata looks like below with input and output parameters.


The input parameters are of 2 types : Scalar & Table parameters.


Create a nested NRDM structure for the source data similar to BAPI Input structure.


Make a “new function call” to call the BAPI.


Map the input columns to the BAPI scalar parameters using the wizard. Take the help of scrolling option.


Map the input schema to the BAPI Table parameters as below.


  • Ø The column names of the input schema should match to the names of the BAPI input table. The input columns are mapped automatically to the BAPI table columns by matching column names.
  • Ø The input data type of columns should to be similar to the column data type of BAPI.


Select the RETURN table as output schema.


After hitting finish, the query appears as below.


Un-nest the RETURN table to write the details to a database table.


Run the Job :-

The RETURN table captures the messages returned by BAPI. This data can be analyzed to find successful entries.


You must be Logged on to comment or reply to a post.
  • Nice write up, I however have a problem with the output table. I get a”Unknown SAP Output Data error” which appears to happen when there are too many output parameters. I can not change the function to reduce the number of parameters so do you have any other solution.

  • Nice write up! When you create your nested structure, do you do any joins?

    “Create a nested NRDM structure for the source data similar to BAPI Input structure.

    Currently I’m calling material creation bapi which has header and then tables. And my tables appear to be including data for every material. How do I ensure the bapi call includes only one item at a time?