General.Products.ProductSupply Entity
Namespace: General.Products
Contains supply rules, which are used by the procurement planning system. Entity: Gen_Product_Supply
Default Visualization
Default Display Text Format:
{ProcurementType} {Product.PartNumber}: {Product.Name:T} ({Store.Name:T})
Default Search Members:
Product.PartNumber; Product.Name
Category: Definitions
Show in UI: ShownByDefault
Track Changes
Min level: 0 - Do not track changes
Max level: 4 - Track object attribute and blob changes
Aggregate
An aggregate is a cluster of domain objects that can be treated as a single unit.
Aggregate Tree
Attributes
Name | Type | Description |
---|---|---|
BuyerName | string (64) nullable | The code or name of the person, who is in charge for purchasing the product from external suppliers. It is used to group different products on purchase demand report. null when Procurement_Type is not buy. |
DisplayText | string | Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object. |
FixedOrderQuantityBase | Quantity (18, 3) | Fixed order quantity under the FOQ & EOQ replenishment system. Unit: Product.BaseMeasurementCategory.BaseUnit Required Default(0) |
Id | guid | |
IsActive | boolean | True if this product supply is active. Required Default(true) Filter(eq) |
IsDefault | boolean | Specifies whether this is the default supply rule. The planning system works using only the default supply rules. The other rules are for reference and user information. Required Default(true) Filter(eq) |
ManufacturingPolicy | ManufacturingPolicy | MTS=Make-To-Stock; MTO=Make-To-Order; ATO=Assemble-To-Order;ETO=Engineer-To-Order. Required Default("MTS") Filter(eq) |
ObjectVersion | int32 | The latest version of the extensible data object for the aggregate root for the time the object is loaded from the database. Can be used for optimistic locking. |
OrderLotSizeQuantityBase | Quantity (18, 3) | The quantity of the product, normally ordered from the plant or supplier. The quantity is expressed in the base measurement unit. Unit: Product.BaseMeasurementCategory.BaseUnit Required Default(1) |
OrderLotSizingMethod | OrderLotSizingMethod | LFL=Lot for Lot; FOQ=Fixed order quantity; EOQ=Eqonomic Order Quantity; ROP=ReOrder Point; ROT=ReOrder point with Time planning; LFP = Lot For Period;. Required Default("ROP") Filter(eq) |
OrderMaximum | Quantity (18, 3) nullable | Order maximum when buying or making. null means no maximum. Unit: Product.BaseMeasurementCategory.BaseUnit |
OrderMinimum | Quantity (18, 3) | Minimum order quantity both for buying and making. Unit: Product.BaseMeasurementCategory.BaseUnit Required Default(0) Filter(eq;ge;le) |
OrderMultiple | boolean | True if the order qty should be multiple of lot size when buying or making. Required Default(false) |
OrderPeriodPlanningDays | int32 nullable | For how many days in the future should be planned - for fixed period replenishment system. null - not yet specified. |
OrderPeriodStartDate | datetime nullable | Start date of the first period under fixed period replenishment system. null - not yet specified. Filter(ge;le) |
OrderPointQuantityBase | Quantity (18, 3) | Order point quantity under the OP replenishment system. Unit: Product.BaseMeasurementCategory.BaseUnit Required Default(0) Filter(eq;ge;le) |
OrderPolicy | OrderPolicy | Order policy/replenishment system. OPS=Order Point System; OPT=Order Point System with Time planning; PRS=Periodic Review System/Periods Of Supply; MRP = Material Requirements Planning. Required Default("OPS") Filter(eq) |
PlanningAnnual CarryingCostPercent |
decimal (5, 4) nullable | The expected carrying cost as percentage of inventory cost. null means unknown. |
PlanningAnnual UsageQuantityBase |
Quantity (18, 3) nullable | Average usage of the product for 1 year. NUL means unknown. Unit: Product.BaseMeasurementCategory.BaseUnit |
PlanningHorizonDays | int32 | Number of days in the future for which to plan the demand and supply. Required Default(0) |
PlanningLeadTimeDays | int32 | The number of days required to supply or manufacture the product. The number is exclusive of the lead-time of lower-level components. Required Default(0) |
PlanningMaximum InventoryQuantity Base |
Quantity (18, 3) nullable | Maximum inventory. null if N/A. Unit: Product.BaseMeasurementCategory.BaseUnit |
PlanningOrderCost BaseCurrency |
Amount (18, 3) nullable | Projected cost to place an order and set-up equipment. Currency: EnterpriseCompany.BaseCurrency |
PlanningOrderCycleDays | int32 nullable | Number of days in one period under fixed period replenishment system. null - not yet specified. |
PlanningSafety StockQuantityBase |
Quantity (18, 3) | Planned lowest inventory level, protecting against unplanned demands. The quantity is expressed in the base measurement unit of the product. Unit: Product.BaseMeasurementCategory.BaseUnit Required Default(0) |
PlanningTimeFenceDays | int32 | Period in the future inside of which changes to the MPS are carefully evaluated to prevent costly schedule disruption. Demand for the period between DTF and PTF is calculated as the bigger of customer orders and sales forecast. Abbr. - PTF. Required Default(1) |
ProcurementType | ProcurementType | M=Make; B=Buy; T=Transfer. Identifies whether the product is produced or externally bought. Required Default("B") Filter(eq) |
StandardCostPerLot | Amount (18, 4) | Standard cost for one lot of the product. Currency: Product.CostingCurrency Required Default(0) |
SupplySchemaId | guid nullable | The supply schema to use for the distribution of the product among warehouses. Filter(multi eq) |
References
Name | Type | Description |
---|---|---|
DefaultStoreBin | StoreBins (nullable) | Default store bin for new deliveries using this supply scheme. Filter(multi eq) |
EnterpriseCompany | EnterpriseCompanies (nullable) | The Enterprise Company to which this ProductSupply applies, or null if it is for all enterprise companies. Filter(multi eq) |
FromStore | Stores (nullable) | Used when the Procurement_Type is Transfer. Filter(multi eq) |
GenerateDocumentType | DocumentTypes (nullable) | Specifies the type of the document which should be generated by the procurement planning system, when generating supply based on this rule. Filter(multi eq) |
PreferredSupplier | Suppliers (nullable) | Preferred supplier for the product. null if there is no preferred supplier. Filter(multi eq) |
Product | Products (nullable) | The Filter(multi eq) FilterableReference |
ProductGroup | ProductGroups (nullable) | Not null when the method is a default method for a whole product group. In this case new products in the group inherit the settings. Filter(multi eq) |
Store | Stores (nullable) | The store for which this rule is defined. When null, the rule is valid for all stores. Filter(multi eq) |
Attribute Details
BuyerName
The code or name of the person, who is in charge for purchasing the product from external suppliers. It is used to group different products on purchase demand report. null when Procurement_Type is not buy.
Type: string (64) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 64
Show in UI: HiddenByDefault
DisplayText
Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.
Type: string
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault
FixedOrderQuantityBase
Fixed order quantity under the FOQ & EOQ replenishment system. Unit: Product.BaseMeasurementCategory.BaseUnit
Required
Default(0)
Type: Quantity (18, 3)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: Constant
Show in UI: HiddenByDefault
Id
Type: guid
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Default Value: NewGuid
Show in UI: CannotBeShown
IsActive
True if this product supply is active. Required
Default(true)
Filter(eq)
Type: boolean
Category: System
Supported Filters: Equals
Supports Order By: False
Default Value: True
Show in UI: HiddenByDefault
IsDefault
Specifies whether this is the default supply rule. The planning system works using only the default supply rules. The other rules are for reference and user information. Required
Default(true)
Filter(eq)
Type: boolean
Category: System
Supported Filters: Equals
Supports Order By: False
Default Value: True
Show in UI: HiddenByDefault
ManufacturingPolicy
MTS=Make-To-Stock; MTO=Make-To-Order; ATO=Assemble-To-Order;ETO=Engineer-To-Order. Required
Default("MTS")
Filter(eq)
Type: ManufacturingPolicy
Category: System
Allowed values for the ManufacturingPolicy
(General.Products.ProductSupply.md#manufacturingpolicy) data attribute
Allowed Values (General.Products.ProductSupplyRepository.ManufacturingPolicy Enum Members)
Value | Description |
---|---|
AssembleToOrder | AssembleToOrder value. Stored as 'ATO'. Database Value: 'ATO' Model Value: 0 Domain API Value: 'AssembleToOrder' |
MakeToOrder | MakeToOrder value. Stored as 'MTO'. Database Value: 'MTO' Model Value: 1 Domain API Value: 'MakeToOrder' |
MakeToStock | MakeToStock value. Stored as 'MTS'. Database Value: 'MTS' Model Value: 2 Domain API Value: 'MakeToStock' |
EngineerToOrder | EngineerToOrder value. Stored as 'ETO'. Database Value: 'ETO' Model Value: 3 Domain API Value: 'EngineerToOrder' |
Supported Filters: Equals
Supports Order By: False
Default Value: MakeToStock
Show in UI: HiddenByDefault
ObjectVersion
The latest version of the extensible data object for the aggregate root for the time the object is loaded from the database. Can be used for optimistic locking.
Type: int32
Category: Extensible Data Object
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault
OrderLotSizeQuantityBase
The quantity of the product, normally ordered from the plant or supplier. The quantity is expressed in the base measurement unit. Unit: Product.BaseMeasurementCategory.BaseUnit
Required
Default(1)
Type: Quantity (18, 3)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: Constant
Show in UI: ShownByDefault
OrderLotSizingMethod
LFL=Lot for Lot; FOQ=Fixed order quantity; EOQ=Eqonomic Order Quantity; ROP=ReOrder Point; ROT=ReOrder point with Time planning; LFP = Lot For Period;. Required
Default("ROP")
Filter(eq)
Type: OrderLotSizingMethod
Category: System
Allowed values for the OrderLotSizingMethod
(General.Products.ProductSupply.md#orderlotsizingmethod) data attribute
Allowed Values (General.Products.ProductSupplyRepository.OrderLotSizingMethod Enum Members)
Value | Description |
---|---|
EconomicOrderQuantity | EconomicOrderQuantity value. Stored as 'EOQ'. Database Value: 'EOQ' Model Value: 0 Domain API Value: 'EconomicOrderQuantity' |
FixedOrderQuantity | FixedOrderQuantity value. Stored as 'FOQ'. Database Value: 'FOQ' Model Value: 1 Domain API Value: 'FixedOrderQuantity' |
LotForLot | LotForLot value. Stored as 'LFL'. Database Value: 'LFL' Model Value: 2 Domain API Value: 'LotForLot' |
LotForPeriod | LotForPeriod value. Stored as 'LFP'. Database Value: 'LFP' Model Value: 3 Domain API Value: 'LotForPeriod' |
ReorderPoint | ReorderPoint value. Stored as 'ROP'. Database Value: 'ROP' Model Value: 4 Domain API Value: 'ReorderPoint' |
ReorderPointWith TimePlanning |
ReorderPointWith TimePlanning value. Stored as 'ROT'. Database Value: 'ROT' Model Value: 5 Domain API Value: 'ReorderPointWith TimePlanning' |
Supported Filters: Equals
Supports Order By: False
Default Value: ReorderPoint
Show in UI: HiddenByDefault
OrderMaximum
Order maximum when buying or making. null means no maximum. Unit: Product.BaseMeasurementCategory.BaseUnit
Type: Quantity (18, 3) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault
OrderMinimum
Minimum order quantity both for buying and making. Unit: Product.BaseMeasurementCategory.BaseUnit
Required
Default(0)
Filter(eq;ge;le)
Type: Quantity (18, 3)
Category: System
Supported Filters: Equals, GreaterThanOrLessThan
Supports Order By: False
Default Value: Constant
Show in UI: HiddenByDefault
OrderMultiple
True if the order qty should be multiple of lot size when buying or making. Required
Default(false)
Type: boolean
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: False
Show in UI: ShownByDefault
OrderPeriodPlanningDays
For how many days in the future should be planned - for fixed period replenishment system. null - not yet specified.
Type: int32 nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault
OrderPeriodStartDate
Start date of the first period under fixed period replenishment system. null - not yet specified. Filter(ge;le)
Type: datetime nullable
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Show in UI: HiddenByDefault
OrderPointQuantityBase
Order point quantity under the OP replenishment system. Unit: Product.BaseMeasurementCategory.BaseUnit
Required
Default(0)
Filter(eq;ge;le)
Type: Quantity (18, 3)
Category: System
Supported Filters: Equals, GreaterThanOrLessThan
Supports Order By: False
Default Value: Constant
Show in UI: ShownByDefault
OrderPolicy
Order policy/replenishment system. OPS=Order Point System; OPT=Order Point System with Time planning; PRS=Periodic Review System/Periods Of Supply; MRP = Material Requirements Planning. Required
Default("OPS")
Filter(eq)
Type: OrderPolicy
Category: System
Allowed values for the OrderPolicy
(General.Products.ProductSupply.md#orderpolicy) data attribute
Allowed Values (General.Products.ProductSupplyRepository.OrderPolicy Enum Members)
Value | Description |
---|---|
MaterialRequirements Planning |
MaterialRequirements Planning value. Stored as 'MRP'. Database Value: 'MRP' Model Value: 0 Domain API Value: 'MaterialRequirements Planning' |
OrderPointSystem | OrderPointSystem value. Stored as 'OPS'. Database Value: 'OPS' Model Value: 1 Domain API Value: 'OrderPointSystem' |
OrderPointSystem WithTimePlanning |
OrderPointSystem WithTimePlanning value. Stored as 'OPT'. Database Value: 'OPT' Model Value: 2 Domain API Value: 'OrderPointSystem WithTimePlanning' |
PeriodicReviewSystem | PeriodicReviewSystem value. Stored as 'PRS'. Database Value: 'PRS' Model Value: 3 Domain API Value: 'PeriodicReviewSystem' |
Supported Filters: Equals
Supports Order By: False
Default Value: OrderPointSystem
Show in UI: HiddenByDefault
PlanningAnnualCarryingCostPercent
The expected carrying cost as percentage of inventory cost. null means unknown.
Type: decimal (5, 4) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault
PlanningAnnualUsageQuantityBase
Average usage of the product for 1 year. NUL means unknown. Unit: Product.BaseMeasurementCategory.BaseUnit
Type: Quantity (18, 3) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault
PlanningHorizonDays
Number of days in the future for which to plan the demand and supply. Required
Default(0)
Type: int32
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: 0
Show in UI: CannotBeShown
PlanningLeadTimeDays
The number of days required to supply or manufacture the product. The number is exclusive of the lead-time of lower-level components. Required
Default(0)
Type: int32
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: 0
Show in UI: ShownByDefault
Front-End Recalc Expressions:
obj.PreferredSupplier.DefaultDeliveryTermDays
PlanningMaximumInventoryQuantityBase
Maximum inventory. null if N/A. Unit: Product.BaseMeasurementCategory.BaseUnit
Type: Quantity (18, 3) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault
PlanningOrderCostBaseCurrency
Projected cost to place an order and set-up equipment. Currency: EnterpriseCompany.BaseCurrency
Type: Amount (18, 3) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault
PlanningOrderCycleDays
Number of days in one period under fixed period replenishment system. null - not yet specified.
Type: int32 nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault
PlanningSafetyStockQuantityBase
Planned lowest inventory level, protecting against unplanned demands. The quantity is expressed in the base measurement unit of the product. Unit: Product.BaseMeasurementCategory.BaseUnit
Required
Default(0)
Type: Quantity (18, 3)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: Constant
Show in UI: HiddenByDefault
PlanningTimeFenceDays
Period in the future inside of which changes to the MPS are carefully evaluated to prevent costly schedule disruption. Demand for the period between DTF and PTF is calculated as the bigger of customer orders and sales forecast. Abbr. - PTF. Required
Default(1)
Type: int32
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: 1
Show in UI: CannotBeShown
ProcurementType
M=Make; B=Buy; T=Transfer. Identifies whether the product is produced or externally bought. Required
Default("B")
Filter(eq)
Type: ProcurementType
Category: System
Allowed values for the ProcurementType
(General.Products.ProductSupply.md#procurementtype) data attribute
Allowed Values (General.Products.ProductSupplyRepository.ProcurementType Enum Members)
Value | Description |
---|---|
Buy | Buy value. Stored as 'B'. Database Value: 'B' Model Value: 0 Domain API Value: 'Buy' |
Make | Make value. Stored as 'M'. Database Value: 'M' Model Value: 1 Domain API Value: 'Make' |
Transfer | Transfer value. Stored as 'T'. Database Value: 'T' Model Value: 2 Domain API Value: 'Transfer' |
Supported Filters: Equals
Supports Order By: False
Default Value: Buy
Show in UI: HiddenByDefault
StandardCostPerLot
Standard cost for one lot of the product. Currency: Product.CostingCurrency
Required
Default(0)
Type: Amount (18, 4)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: Constant
Show in UI: HiddenByDefault
SupplySchemaId
The supply schema to use for the distribution of the product among warehouses. Filter(multi eq)
Type: guid nullable
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: CannotBeShown
Reference Details
DefaultStoreBin
Default store bin for new deliveries using this supply scheme. Filter(multi eq)
Type: StoreBins (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault
EnterpriseCompany
The Enterprise Company to which this ProductSupply applies, or null if it is for all enterprise companies. Filter(multi eq)
Type: EnterpriseCompanies (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault
FromStore
Used when the Procurement_Type is Transfer. Filter(multi eq)
Type: Stores (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault
GenerateDocumentType
Specifies the type of the document which should be generated by the procurement planning system, when generating supply based on this rule. Filter(multi eq)
Type: DocumentTypes (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
PreferredSupplier
Preferred supplier for the product. null if there is no preferred supplier. Filter(multi eq)
Type: Suppliers (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
Product
The Filter(multi eq)
FilterableReference
Type: Products (nullable)
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Filterable Reference: True
Show in UI: ShownByDefault
ProductGroup
Not null when the method is a default method for a whole product group. In this case new products in the group inherit the settings. Filter(multi eq)
Type: ProductGroups (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
Store
The store for which this rule is defined. When null, the rule is valid for all stores. Filter(multi eq)
Type: Stores (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
API Methods
Methods that can be invoked in public APIs.
GetAllowedCustomPropertyValues
Gets the allowed values for the specified custom property for this entity object. If supported the result is ordered by property value. Some property value sources do not support ordering - in that case the result is not ordered.
Return Type: Collection Of CustomPropertyValue
Declaring Type: EntityObject
Domain API Request: GET
Parameters
customPropertyCode
The code of the custom property
Type: stringsearch
The search text - searches by value or description. Can contain wildcard character %.
Type: string
Optional: True
Default Value: nullexactMatch
If true the search text should be equal to the property value
Type: boolean
Optional: True
Default Value: FalseorderByDescription
If true the result is ordered by Description instead of Value. Note that ordering is not always possible.
Type: boolean
Optional: True
Default Value: Falsetop
The top clause - default is 10
Type: int32
Optional: True
Default Value: 10skip
The skip clause - default is 0
Type: int32
Optional: True
Default Value: 0
CreateNotification
Create a notification immediately in a separate transaction, and send a real-time event to the user.
Return Type: void
Declaring Type: EntityObject
Domain API Request: POST
Parameters
user
The user.
Type: UsersnotificationClass
The notification class.
Type: stringsubject
The notification subject.
Type: string
CreateCopy
Duplicates the object and its child objects belonging to the same aggregate. The duplicated objects are not saved to the data source but remain in the same transaction as the original object.
Return Type: EntityObject
Declaring Type: EntityObject
Domain API Request: POST
Business Rules
- R27435 ProductSupply - Store
- R27437 ProductSupply - Generate Document Type
- R31605 ProductSupply - Product Supply And Product Group Enterprise Company Are Different
Front-End Business Rules
API
Domain API Query: https://demodb.my.erp.net/api/domain/odata/General_Products_ProductSupply?$top=10
Domain API Query Builder: https://demodb.my.erp.net/api/domain/querybuilder#General_Products_ProductSupply?$top=10