offdataai
SAP · data model template

SAP EWM Warehouse Operations Analytics data model

Kimball warehouse for SAP EWM operations: a task-confirmation-grain fact (/SCWM/ORDIM_C) carrying task quantity, duration, travel distance, and pick/putaway/replenishment/exception flags for throughput, dock-to-stock, and labor-productivity analysis, plus a periodic inventory-position snapshot (/SCWM/AQUA + /SCWM/QUAN) at product × bin × stock-type grain for bin/stock utilization and inventory-accuracy reporting. The storage-bin dimension (/SCWM/LAGP) is role-played as source bin, destination bin, and the snapshot bin; product is SCD2; warehouse tasks (tanum), warehouse orders (who), and handling units (huident) are degenerate dimensions.

SAP Extended Warehouse Management (EWM) operations analytics migrated from SAP EWM / S/4HANA Embedded EWM into Snowflake. Models a confirmed warehouse-task fact at task-confirmation grain (/SCWM/ORDIM_C, with open tasks in /SCWM/ORDIM_O, grouped into warehouse orders /SCWM/WHO and handling units /SCWM/HUHDR) and a periodic inventory-position snapshot at product × bin × stock-type grain (/SCWM/AQUA available stock + /SCWM/QUAN quant) over conformed storage-bin (/SCWM/LAGP), product (SCD2), warehouse (lgnum), process-type, activity-area (aaarea), resource, stock-type (/SCWM/STOCK_IW01-04), and owner-party dimensions. It is a Kimball dimensional model: fact tables at a declared grain surrounded by conformed dimensions, ready for BI tools and a semantic layer.

KimballSAPISO-9001GS1
11
tables
102
columns
15
relationships
2
PII columns

Opening the template creates a project with the ERD, platform-native DDL, a dbt project and documentation already generated (recommended platform: Snowflake). Edit it in plain English or on the canvas, then ship it to any supported warehouse.

Subject areas

warehouse_executioninventory_positionconformed_dimensions

Design decisions

  • Task-confirmation-grain warehouse-task fact

    SAP EWM records each confirmed movement as a warehouse task in /SCWM/ORDIM_C (open tasks in /SCWM/ORDIM_O); declaring the fact at the one-row-per-confirmed-task grain preserves duration, travel distance, and quantity so pick/putaway productivity, throughput, and dock-to-stock cycle time aggregate to any resource, process type, or activity area.

  • Periodic inventory-position snapshot fact

    Bin and stock utilization and inventory accuracy need a level (not additive-over-time) measure of on-hand, available, blocked, and quality-inspection stock; a periodic snapshot at product × bin × stock-type grain sourced from /SCWM/AQUA available stock and /SCWM/QUAN quant is the canonical Kimball pattern for inventory position.

  • Storage-bin dimension role-played for source/destination/snapshot

    A warehouse task moves stock between a source bin (vlpla) and a destination bin (nlpla), and the inventory snapshot sits at one bin; modelling /SCWM/LAGP once and role-playing it via three foreign keys (source_bin_key, dest_bin_key, storage_bin_key) keeps one conformed bin dimension while supporting movement and position analysis.

  • SCD2 on product

    EWM product master attributes (product group, storage condition, hazardous and batch-management flags) change over time; type-2 history preserves the as-was product attributes required for comparable utilization and throughput trend reporting.

  • SAP EWM business keys as dimension business keys

    Warehouse number (lgnum), storage bin (lgpla), warehouse task (tanum), and activity area (aaarea) are the natural keys operators reconcile against the source system; surfacing them as business keys (with tanum/who/huident as degenerate dimensions on the fact) keeps the mart traceable back to SAP EWM.

Tables in the SAP EWM Warehouse Operations Analytics model

Every table with its grain, columns, types and keys. PK marks a primary key, BK a business key and PII a column classified as personal data, which gets a masking strategy by default.

Fact tables (2)

fct_warehouse_task

Grain: one row per confirmed warehouse task (SAP /SCWM/ORDIM_C)

Task-confirmation-grain fact for throughput, dock-to-stock, and pick/putaway productivity.

ColumnTypeKeys
warehouse_task_keybigintPK
creation_date_keybigint
confirmation_date_keybigint
product_keybigint
warehouse_keybigint
source_bin_keybigint
dest_bin_keybigint
process_type_keybigint
activity_area_keybigint
resource_keybigint
warehouse_task_idvarchar
warehouse_order_idvarchar
handling_unit_idvarchar
task_quantitydecimal
unit_of_measurevarchar
weightdecimal
volumedecimal
planned_duration_secondsdecimal
actual_duration_secondsdecimal
travel_distancedecimal
exception_countinteger
is_pickboolean
is_putawayboolean
is_replenishmentboolean
is_exceptionboolean

fct_inventory_snapshot

