Difference between revisions of "MRO Material Management"
| Line 193: | Line 193: | ||
It also exposes calculated reservation and availability logic. | It also exposes calculated reservation and availability logic. | ||
| + | |||
| + | === 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. | ||
| + | |||
| + | === Important properties === | ||
| + | |||
| + | {| class="wikitable" | ||
| + | ! Property | ||
| + | ! Type | ||
| + | ! Meaning | ||
| + | ! Stored or calculated | ||
| + | |- | ||
| + | | <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;">MaterialMaster</span> | ||
| + | | Link to the material master data. | ||
| + | | Stored link | ||
| + | |- | ||
| + | | <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> | ||
| + | | <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;">StorageLocation</span> | ||
| + | | Link to the storage location where the material is located. | ||
| + | | Stored link | ||
| + | |- | ||
| + | | <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 | ||
| + | | Material quantity. Inherited 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>. | ||
| + | | Stored property | ||
| + | |- | ||
| + | | <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;">RESERVED_QUANTITY</span> | ||
| + | | double | ||
| + | | Sum of planned quantities of confirmed reservations for this material. | ||
| + | | Calculated property | ||
| + | |- | ||
| + | | <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_STATUS</span> | ||
| + | | int | ||
| + | | Underlying integer value for the material status. | ||
| + | | Stored property | ||
| + | |- | ||
| + | | <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;">MaterialStatus</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_STATUS</span>. | ||
| + | | Stored through <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_STATUS</span> | ||
| + | |} | ||
{{UnderConstructionEnd}} | {{UnderConstructionEnd}} | ||
Revision as of 09:02, 18 June 2026
Contents
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.
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.
Important properties
| Property | Type | Meaning | Stored or calculated |
|---|---|---|---|
| LK_MATERIAL_MASTER | MaterialMaster | Link to the material master data. | Stored link |
| LK_STORAGE_LOCATION | StorageLocation | Link to the storage location where the material is located. | Stored link |
| QUANTITY | double | Material quantity. Inherited from GoodsMovement. | Stored property |
| RESERVED_QUANTITY | double | Sum of planned quantities of confirmed reservations for this material. | Calculated property |
| MATERIAL_STATUS | int | Underlying integer value for the material status. | Stored property |
| MaterialStatus | enum | Typed accessor for MATERIAL_STATUS. | Stored through MATERIAL_STATUS |
