Docs / Connectors / Microsoft Fabric

Microsoft Fabric Connector

The ASAPIO Integration Add-on connects SAP S/4HANA and SAP ECC directly to Microsoft Fabric — writing SAP business data in real time to Lakehouse tables, OneLake files, or via Open Mirroring into Fabric mirrored databases. The connector uses native SAP application-layer integration and requires no middleware or database-layer access.

Overview

ComponentType
ASAPIO Integration Add-on – FrameworkBase component (required)
ASAPIO Integration Add-on – Connector for Microsoft® Azure®Required add-on (same package as Azure connector)
PropertyValue
Connection Instance Cloud TypeFABRIC
Error MappingHTTP 201 → Success, HTTP 202 → Success

Prerequisites

An active Microsoft Azure subscription (for OAuth or Managed Identity authentication) and a Microsoft Fabric workspace are required. The ASAPIO Integration Add-on Connector for Microsoft Azure must be installed before configuring the Fabric connector.

SAP Connection Setup (in SAP Gui)

The connection setup in SAP GUI is a required first step for both the Event Studio and SAP GUI configuration paths. Event Studio uses the connection defined here — it cannot be created from within Event Studio.

Step 1 — Create RFC Destinations (SM59)

Create two HTTP type G RFC destinations:

SM59 OAuth token RFC destination for Fabric
SM59 OneLake RFC destination for Fabric

Step 2 — Import SSL Certificate (STRUST)

In transaction STRUST, import the Microsoft TLS certificate into the SSL Client Certificate list and add it to the Certificate List used by both RFC destinations.

STRUST certificate import for Fabric

Step 3 — Import BC-Set (SCPR20)

Import the ASAPIO Azure framework BC-Set (same as the Azure connector):

SCPR20 BC-Set import for Fabric

Step 4 — Configure Cloud Adapter (SPRO)

In SPRO → ASAPIO Cloud Integrator → Maintain Cloud Adapter, set:

Fabric cloud adapter configuration in SPRO
Fabric error code mapping 201/202 to Success

Step 5 — Create Connection Instance

In transaction /ASADEV/ACI_SETTINGS, create a connection instance pointing to the OneLake RFC destination with Cloud Type FABRIC. Set the OAuth default values:

Default AttributeValue / Description
AZURE_CLIENT_IDApplication (client) ID from the Azure App Registration
TOKEN_DESTINATIONRFC destination name for the OAuth token endpoint
Fabric connection instance with default values

Store the Azure App Registration client secret in the SAP Secure Store (transaction /ASADEV/SCI_TPW).

Client secret in SAP Secure Store for Fabric

Create an outbound interface (Event Studio)

Prerequisite: The connection instance must already be set up in SAP GUI (see SAP Connection Setup above) before Event Studio can be used.

Event Studio is the web-based configuration interface for the ASAPIO Integration Add-on. To configure a Fabric replication event:

  1. Open Event Studio and select the backend SAP system.
  2. Go to the Data Catalog to find the data object to replicate.
  3. In the Available Standard Events table, click Deploy, or use Create to define a new event.
  4. Select the Fabric connection from the Connection dropdown — the Header Fields table auto-populates with the connection's default attributes.
  5. Set the required header attributes for the target Fabric destination (Open Mirroring, Lakehouse, or custom — see sections below).
  6. Save and activate the event.

After creating the interface in Event Studio, configure the target-specific settings: Open Mirroring, Lakehouse, Managed Identity, Change Pointers, or Packed Load.

Open Mirroring

Open Mirroring replicates SAP data directly into a Fabric Mirrored Database in real time. Changes are delivered as incremental PATCH operations in Parquet format, enabling continuous sync without scheduled jobs.

Header Attributes

Configure the following header attributes on the outbound object for Open Mirroring targets. Header attributes apply equally when configuring via Event Studio or SAP GUI.

