Appearance
Import Multi-Level BOMs from SAP S/4HANA
This guide explains how to pull complete, multi-level bills of material (BOMs) from SAP S/4HANA with the SAP S/4HANA PLM connector, and how to link them to the suppliers you import as master data.
Overview
The connector has two BOM operations:
| Operation | Returns |
|---|---|
| Get BOM | One record per parent–child line, one level deep |
| Get Exploded BOM | One record per top-level product, containing its full component tree |
Use Get Exploded BOM when the target system needs the whole product structure, for example a compliance platform like 3E Exchange.
Prerequisites
- A deployed SAP S/4HANA PLM connector instance
- The communication arrangements for the SAP APIs it reads:
| SAP API | Communication scenario | Used for |
|---|---|---|
Bill of Material (API_BILL_OF_MATERIAL_SRV) | SAP_COM_0105 | BOM headers, items and the explosion |
Product master (API_PRODUCT_SRV) | SAP_COM_0009 | Weights, material type and group, status |
Purchasing info records (API_INFORECORD_PROCESS_SRV) | SAP_COM_0145 | Supplier per material |
Business partner (API_BUSINESS_PARTNER) | SAP_COM_0008 | Supplier names |
Operation Settings
Two settings on the Get Exploded BOM operation control which BOMs it returns. You set them per workflow step, so one connector instance can read production BOMs in one workflow and sales BOMs in another:
| Setting | Default | Description |
|---|---|---|
| BOM usage | 1 | Which SAP BOM usage to read: 1 production, 2 engineering/design, 4 plant maintenance, 5 sales and distribution |
| BOM explosion application | PP01 | The SAP explosion application. SAP uses it to choose which BOM usage it explodes, so it must match BOM usage (for example PP01 for production, SD01 for sales). The available applications are configured per SAP system |
If the application doesn't match the usage, SAP explodes a different BOM than requested. The run then fails with a message naming both BOMs, so you can correct the setting.
What Get Exploded BOM Returns
The operation returns one record per root BOM: a BOM whose product isn't used as a component in another BOM of the same usage. Sub-assemblies appear inside the tree of the product they belong to, not as separate records. A product with alternative BOMs returns one record per alternative.
Each record contains:
| Field | Description |
|---|---|
RootMaterialNumber, RootMaterialDescription | The top-level product |
BillOfMaterial, BomVariant, BomUsage, BomStatus, Plant | The SAP BOM that was exploded |
Root… fields | Product master and supplier data of the top-level product (see below) |
Children | The components, each with their own Children, down to the lowest level |
Every component in Children has:
| Field | Description |
|---|---|
MaterialNumber, Description | The component |
Level | Depth in the tree (1 = direct component of the product) |
ItemNumber, Quantity, ComponentUnit | The BOM line: quantity per parent |
GrossWeight, NetWeight, WeightUnit | Weights from the product master |
ProductType, ProductGroup | Material type (e.g. FERT, HALB, ROH) and material group |
CrossPlantMaterialStatus, PlantMaterialStatus | Material status in SAP |
SupplierNumber, SupplierName, SupplierPartNumber | The first active purchasing info record for the material |
Map the fields you need onto your target schema with a schema mapping. In the mapping editor, the fields of the first Children level are listed; deeper levels have the same fields.
Linking BOMs to Suppliers
To make suppliers available as master data, import them with the connector's Get Suppliers operation (see Sync Master Data). Use the supplier's Id (the SAP supplier number) as the master data Identifier.
A component's SupplierNumber in Get Exploded BOM is the same SAP supplier number, so a schema mapping can look up the supplier's master data item by that value.
A component only has a supplier when SAP has a purchasing info record for it. If a material has several, the first active one is used.
Limitations
- Plant-independent BOMs: BOMs without a plant (often engineering BOMs) may not be explodable in your SAP system. If SAP returns "no BOM is available", the run fails for that BOM.
- Run time: the operation makes one explosion call per root BOM. Expect roughly half a second per root BOM, plus a few calls per page for product and supplier data.
