The demand satisfier macro can create orders based on customer demands (material shipments) and/or demands from intermediate orders. For an example plan demonstrating how to use the DemandSatisfier, see the section with a general introduction of the Batch module.

Preconditions

  1. Template routes must exist producing (fulfilling) the material demands. Thus the operations in the template routes must contain the proper, producing BOM lines.
  2. If the field “productFamilyName” is specified – a corresponding product family must exist where a list of materials are assigned to.
  3. Materials to analyze must have set the flag “useInPlanning”.
  4. Batch module is needed.

Hints

See the general description of the Batch module for more information

Parameter descriptions

(* = configuration required)

demandHorizonInDays
This field together with “demandStart” defines the interval where the Demand satisfier should search for demands. It defines the number of days to search ahead from “demandStart”.
Default is 30

demandStart
This decides from where the Demand satisfier should start looking for demands. See also “demandHorizonInDays”.
Supported notation: “now” or “this week”- , y/year(s), m/mon/month(s), w/week(s), d/day(s), h/hour(s), min/minute(s) and s/sec/second(s).
The keyword “this week” corresponds to Monday morning at 00:00 in the current week. It is possible to add and subtract by specifying for instance ‘this w-3w+2d’ (or ‘this week – 3weeks + 2days’). Please notice that ‘m’ corresponds to month and NOT minute.

Default “This week”

demandSumPeriodInHours
Only relevant if “groupDemands” is true.
This decides the size in hours, of the periods to group demands in. For instance when this is set to 24 hours and “demandHorizonInDays” is set to 30, 30 periods/groups are created (one per day). The start of a period is decided by the “demandStart” parameter. When this is set to “this week” the start of the first period will be midnight. If for instance the “demandStart” is set to “now” the start time of the periods will be dynamic!

See also groupDemands.

Default 24

demandType
Specify “BOM-line” or “Shipment”. This indicates which kind of demands this Demand satisfier should analyze.

If “BOM-line” is specified it will calculate the demand by looking for consuming operations.

If “Shipment” is specified it will calculate the demand by looking for shipments.

Default “shipment”

groupDemands
If this is true the Demand Satisfier will group demands together which is in the same period and of the same material. For example if two shipments (demands) of the same material exists on the same day – there will be created one big order fulfilling both of them. See also demandSumPeriodInHours and the master material parameter Join look ahead.

Default true

matNameMatch
If “productFamilyName” is not specified all materials are analyzed for demands. This field can be used to filter materials by a regular expression.

See also “demandType”.

If no value is supplied, for backwards compatibility reasons, only materials where the column “Use in planning” is set to true are included.

Default empty

maxJoinGap
When groupDemands = true , we will group demands as long, as the time gap between the end of one demand, to the start of the next, is no further apart than the number of hours specified by this parameter.
Nothing will be joined if this parameter is larger than demandSumPeriodInHours. Also see the master material parameter Join look ahead parameter, which may cause this parameter to be ignored on a per material level.

onlyAnalyzeSelectedOperations
If true only the selected operations in the Gantt chart will get analyzed for demands.

Only relevant if demandType is set to ‘BOM-line’.
demandStart and demandHorizonInDays will be ignored.

Defauls false

productFamilyName
If this is empty all materials are analyzed for demands. See also “demandType” and “matNameMatch”.

Here a product family name can be specified. A product family can be created in ROB-EX where a list of (similar) materials can be assigned. In that case only the materials on that list will be analyzed.

Default empty

schedulingStrategy
Specify how the newly created orders should be planned. If nothing is specified the orders will be created with status new and will not be visible in the Gantt chart.

Lookup the names of available strategies here.

The default value is: “backward,deliverycalendar,limited”

hardlink
Specifies if the material constraint links created by the macro should be hard-linked. Only applies to links between material transactions on operations, as shipments and purchases cannot have hard-linked material constraint arcs.

Additional parameters

In addition to the above macro settings, there are additional material master parameters that can influence the Demand Satisfier. I.e. these parameters are specified per material, since they may differ from material to material. These additional parameters are described below.

Order multiple
The Order multiple is the multiple an order quantity must be in for new production orders created to satisfy a demand.
Ex: If we need an order quantity of 2400 to satisfy a demand, but the Order multiple is 500, we will create an order with a quantity of 2500 (as long as this does not conflict with the Min. or Max. order quantity parameters).

Min. order quantity
The Min. order quantity is the minimum quantity of new production orders created to satisfy a demand.
Ex: if we need an order quantity of 2400 to satisfy a demand, but the Min. order quantity is 2500, we will create an order with a quantity of 2500 (as long as this does not conflict with the Order multiple parameter).

Max. order quantity
The Max. order quantity is the maximum quantity of new production orders created to satisfy a demand. If a demand is larger than the Max. order quantity, multiple order will be created to satisfy the demand.
Ex: if we need an order quantity of 2400 to satisfy a demand, but the Max. order quantity is 2000, we will create an order with a quantity of 2000 and a second order with a quantity of 400 (still respecting the Order multiple and Min order quantity parameters).

Join look ahead
When groupDemands = true, we will group demands as long as the time gap between the start of the first demand in the group, to the start of the next, is no further apart than the number of hours specified by this parameter. When a demand is violating the Join look ahead gap, it will become the start of a new group. A group of demands is fulfilled by a single production order. The unit of measure of this parameter is hours.
Note: If this setting is set, the maxJoinGap parameter will be ignored.

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment