Jump to: navigation, search

Difference between revisions of "MRO Material Management"


Line 53: Line 53:
 
'''Core idea:''' <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MaterialMaster</span> defines what the material is. <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Material</span> represents the material in the MRO stock or material context. <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Reservation</span> links a material to a task and reserves a planned quantity for maintenance execution.
 
'''Core idea:''' <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MaterialMaster</span> defines what the material is. <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Material</span> represents the material in the MRO stock or material context. <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Reservation</span> links a material to a task and reserves a planned quantity for maintenance execution.
 
</div>
 
</div>
 +
 +
== Object overview ==
 +
 +
{| class="wikitable"
 +
! Object
 +
! Class name
 +
! Base / inheritance
 +
! Main relations
 +
|-
 +
| Material
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">UBIK.MRO.Material</span>
 +
| Inherits from <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">GoodsMovement</span>
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">LK_MATERIAL_MASTER</span>, <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">LK_STORAGE_LOCATION</span>
 +
|-
 +
| Material Master
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">UBIK.MRO.MaterialMaster</span>
 +
| Master data class
 +
| Referenced by <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Material</span> via <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">LK_MATERIAL_MASTER</span>
 +
|-
 +
| Reservation
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">UBIK.MRO.Reservation</span>
 +
| Inherits from <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">GoodsMovement</span>
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">LK_TASK</span>, <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">LK_MATERIAL</span>
 +
|-
 +
| Goods Movement
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">UBIK.MRO.GoodsMovement</span>
 +
| Base class
 +
| Provides <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">QUANTITY</span> to derived objects
 +
|-
 +
| Storage Location
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">UBIK.MRO.StorageLocation</span>
 +
| Functional location specialization
 +
| Referenced by <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Material</span> via <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">LK_STORAGE_LOCATION</span>
 +
|}
 +
 +
== GoodsMovement ==
 +
 +
=== Purpose ===
 +
 +
<span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">GoodsMovement</span> is the base class for material-related quantity-bearing objects.
 +
 +
It defines the common quantity concept used by both:
 +
 +
* <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Material</span>
 +
* <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Reservation</span>
 +
 +
=== Important properties ===
 +
 +
{| class="wikitable"
 +
! Property
 +
! Type
 +
! Meaning
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">QUANTITY</span>
 +
| double
 +
| Quantity value for the goods movement. For <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Material</span>, this is the material quantity. For <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Reservation</span>, this is the actual reservation quantity and has reservation-specific validation.
 +
|}
 +
 +
== MaterialMaster ==
 +
 +
=== Purpose ===
 +
 +
<span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MaterialMaster</span> represents the material master or catalogue entry.
 +
 +
It stores item-level master data that can be referenced by material instances in MRO.
 +
 +
A material master describes the material independently from a concrete reservation or task.
 +
 +
=== Important properties ===
 +
 +
{| class="wikitable"
 +
! Property
 +
! Type
 +
! Meaning
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">ITEM_NUMBER</span>
 +
| string
 +
| Item number or material number of the material master.
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">PACKAGING_UNIT</span>
 +
| string
 +
| Packaging unit of the material.
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">PACKAGING_SIZE</span>
 +
| double
 +
| Packaging size.
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">ACTIVE</span>
 +
| bool
 +
| Defines whether the material master is active.
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">UNIT_OF_MEASURE</span>
 +
| string
 +
| Unit of measure used for the material.
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MATERIAL_TYPE</span>
 +
| int
 +
| Underlying integer value for the material type.
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MaterialType</span>
 +
| enum
 +
| Typed accessor for <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MATERIAL_TYPE</span>.
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MANUFACTURER_COMPANY_NAME</span>
 +
| string
 +
| Manufacturer company name.
 +
|-
 +
| <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MANUFACTURER_PRODUCT_TAG</span>
 +
| string
 +
| Manufacturer product tag or product identifier.
 +
|}
 +
 +
=== Material type ===
 +
 +
The typed material type accessor is <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">MaterialType</span>.
 +
 +
Known values are:
 +
 +
* <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">SpareParts</span>
 +
* <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Consumables</span>
 +
* <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Tools</span>
 +
 +
<div style="border-left: 4px solid #f0ad4e; background-color: #fff8e5; padding: 10px 12px; margin: 12px 0;">
 +
'''Open point:''' No explicit SAP or ERP synchronization behavior was found in the inspected classes. <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">ITEM_NUMBER</span> may correspond to an external material number, but the exact SAP/ERP mapping is unclear from the available code information.
 +
</div>
 +
 +
== Material ==
 +
 +
=== Purpose ===
 +
 +
<span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">Material</span> represents a material instance or stock entry in MRO.
 +
 +
It inherits from <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">GoodsMovement</span> and therefore uses the inherited <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">QUANTITY</span> property as its material quantity.
 +
 +
