sapnwrfc-d 0.0.3

SAP NetWeaver RFC binding for D.

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

D bindings for SAP NetWeaver RFC SDK


This library provides bindings D programming language for the SAP NetWeaver RFC SDK. It allows you to call SAP RFC's using D.


You need to download and install the SAP NetWeaver RFC SDK for your OS from For further information see SAP note 1025361. The SAP NetWeaver RFC SDK is copyrighted software and is only available through the official channels mentioned above. It is strongly recommended to download the provided SDK documentation, too.


If you use dub then you only need to add sapnwrfc-d to the dependencies of your project in the dub.json file:

    /* Other stuf */
    "dependencies": {
        /* Other dependencies */

Otherwise you have to compile all D files in the source folder into a library named libsapnwrfc-d.a (Linux) or sapnwrfc-d.lib (Windows). You also need to link against the libraries provided by the SAP NetWeaver RFC SDK. (Currently, only libsapnwrfc.a/sapnwrfc.lib is required.)


Examples are provided in the examples folder.


  • Prototypes for (most) C functions of the SAP NetWeaver RFC SDK.
  • Decorated functions which throw a SAPException in case of error.

The functions of the SDK are imported with import etc.c.sapnwrfc;. This is the C API as documented in the SDK. You get additonally functionality if you use import;. Each function from the C API is available. All functions which have an ERROR_INFO parameter have an overloaded prototype without this argument. In case of an error these functions throw a SAPException. The use of module should be preferred because of the much easier error handling.


  • Currently there are no bindings for the decimal data types DecFloat16 and DecFloat34.
  • The prototypes are still reworked to use out and other type modifiers.
  • A high level API is missing. Ideas include:
  • The C style string handling should be replaced with D strings
  • Data containers should provide a range interface
  • ...


This project is distributed under the BSD 3-clause licence.

  • Kai Nacke
0.7.0 2018-Aug-26
0.0.4 2016-Mar-07
0.0.3 2015-Oct-07
0.0.2 2015-Oct-04
0.0.1 2015-Aug-01
Show all 6 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 105 downloads total

Short URL: