Advanced Shipping Manifest
ASN 856
public class DefaultAsn856TransactionSetParser extends AbstractTransactionSetParserChainable
ASN 856 is the Advance Shipping Notice Used to communicate the contents of a shipment prior to arriving at the facility where the contents will be delivered.
@Override protected X12TransactionSet doParse(List<X12Segment> transactionSegments, X12Group x12Group)
it is assumed that this method is only called after getting true as a response from {@link handlesTransactionSet}
private void parseBeginningSegmentForShipNotice(X12Segment segment, AsnTransactionSet asnTx)
parse the BSN segment
- Parameters:
segment
—asnTx
—
private void parseTransactionTotals(X12Segment segment, AsnTransactionSet asnTx)
parse the CTT segment
- Parameters:
segment
—asnTx
—
protected void doLoopParsing(List<X12Loop> loops, AsnTransactionSet asnTx)
currently enforcing only 1 top level HL in the transaction set (ie) only one Shipment HL
- Parameters:
loops
—asnTx
—- Returns:
private void parseShipmentLoop(X12Loop unparsedLoop, AsnTransactionSet asnTx)
parse a Shipment Loop
private void parseOrderLoop(X12Loop unparsedLoop, Shipment shipment)
we always expect the children of a shipment to be an order
- Parameters:
unparsedLoop
—shipment
—
private <T> void handleLoopSegments(X12Loop loop, T loopObject, TriConsumer<X12Segment, SegmentIterator, T> function)
template for processing segments associated with a loop
- Parameters:
loop
—loopObject
—function
—
private void doShipmentSegments(X12Segment segment, SegmentIterator segmentIterator, Shipment shipment)
handle the segment lines that are part of the Order (appearing before the next HL loop)
- Parameters:
segment
—segmentIterator
—shipment
—
private void doOrderSegments(X12Segment segment, SegmentIterator segmentIterator, Order order)
handle the segment lines that are part of the Order (appearing before the next HL loop)
- Parameters:
segment
—segmentIterator
—order
—
private void doTareSegments(X12Segment segment, SegmentIterator segmentIterator, Tare tare)
handle the segment lines that are part of the Tare (appearing before the next HL loop)
- Parameters:
segment
—segmentIterator
—tare
—
private void doPackSegments(X12Segment segment, SegmentIterator segmentIterator, Pack pack)
handle the segment lines that are part of the Pack (appearing before the next HL loop)
- Parameters:
segment
—segmentIterator
—pack
—
private void doItemSegments(X12Segment segment, SegmentIterator segmentIterator, Item item)
handle the segment lines that are part of the Item (appearing before the next HL loop)
- Parameters:
segment
—segmentIterator
—items
—