Skip to content

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:

OperationReturns
Get BOMOne record per parent–child line, one level deep
Get Exploded BOMOne 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 ​

  1. A deployed SAP S/4HANA PLM connector instance
  2. The communication arrangements for the SAP APIs it reads:
SAP APICommunication scenarioUsed for
Bill of Material (API_BILL_OF_MATERIAL_SRV)SAP_COM_0105BOM headers, items and the explosion
Product master (API_PRODUCT_SRV)SAP_COM_0009Weights, material type and group, status
Purchasing info records (API_INFORECORD_PROCESS_SRV)SAP_COM_0145Supplier per material
Business partner (API_BUSINESS_PARTNER)SAP_COM_0008Supplier 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:

SettingDefaultDescription
BOM usage1Which SAP BOM usage to read: 1 production, 2 engineering/design, 4 plant maintenance, 5 sales and distribution
BOM explosion applicationPP01The 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:

FieldDescription
RootMaterialNumber, RootMaterialDescriptionThe top-level product
BillOfMaterial, BomVariant, BomUsage, BomStatus, PlantThe SAP BOM that was exploded
Root… fieldsProduct master and supplier data of the top-level product (see below)
ChildrenThe components, each with their own Children, down to the lowest level

Every component in Children has:

FieldDescription
MaterialNumber, DescriptionThe component
LevelDepth in the tree (1 = direct component of the product)
ItemNumber, Quantity, ComponentUnitThe BOM line: quantity per parent
GrossWeight, NetWeight, WeightUnitWeights from the product master
ProductType, ProductGroupMaterial type (e.g. FERT, HALB, ROH) and material group
CrossPlantMaterialStatus, PlantMaterialStatusMaterial status in SAP
SupplierNumber, SupplierName, SupplierPartNumberThe 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.