Grain: one row per product × bin × stock type per snapshot date (SAP /SCWM/AQUA + /SCWM/QUAN)

Periodic-snapshot fact for bin/stock utilization and inventory-accuracy reporting.

ColumnTypeKeys
inventory_snapshot_keybigintPK
snapshot_date_keybigint
product_keybigint
warehouse_keybigint
storage_bin_keybigint
stock_type_keybigint
owner_party_keybigint
quantity_on_handdecimal
available_quantitydecimal
blocked_quantitydecimal
quality_inspection_quantitydecimal
bin_capacity_used_pctdecimal
days_in_bininteger
valuation_amountdecimal
currencyvarchar

Dimension tables (9)

dim_date

Grain: one row per calendar day

ColumnTypeKeys
date_keybigintPK
full_datedateBK
day_of_monthsmallint
month_numbersmallint
month_namevarchar
quartersmallint
yearsmallint
is_business_dayboolean

dim_product

Grain: one row per product per SCD2 version (SAP EWM product matnr)

SCD type 2

ColumnTypeKeys
product_keybigintPK
product_numbervarcharBK
descriptionvarchar
ean_gtinvarchar
product_groupvarchar
base_unitvarchar
net_weightdecimal
volumedecimal
is_hazardousboolean
storage_conditionvarchar
is_batch_managedboolean

dim_warehouse

Grain: one row per EWM warehouse number (lgnum)

ColumnTypeKeys
warehouse_keybigintPK
warehouse_numbervarcharBK
descriptionvarchar
plantvarchar
supply_chain_unitvarchar
locationvarchar
countryvarchar

dim_storage_bin

Grain: one row per storage bin (SAP /SCWM/LAGP lgpla) — role-played as source/dest/snapshot bin

ColumnTypeKeys
storage_bin_keybigintPK
storage_binvarcharBK
storage_typevarchar
storage_sectionvarchar
bin_typevarchar
aislevarchar
stackvarchar
levelvarchar
activity_areavarchar
is_fixed_binboolean

dim_process_type

Grain: one row per warehouse process type

ColumnTypeKeys
process_type_keybigintPK
warehouse_process_typevarcharBK
descriptionvarchar
categoryvarchar
is_outboundboolean

dim_activity_area

Grain: one row per EWM activity area (aaarea)

ColumnTypeKeys
activity_area_keybigintPK
activity_areavarcharBK
descriptionvarchar
warehouse_numbervarchar

dim_resource

Grain: one row per warehouse resource (operator / equipment)

ColumnTypeKeys
resource_keybigintPK
resourcevarcharBK
resource_typevarchar
operator_namevarcharPII
resource_groupvarchar
is_activeboolean

dim_stock_type

Grain: one row per EWM stock type (SAP /SCWM/STOCK_IW01-04 categories)

ColumnTypeKeys
stock_type_keybigintPK
stock_typevarcharBK
descriptionvarchar
stock_categoryvarchar
availability_groupvarchar
is_availableboolean

dim_owner_party

Grain: one row per stock owner / party-entitled-to-dispose

ColumnTypeKeys
owner_party_keybigintPK
partyvarcharBK
namevarcharPII
party_rolevarchar
is_externalboolean

Relationships

Each relationship is a foreign key on the first table referencing the second.

  • fct_warehouse_task.creation_date_key → dim_date (many-to-one)
  • fct_warehouse_task.confirmation_date_key → dim_date (many-to-one)
  • fct_warehouse_task.product_key → dim_product (many-to-one)
  • fct_warehouse_task.warehouse_key → dim_warehouse (many-to-one)
  • fct_warehouse_task.source_bin_key → dim_storage_bin (many-to-one)
  • fct_warehouse_task.dest_bin_key → dim_storage_bin (many-to-one)
  • fct_warehouse_task.process_type_key → dim_process_type (many-to-one)
  • fct_warehouse_task.activity_area_key → dim_activity_area (many-to-one)
  • fct_warehouse_task.resource_key → dim_resource (many-to-one)
  • fct_inventory_snapshot.snapshot_date_key → dim_date (many-to-one)
  • fct_inventory_snapshot.product_key → dim_product (many-to-one)
  • fct_inventory_snapshot.warehouse_key → dim_warehouse (many-to-one)
  • fct_inventory_snapshot.storage_bin_key → dim_storage_bin (many-to-one)
  • fct_inventory_snapshot.stock_type_key → dim_stock_type (many-to-one)
  • fct_inventory_snapshot.owner_party_key → dim_owner_party (many-to-one)

Related templates

All templates →
Start for $1

From requirements to AI-ready context, in one platform.

Describe your business in a conversation, start from a template or connect your own database. Your first model is ready in minutes.

Get startedBook a demo

Plans from $1/month · cancel any time