BizDoc.Infrastructure.SAP 6.8.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package BizDoc.Infrastructure.SAP --version 6.8.0                
NuGet\Install-Package BizDoc.Infrastructure.SAP -Version 6.8.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BizDoc.Infrastructure.SAP" Version="6.8.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BizDoc.Infrastructure.SAP --version 6.8.0                
#r "nuget: BizDoc.Infrastructure.SAP, 6.8.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BizDoc.Infrastructure.SAP as a Cake Addin
#addin nuget:?package=BizDoc.Infrastructure.SAP&version=6.8.0

// Install BizDoc.Infrastructure.SAP as a Cake Tool
#tool nuget:?package=BizDoc.Infrastructure.SAP&version=6.8.0                

SAP for BizDoc

In program.cs

builder.Services.AddBizDoc().
  AddSAP(options => 
    {
      options.ConnectionString = "sap";
    });

app.UseBizDoc().UseSAP();
Extension Usage
UseUserIdentityManager()
UseExchangeRate() Set base currency in options
UseAnalysis() Configure and schedule
ScheduleDocumentsSynchronize()
ScheduleItemsSynchronize()
ScheduleGeneralLedgerSynchronize()

Employee Identity

Implement IdentityEmployee and EmployeeIdentity to convert BizDoc user identity to SAP employee and vice versa.

builder.Services.AddBizDoc().
  AddSAP(options => 
    {
      options.EmployeeIdentity = e => e.ServiceProvider.GetService<SAPStorage>().Employees.Find(e.EmployeeId).UserCode;
    });

If employee identifier is in ClaimPrincipal, set options EmployeeIdClaimType.

Analysis

Configure UseAnalysis base on SAP account segmentations.

app.UseBizDoc().
    UseSAP().
    UseAnalysis();

BizDoc configure two cubes in bizdoc.json with axes and default views.

{
    "Cubes": [{
        "Type": "BizDoc.SAP.Configuration.DocumentCube, BizDoc.Infrastructure.SAP",
        "Axes": [...],
        "Views": [...]
    }, {
        "Type": "BizDoc.SAP.Configuration.ItemCube, BizDoc.Infrastructure.SAP",
        "Axes": [...],
    }]
}
{
    "Widgets": [{
        "Type": "BizDoc.Configuration.Widgets.CubeAnalysis",
        "Options": {
            "XAxis": "..."
        }
    }]
}

Object type

Type
SelfInvoice
PurchaseRequest
AccountPayableDownPayment
AccountReceivableDownPayment
AccountReceivableCorrectionInvoiceReversal
AccountReceivableCorrectionInvoice
AccountPayableCorrectionInvoiceReversal
AccountPayableCorrectionInvoice
SalesQuotation
GoodsReceipt
GoodsIssue
GoodsReturn
GoodsReceiptPurchaseOrder
SalesOrder
Delivery
AccountPayableInvoice
AccountReceivableInvoice
Returns
AccountReceivableReturnRequest
InventoryTransfer
PurchaseOrder

Set ObjectType in options to relevant types.

Mapping

Implement CubeBase.IAxesMapping.

public class ShippingDateMapping : DocumentMappingPolicy
{
    public ShippingDateMapping()
    {
        Mapping["branch"] = new MappingValue("Branch", MappingType.Integer);
    };
    public override string Date = "ShipDate";
}

To synchronize individual document type, use ScheduleDocumentsSynchronize.

app.UseBizDoc().
    UseSAP().
    ScheduleDocumentsSynchronize<ShippingDateMapping>(ObjectType.Delivery, Cron.Daily());

Set DocumentMappingPolicy, ItemMappingPolicy and GlMappingPolicy in options.

Configure

From Architect utility, create new cube from either Documents or Items.

Widgets

Departments Performace.

Peers.

My Teams.

My Teams Pending.

Team Pending.

Teams Performance.

Workflow

DirectManager node

Assign document owner employee manager, if exists.

Position node

Assign user(s) to w/f by employee position.

Components

Types added to bizdoc.SAP.json.

Name Usage
CostCenters
Projects
Departments
AccountSegmentationCategories Set SegmentName in configuration file options
AccountCategories
GeneralLedgerAccounts
Branchs
Warehouses
Countries
ItemGroups
BusinessPlaces
ExpenseTypes
Employees
Salesperson
Manufacturers
Locations Item location
Teams Employee teams
Positions User / employee position

Configure AccountSegmentationCategories in bizdoc.json:

{
  "Types": [
    {
        "Name": "departments",
        "Type": "BizDoc.SAP.Configuration.AccountSegmentationCategories, BizDoc.SAP",
        "Options": {
            "SegmentName": "region"
        }
    }
  ]
}

Database

Access database by injecting the SAPStorage service.

using BizDoc.SAP.Storage;

public class MyService {
  private readonly SAPStorage _storage;

  public MyService (SAPStorage storage) => _storage = storage;

  private void List() {
    foreach (var order in _storage.PurchaseOrders) {
	  ...
    }
  }
}

API

Name Method Usage
/api/sap/businesspartners/vendors GET take, value
/api/sap/businesspartners/customers GET take, value
/api/sap/accountsegmentation/{segment} GET take, value AccountSegmentationCategory
/api/sap/businesspartners/{code} GET
/api/sap/glaccounts GET take, parent, value GeneralLedgerAccount
/api/sap/items GET take, value
/api/sap/items/{number} GET
/api/sap/purchaseorders/{id} GET

Security notice: Restrict api.

Angular

npm @bizdoc/sap package.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.7.0 86 10/8/2024
8.6.0 76 7/29/2024
8.5.0 129 5/7/2024
8.4.2 135 3/16/2024
8.4.1 132 3/13/2024
8.3.9 135 3/12/2024
8.3.8 128 3/11/2024
8.3.7 117 3/11/2024
8.3.6 105 3/10/2024
8.3.5 128 3/10/2024
8.2.5 124 3/7/2024
8.2.4 133 3/5/2024
8.2.2 125 2/20/2024
8.1.2 162 1/17/2024
8.1.1 126 1/12/2024
7.1.1 196 11/20/2023
7.0.1 173 9/23/2023
7.0.0 239 3/28/2023
6.8.8 371 11/6/2022
6.8.7 355 11/1/2022
6.8.6 360 10/31/2022
6.8.5 379 10/27/2022
6.8.4 379 10/27/2022
6.8.3 376 10/24/2022
6.8.2 390 10/20/2022
6.8.1 397 10/18/2022
6.8.0 418 10/16/2022
6.7.12 390 8/25/2022
6.7.11 382 8/24/2022
6.7.9 382 8/14/2022
6.7.8 393 8/9/2022
6.7.7 380 8/4/2022
6.7.5 409 7/24/2022
6.7.3 416 7/21/2022
6.7.2 445 7/12/2022
6.7.1 419 7/10/2022
0.1.16 452 7/2/2022
0.1.14 436 6/30/2022
0.1.13 395 6/30/2022
0.1.10 450 6/29/2022
0.1.8 455 6/26/2022
0.1.7 423 6/26/2022
0.1.5 392 6/24/2022
0.1.4 394 6/24/2022
0.1.3 429 6/23/2022
0.1.1 440 6/23/2022
0.1.0 397 6/23/2022

-