A material links to:
 +
 +
* a material master via <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">LK_MATERIAL_MASTER</span>
 +
* a storage location via <span style="font-family: Consolas, 'Courier New', monospace; color: #202122; background-color: #f8f9fa; border: 1px solid #c8ccd1; border-radius: 3px; padding: 1px 4px; white-space: nowrap;">LK_STORAGE_LOCATION</span>
 +
 +
It also exposes calculated reservation and availability logic.
 +
  
 
{{UnderConstructionEnd}}
 
{{UnderConstructionEnd}}

Revision as of 14:23, 17 June 2026

Wiki Under Construction Start.PNG

MRO Material Management

Summary: The MRO material management features provide the foundation for handling materials, material master data, reservations, storage locations, and goods movements in MRO workflows. The central objects are Material, MaterialMaster, Reservation, GoodsMovement, and StorageLocation. Materials are linked to master data and storage locations. Reservations link materials to tasks and define planned or actual quantities for maintenance work.

MRO material management is used to support maintenance work with the required spare parts, consumables, tools, or other material items.

In a maintenance workflow, users may need to know:

  • which material is required for a task
  • which material master data belongs to a material
  • where the material is stored
  • how much material is available
  • how much material is already reserved
  • which reservations exist for a task
  • whether a reservation is planned, confirmed, issued, cancelled, or expired

The material management implementation separates the general material catalogue from the actual material quantity and reservation handling.

Basic concept

The material management implementation is built around the following main objects:

Object Type Purpose
MaterialMaster Master data Defines the catalogue entry for a material, including item number, unit, packaging, manufacturer data, and material type.
Material Quantity-bearing MRO object Represents a material instance or stock entry in MRO. It links to a material master and a storage location and exposes quantity, reserved quantity, and available quantity logic.
Reservation Workflow / transaction object Represents a material reservation for a task. It links a material to a task and stores planned and actual quantities.
GoodsMovement Base class Provides the common QUANTITY property used by both materials and reservations.
StorageLocation Storage master / location object Represents a physical storage location and stores storage-related information such as storage type, dimensions, access type, and occupancy status.

Core idea: MaterialMaster defines what the material is. Material represents the material in the MRO stock or material context. Reservation links a material to a task and reserves a planned quantity for maintenance execution.

Object overview

Object Class name Base / inheritance Main relations
Material UBIK.MRO.Material Inherits from GoodsMovement LK_MATERIAL_MASTER, LK_STORAGE_LOCATION
Material Master UBIK.MRO.MaterialMaster Master data class Referenced by Material via LK_MATERIAL_MASTER
Reservation UBIK.MRO.Reservation Inherits from GoodsMovement LK_TASK, LK_MATERIAL
Goods Movement UBIK.MRO.GoodsMovement Base class Provides QUANTITY to derived objects
Storage Location UBIK.MRO.StorageLocation Functional location specialization Referenced by Material via LK_STORAGE_LOCATION

GoodsMovement

Purpose

GoodsMovement is the base class for material-related quantity-bearing objects.

It defines the common quantity concept used by both:

  • Material
  • Reservation

Important properties

Property Type Meaning
QUANTITY double Quantity value for the goods movement. For Material, this is the material quantity. For Reservation, this is the actual reservation quantity and has reservation-specific validation.

MaterialMaster

Purpose

MaterialMaster represents the material master or catalogue entry.

It stores item-level master data that can be referenced by material instances in MRO.

A material master describes the material independently from a concrete reservation or task.

Important properties

Property Type Meaning
ITEM_NUMBER string Item number or material number of the material master.
PACKAGING_UNIT string Packaging unit of the material.
PACKAGING_SIZE double Packaging size.
ACTIVE bool Defines whether the material master is active.
UNIT_OF_MEASURE string Unit of measure used for the material.
MATERIAL_TYPE int Underlying integer value for the material type.
MaterialType enum Typed accessor for MATERIAL_TYPE.
MANUFACTURER_COMPANY_NAME string Manufacturer company name.
MANUFACTURER_PRODUCT_TAG string Manufacturer product tag or product identifier.

Material type

The typed material type accessor is MaterialType.

Known values are:

  • SpareParts
  • Consumables
  • Tools

Open point: No explicit SAP or ERP synchronization behavior was found in the inspected classes. ITEM_NUMBER may correspond to an external material number, but the exact SAP/ERP mapping is unclear from the available code information.

Material

Purpose

Material represents a material instance or stock entry in MRO.

It inherits from GoodsMovement and therefore uses the inherited QUANTITY property as its material quantity.

A material links to:

  • a material master via LK_MATERIAL_MASTER
  • a storage location via LK_STORAGE_LOCATION

It also exposes calculated reservation and availability logic.


Wiki Under Construction End.PNG