The pickup routing functions the same as the attach routing except that the controlling entity retrieves the attached entity instead of having the entity sent to it. To continue the analogy of the Parent and Child, in a Pickup routing, the Child notifies the Parent that it is ready to be picked up. The Parent then moves along the pickup route. after the Parent arrives at the destination the Child is joined to the Parent. The key difference between this route and the Attach is that the Parent must stay behind the Pickup route until requested and yet still perform as the entity that reports statistics in the output report.
A pickup route causes the routing entity to move to the activity when an entity to be picked up enters the input queue of the activity. The entity being picked up is attached to the entity having the pickup routing. The pickup action takes place prior to any activity time defined.
After an Attach or Pickup has occurred, the attributes of the parent entity are the only attributes recognized by the system. The child’s attributes are masked until a detach occurs. To pass a child’s attributes to the parent when attaching or picking up, you must assign the child attribute to a variable. Then after the attach/pickup, assign that variable to a parent’s attribute.
Properties of Pickup Routes:
- The parent entity must wait on the upstream side of the Pickup route until the child gets to the pickup location’s input queue. The child then requests the parent to come and pick it up.
- Since there is no quantity field on a Pickup route, only one child entity can be picked up by a parent entity.
Usage
• At a fast food restaurant the Parent or main entity places the order (create route). The Parent entity the goes to the waiting area. The Child entity is the order and is processed behind the scene. When the Child (order) is ready the Parent (customer) is notified (pickup route) and comes to claim the order.
Move Time Time to move to the next activity or storage. Any expression is valid.
Pick up any entity / Pick up created entity Choose whether each entity is to pick up any entity waiting for pickup or its own created entity (i.e. an entity which was created from it).
- To collect statistics on any entity that has been attached to another entity, it must be detached prior to exiting the model.
- If you use resource connections at the destination of the Pickup routing to capture resources, the resources will be assigned to the entity being picked up, and you will not be able to free that resource until the entity that is picked up has been detached. In other words, the resource will be trapped. To assign a resource to the entity doing the pickup, so that it will not be trapped, use the GET or JOINTLYGET statements in Action logic rather than resource connections. See “Action Logic” in Chapter.3.11.
Routing Types
The following routing types are available: