EPC Implementer > EPCIS > Query   
 
EPCglobal-epcis-query-1_0
Previous element    
Next element
 
ComplexType epcis:AggregationEventType
 
Diagram
 
Type: epcis:EPCISEventType
 
  
Definition: The event type AggregationEvent describes events that apply to objects that have been physically aggregated to one another. In such an event, there is a set of “contained” objects that have been aggregated within a “containing” entity that’s meant to identify the physical aggregation itself.

This event type is intended to be used for “aggregations,” meaning an association where there is a strong physical relationship between the containing and the contained objects such that they will all occupy the same location at the same time, until such time as they are disaggregated. An example of an aggregation is where cases are loaded onto a pallet and carried as a unit. The AggregationEvent type is not intended for weaker associations such as two pallets that are part of the same shipment, but where the pallets might not always be in exactly the same place at the same time. (The TransactionEvent may be appropriate for such circumstances.) More specific semantics may be specified depending on the Business Step.
Description:  The Action field of an AggregationEvent describes the event’s relationship to the lifecycle of the aggregation. Specifically:

ADD - The EPCs named in the child list have been aggregated to the parent during this event. This includes situations where the aggregation is created for the first time, as well as when new children are added to an existing aggregate.

OBSERVE - The event represents neither adding nor removing children from the aggregation. The observation may be incomplete: there may be children that are part of the aggregation but not observed during this event and therefore not included in the childEPCs field of the AggregationEvent; likewise, the parent identity may not be observed or known during this event and therefore the parentID field be omitted from the AggregationEvent.

DELETE - The EPCs named in the child list have been disaggregated from the parent during this event. This includes situations where a subset of children are removed from the aggregation, as well as when the entire aggregation is dismantled. The list of child EPCs may be omitted from the AggregationEvent, which means that all children have been disaggregated. (This permits dissaggregation when the event capture software does not know the identities of all the children.)

Retrospective semantics:
• An event described by bizStep (and any other fields) took place involving containing entity parentID and the contained EPCs in childEPCs, at eventTime and location readPoint.
• (If action is ADD) The EPCs in childEPCs were aggregated to containing entity parentID.
• (If action is DELETE and childEPCs is non-empty) The EPCs in childEPCs were disaggregated from parentID.
• (If action is DELETE and childEPCs is empty) All contained EPCs have been disaggregated from containing entity parentID.
• (If action is ADD and a non-empty bizTransactionList is specified) An association exists between the business transactions enumerated in bizTransactionList, the EPCs in childEPCs, and containing entity parentID.
• (If action is OBSERVE and a non-empty bizTransactionList is specified) This event took place within the context of the business transactions enumerated in bizTransactionList.
• (If action is DELETE and a non-empty bizTransactionList is specified) This event took place within the context of the business transactions enumerated in bizTransactionList.

Prospective semantics:
• (If action is ADD) An aggregation exists between containing entity parentID and the contained EPCs in childEPCs.
• (If action is DELETE and childEPCs is non-empty) An aggregation no longer exists between containing entity parentID and the contained EPCs in childEPCs.
• (If action is DELETE and childEPCs is empty) An aggregation no longer exists between containing entity parentID and any contained EPCs.
• (If disposition is specified) The business condition of the objects associated with the EPCs in parentID and childEPCs is as described by disposition.
• (If disposition is omitted) The business condition of the objects associated with the EPCs in parentID and childEPCs is unchanged.
• (If bizLocation is specified) The physical objects associated with the EPCs in parentID and childEPCs are at business location bizLocation.
• (If bizLocation is omitted) The business location of the physical objects associated with the EPCs in parentID and childEPCs is unknown.
• (If action is ADD and a non-empty bizTransactionList is specified) An association exists between the business transactions enumerated in bizTransactionList, the EPCs in childEPCs, and containing entity parentID (if specified).
Example:  The AggregationEvent type includes fields that refer to a single “parent” (often a “containing” entity) and one or more “children” (often “contained” objects). A parent identifier is required when action is ADD or DELETE, but optional when action is OBSERVE.

A parent identifier is used when action is ADD so that there is a way of referring to the association in subsequent events when action is DELETE. The parent identifier is optional when action is OBSERVE because the parent is not always known during an intermediate observation. For example, a pallet receiving process may rely on RFID tags to determine the EPCs of cases on the pallet, but there might not be an RFID tag for the pallet (or if there is one, it may be unreadable).

The AggregationEvent is intended to indicate aggregations among physical objects, and so the children are identified by EPCs. The parent entity, however, is not necessarily a physical object that’s separate from the aggregation itself, and so the parent is identified by an arbitrary URI, which MAY be an EPC, but MAY be another identifier drawn from a suitable private vocabulary.

In many manufacturing operations, for example, it is common to create a load several steps before an EPC for the load is assigned. In such situations, an internal tracking number (often referred to as a “license plate number,” or LPN) is assigned at the time the load is created, and this is used up to the point of shipment. At the point of shipment, an SSCC code (which is an EPC) is assigned. In EPCIS, this would be modeled by (a) an AggregateEvent with action equal to ADD at the time the load is created, and (b) a second AggregationEvent with action equal to ADD at the time the SSCC is assigned (the first association may also be invalidated via a AggregationEvent with action equal to DELETE at this time). The first AggregationEvent would use the LPN as the parent identifier (expressed in a suitable URI representation; see Section 6.4), while the second AggregationEvent would use the SSCC (which is a type of EPC) as the parent identifier, thereby changing the parentID.

Explanation (non-normative): In the case where action is ADD and a non-empty bizTransactionList is specified, the semantic effect is equivalent to having an AggregationEvent with no bizTransactionList together with a TransactionEvent having the bizTransactionList and all same field values as the AggregationEvent. Note, however, that a AggregationEvent with a non-empty bizTransactionList does not cause a TransactionEvent to be returned from a query.

Note (non-normative): Many semantically invalid situations can be expressed with incorrect use of aggregation. For example, the same EPC may be given multiple parents during the same time period by distinct ADD operations without an intervening Delete. Similarly an object can be specified to be a child of its grand-parent or even of itself. A non-existent aggregation may be DELETED. These situations cannot be detected syntactically and in general an individual EPCIS repository may not have sufficient information to detect them. Thus this specification does not address these error conditions.
   
Attributes Type:  Occurrence: 
 
xsd:anyAttribute
xsd:anyAttribute
   
Associations Type:  Occurrence: 
 
xsd:sequence 1 .. 1
eventTime xsd:dateTime 1 .. 1
recordTime xsd:dateTime 0 .. 1
eventTimeZoneOffset xsd:string 1 .. 1
baseExtension epcis:EPCISEventExtensionType 0 .. 1
xsd:sequence 1 .. 1
parentID epcis:ParentIDType 0 .. 1
childEPCs epcis:EPCListType 1 .. 1
action epcis:ActionType 1 .. 1
Description:  The Action type is an enumerated type having three possible values:

ADD The EPCs named in the child list have been aggregated to the
parent during this event. This includes situations where the
aggregation is created for the first time, as well as when new
children are added to an existing aggregate.

OBSERVE The event represents neither adding nor removing children from the
aggregation. The observation may be incomplete: there may be
children that are part of the aggregation but not observed during this
event and therefore not included in the childEPCs field of the
AggregationEvent; likewise, the parent identity may not be
observed or known during this event and therefore the parentID
field be omitted from the AggregationEvent.

DELETE The EPCs named in the child list have been disaggregated from the
parent during this event. This includes situations where a subset of
children are removed from the aggregation, as well as when the
entire aggregation is dismantled. The list of child EPCs may be
omitted from the AggregationEvent, which means that all
children have been disaggregated. (This permits dissaggregation
when the event capture software does not know the identities of all
the children.)
bizStep epcis:BusinessStepIDType 0 .. 1
disposition epcis:DispositionIDType 0 .. 1
readPoint epcis:ReadPointType 0 .. 1
bizLocation epcis:BusinessLocationType 0 .. 1
bizTransactionList epcis:BusinessTransactionListType 0 .. 1
extension epcis:AggregationEventExtensionType 0 .. 1
xsd:any 0 .. unbounded
 
  Date Of Publication: 01.04.2008  
  Copyright © GS1 Germany 2008. All rights reserved Optimised for 1024 x 768 pixel