Defines an item that can be shipped from an origin location to a destination location.
The association can be date effective and also has a priority.
Fields
Field | Type | Description |
---|---|---|
item | item | Reference to the item.
This is a required attribute.
The item can point to a parent level in the item
hierarchy. All child items can then be distributed using
this definition.
|
origin | location | Origin location from where we can ship the item.
The location can point to a higher level in the location
hierarchy. Any child location can then ship the item.
The default value of this field is empty. In such case
any location can be used as origin.
|
destination | location | Destination location to where we can ship the item.
The location can point to a higher level in the location
hierarchy. Any child location can then receive the item.
The default value of this field is empty. In such case
any location can be used as destination.
|
cost | positive double | Shipment cost. |
leadtime | duration | Shipment lead time. |
size_minimum | positive double | Minimum size for shipments.
The default is 1.
|
size_multiple | positive double | All shipments must be a multiple of this quantity.
The default is 0, i.e. no multiple to be considered.
|
effective_start | dateTime | Date when the record becomes valid. |
effective_end | dateTime | Date when the record becomes valid. |
priority | integer | Priority of this shipment among all other methods to
replenish a buffer.
A lower number indicates that this shipment is preferred
when the item is required. This field is used when the
search policy is PRIORITIY.
|
action | A/C/AC/R | Type of action to be executed:
A: Add an new entity, and report an error if the entity
already exists.
C: Change an existing entity, and report an error if the
entity doesn’t exist yet.
AC: Change an entity or create a new one if it doesn’t
exist yet. This is the default.
R: Remove an entity, and report an error if the entity
doesn’t exist.
|
Example XML structures
Adding or changing item distributions
<plan>
<items>
<item name="All components">
<itemdistributions>
<itemdistribution/>
<origin name="Location A"/>
<destination name="Location B"/>
<leadtime>P7D</leadtime>
</itemdistribution>
</itemdistributions>
<item>
</items>
</plan>
Deleting an item distribution
<plan>
<items>
<item name="All components">
<itemdistributions>
<itemdistribution action="R"/>
<origin name="Location A"/>
<destination name="Location B"/>
</itemdistribution>
</itemdistributions>
<item>
</items>
</plan>
Example Python code
Adding or changing item distributions
item = frepple.item(name="All components")
ori = frepple.location(name="Location A")
dest = frepple.location(name="Location B")
frepple.itemdistribution(item=item, origin=ori, destination=dest, leadtime=7*86400, priority=1)
Iterate over item distributions
for m in frepple.items():
print("Following shipments are possible with item '%s':" % m.name)
for i in m.itemdistributions:
print(
" ", i.origin.name if i.origin else None,
i.destination.name if i.destionation else None,
i.cost, i.effective_start, i.effective_end
)