Table of Contents

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 to which this ProductSupply belongs. 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 to which this ProductSupply belongs. 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: string

  • search
    The search text - searches by value or description. Can contain wildcard character %.
    Type: string
    Optional: True
    Default Value: null

  • exactMatch
    If true the search text should be equal to the property value
    Type: boolean
    Optional: True
    Default Value: False

  • orderByDescription
    If true the result is ordered by Description instead of Value. Note that ordering is not always possible.
    Type: boolean
    Optional: True
    Default Value: False

  • top
    The top clause - default is 10
    Type: int32
    Optional: True
    Default Value: 10

  • skip
    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: Users

  • notificationClass
    The notification class.
    Type: string

  • subject
    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

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