Header AttributeValue / DescriptionRequired
ACI_HTTP_METHODPATCHYes
AZURE_SERVICE_TYPEMIRRORINGYes
FABRIC_MIRROR_IDMirroring item ID from the Fabric workspaceYes
FABRIC_MIRROR_TABLETarget table name in the mirrored databaseYes
FABRIC_WORKSPACEFabric workspace ID (GUID)Yes
Open Mirroring header attributes

Formatter

Open Mirroring uses the Parquet formatter: /ASADEV/ACI_PARQUET_FORMATTER. This serializes SAP data into the Parquet column format expected by Fabric Open Mirroring.

Open Mirroring Parquet formatter configuration

Create Outbound Object (SAP GUI)

In transaction /ASADEV/68000202, select the connection instance and add an entry under Outbound Objects. Set:

Open Mirroring outbound object configuration
Open Mirroring outbound object detail

Event Linkage (SWE2)

Register the event trigger in transaction SWE2:

SWE2 event linkage for Fabric

Lakehouse — Custom Data Product

For writing to Fabric Lakehouse files (CSV or Parquet), configure the following header attributes:

Header AttributeValue / DescriptionRequired
ACI_HTTP_METHODPATCHYes
FABRIC_FILE_PATHTarget file path within the Lakehouse (e.g., /Files)Yes
FABRIC_LAKEHOUSELakehouse item ID (GUID) from the Fabric workspaceYes
FABRIC_WORKSPACEFabric workspace ID (GUID)Yes
Fabric Lakehouse header attributes

Managed Identity

When SAP runs on an Azure virtual machine with a managed identity, you can use the managed identity to authenticate against Fabric without a client secret.

For Managed Identity, the connection RFC destination must use HTTP (not HTTPS) to the local metadata endpoint. Set the following defaults on the connection instance:

Default AttributeValue
AZURE_AUTH_TYPEMANAGED_IDENTITY
AZURE_SERVICE_TYPElakehouse
TOKEN_DESTINATIONRFC destination for the MSI metadata endpoint
Managed Identity connection instance default values

Change Pointer Header

The change pointer header enables efficient incremental data delivery. When activated, each message includes metadata about which record changed and when. This allows the Fabric notebook to process only new or changed records without re-reading the full dataset.

Activate the change pointer header by setting ACI_CP_INFO=X on the outbound object. The following fields are automatically added to each message:

FieldDescription
ACICPIDENTChange pointer identifier
ACITABNAMESource table name
ACITABKEYKey of the changed record
ACICRETIMETimestamp when the change pointer was created
ACIACTTIMETimestamp of the business event
ACICDCHGIDChange document ID

Packed Load

Packed Load splits large data sets into configurable packages and streams them sequentially to Fabric. This is used for initial loads or large periodic sync jobs.

Header AttributeValue / DescriptionExample
ACI_PACK_TABLETable for key fields (typically the header table)MARA
ACI_PACK_SIZERecords per delivery package500
ACI_PACK_KEY_LENGTHTotal length of key fields13
ACI_PACK_WHERE_CONDOptional WHERE condition on ACI_PACK_TABLE
ACI_PACK_RETRY_TIMESeconds before retrying server group resource acquisition300
ACI_PACK_BDCP_COMMITGenerate change pointers per entry (~50% performance impact)X

For Open Mirroring packed load, the extraction FM is /ASADEV/ACI_GEN_PDVIEW_EXTRACT and the formatter is /ASADEV/ACI_PARQUET_FORMATTER with Load Type: Packed Load.

Packed load header attributes for Fabric Open Mirroring

Execute the initial load from transaction /ASADEV/ACI: select the connection, set Upload Type to P, select the replication object, and specify a server group.

Initial packed load execution for Fabric

Optimized Incremental Load

The optimized incremental load pattern uses two outbound objects working together:

  1. The first object runs on event trigger and writes change pointers only (no payload). This is very fast and low-impact.
  2. The second object runs periodically (batch job) and collects all pending change pointers, packs them, and sends the full payload to Fabric.

