Connect to SAP ByDesign Data from Blazor Apps



Build ASP.NET Core Blazor C# apps that integrate with real-time SAP ByDesign data using standard SQL.

Blazor is a framework for developing modern, client-side web UIs using .NET technology. Instead of coding in JavaScript, developers can use the familiar C# language and .NET libraries to build app UIs.

The CData ADO.NET Provider for SAP ByDesign can be used with standard ADO.NET interfaces, such as LINQ and Entity Framework, to interact with live SAP ByDesign data. Since Blazor supports .NET Core, developers can use CData ADO.NET Providers in Blazor apps. In this article, we will guide you to build a simple Blazor app that talks to SAP ByDesign using standard SQL queries.

Install the CData ADO.NET Provider for SAP ByDesign

CData ADO.NET Providers allow users to access SAP ByDesign just like they would access SQL Server, using simple SQL queries.

Install the SAP ByDesign ADO.NET Data Provider from the CData website or from NuGet. Search NuGet for "SAP ByDesign ADO.NET Data Provider."

Create a SAP ByDesign-Connected Blazor App

Start by creating a Blazor project that references the CData ADO.NET Provider for SAP ByDesign

  1. Create a Blazor project on Visual Studio.
  2. From the Solution Explorer, right click Dependencies, then click Add Project Reference.
  3. In the Reference Manager, click the Browse button, and choose the .dll file of the installed ADO.NET Provider (e.g. System.Data.CData.SAPByDesign.dll, typically located at C:\Program Files\CData\CData ADO.NET Provider for SAP ByDesign\lib etstandard2.0).

SELECT SAP ByDesign Data from the Blazor App

  1. Open the Index.razor file from the Project page.
  2. In a SAPByDesignConnection object, set the connection string:

    Set the following connection properties to connect to SAP ByDesign.

    • Url: Set this to the Url of your SAP ByDesign site. For example, https://test.sapbydesign.com
    • User: Set this to the username of your account.
    • Password: Set this to the password of your account.
    • CustomService or AnalyticsService: Only one of these must be specified. If you have a custom service you want to retrieve data from, specify CustomService. If you want to retrieve the reports of a analytical service, specify AnalyticsService.
      If neither is specified, 'cc_home_analytics.svc' will used as a default for the AnalyticsService property. If you are not sure what service to specify, you can always query the Services view to list available services.

    For example: URL=https://my999999.sapbydesign.com;User=username;Password=password;CustomService=servicename;

  3. The code below creates a simple Blazor app for displaying SAP ByDesign data, using standard SQL to query SAP ByDesign just like SQL Server.

          @page "/"
          @using System.Data;
          @using System.Data.CData.SAPByDesign;
          
          <h1>Hello, world!</h1>
          
          Welcome to your Data app.
          
          <div class="row">
              <div class="col-12">
          
                  @using (SAPByDesignConnection connection = new SAPByDesignConnection(
                    "URL=https://my999999.sapbydesign.com;User=username;Password=password;CustomService=servicename;"))
                  {
                      var sql = "SELECT ID, ProductCategoryID FROM [Inventory Balance] WHERE ProductCategoryID = '1234567'";
                      var results = new DataTable();
          
                      SAPByDesignDataAdapter dataAdapter = new SAPByDesignDataAdapter(sql, connection);
                      dataAdapter.Fill(results);
          
                      <table class="table table-bordered">
                          <thead class="thead-light">
                              <tr>
                                  @foreach (DataColumn item in results.Rows[0].Table.Columns)
                                  {
                                      <th scope="col">@item.ColumnName</th>
                                  }
                              </tr>
                          </thead>
                          <tbody>
                              @foreach (DataRow row in results.Rows)
                              {
                                  <tr>
                                      @foreach (var column in row.ItemArray)
                                      {
                                          <td>@column.ToString()</td>
                                      }
                                  </tr>
                              }
                          </tbody>
                      </table>
                  }
              </div>
          </div>
        
  4. Rebuild and run the project. The ADO.NET Provider renders SAP ByDesign data as an HTML table in the Blazor app.

    At this point, you have a SAP ByDesign-connected Blazor app, capable of working with live SAP ByDesign data just like you would work with a SQL Server instance. Download a free, 30-day trial and start working with live SAP ByDesign data in your Blazor apps today.

Ready to get started?

Download a free trial of the SAP ByDesign Data Provider to get started:

 Download Now

Learn more:

SAP ByDesign Icon SAP ByDesign ADO.NET Provider

Rapidly create and deploy powerful .NET applications that integrate with SAP ByDesign.