Skip to content

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

Last update: July 5, 2020