This approach decouples real-time change capture from the heavier data extraction, reducing load on the SAP system during peak times.

Note: The ASAPIO monitor may show "500 lock object could not be set" messages during packed load execution. This is expected behavior — it indicates that a parallel process is holding the lock and the current process will retry. These errors do not indicate data loss.

Optimized incremental load two-object pattern

Predefined Content

ASAPIO ships predefined data products for the most common SAP business objects. These are ready to deploy without custom configuration and cover both S/4HANA and ECC systems.

S/4HANA Predefined Objects (28)

Business ObjectCDS ViewPayload Design Name
GL DocumentsI_JournalEntryGL Document
GL Document ItemsI_JournalEntryItemGL Document Item
Sales OrdersI_SalesOrderSales Order Header
Sales Order ItemsI_SalesOrderItemSales Order Item
Purchase OrdersI_PurchaseOrderPurchase Order Header
Purchase Order ItemsI_PurchaseOrderItemPurchase Order Item
Purchase RequisitionsI_PurchaseRequisitionItemPurchase Requisition Item
DeliveriesI_DeliveryDocumentDelivery
Delivery ItemsI_DeliveryDocumentItemDelivery Item
Billing DocumentsI_BillingDocumentBilling Document
Billing Document ItemsI_BillingDocumentItemBilling Document Item
Material MastersI_ProductMaterial Master
Material Plant DataI_ProductPlantMaterial Plant
Customers (Business Partners)I_BusinessPartnerBusiness Partner
Suppliers (Business Partners)I_BusinessPartnerBusiness Partner Supplier
Production OrdersI_ProductionOrderProduction Order
Production Order OperationsI_ProductionOrderOperationProduction Order Operation
Cost CentersI_CostCenterCost Center
Profit CentersI_ProfitCenterProfit Center
Controlling DocumentsI_ControllingDocumentControlling Document
Asset MasterI_MasterFixedAssetAsset Master
Asset TransactionsI_FixedAssetPostingValueAsset Transaction
Work CentersI_WorkCenterWork Center
Plant Maintenance OrdersI_MaintenanceOrderPM Order
Service OrdersI_ServiceOrderService Order
Quality NotificationsI_QualityNotificationQuality Notification
Inspection LotsI_InspectionLotInspection Lot
Stock OverviewI_MatlStkInAcctModStock Overview

ECC Predefined Objects (26)

Business ObjectLeading Table
GL DocumentsBKPF
GL Document ItemsBSEG
Sales OrdersVBAK
Sales Order ItemsVBAP
Purchase OrdersEKKO
Purchase Order ItemsEKPO
Purchase RequisitionsEBAN
DeliveriesLIKP
Delivery ItemsLIPS
Billing DocumentsVBRK
Billing Document ItemsVBRP
Material MastersMARA
Material Plant DataMARC
CustomersKNA1
SuppliersLFA1
Production OrdersAUFK
Cost CentersCSKS
Controlling DocumentsCOEP
Asset MasterANLA
Asset TransactionsANEK
Work CentersCRHD
Plant Maintenance OrdersAUFK
Quality NotificationsQMEL
Inspection LotsQALS
Stock OverviewMARD
Batch MasterMCH1
Predefined content catalog for Fabric
Predefined content deployment for Fabric

Fabric Notebook

The ASAPIO Fabric connector ships example PySpark notebooks for processing the delivered SAP data. The notebook reads SAP CSV files from OneLake, merges them into Delta tables, and enables incremental processing using the change pointer metadata.

Notebook Variables

VariableDescription
path_to_csv_filesOneLake path to the SAP CSV files (e.g., Files/SAP/MaterialMaster/)
path_to_delta_tableLakehouse Delta table path to merge data into
patternFile name pattern for filtering incoming files (e.g., *.csv)
pattern_with_groupsRegex pattern with named capture groups for parsing filename metadata
Fabric notebook processing SAP data
Fabric notebook Delta table merge
Fabric notebook incremental processing
Fabric notebook query results