Example 56 : Packing and unpacking parcels
This example shows how to pack and unpack products from individual parcels.
package com.metapack.dm.test; import com.metapack.deliverymanager.client.Consignment; import com.metapack.deliverymanager.client.Parcel; import com.metapack.deliverymanager.client.Product; import com.metapack.deliverymanager.client.webservices.ConsignmentService; public class Example56 extends ExampleBase { public void run() throws Exception { ConsignmentService service = createConsignmentService(); Consignment consignment = createDefaultConsignment( "EXAMPLE-56" , 1 ); consignment.setConsignmentLevelDetailsFlag( false ); Parcel parcel1 = new Parcel(); parcel1.setParcelWeight( 1 ); consignment.setParcels( new Parcel[] { parcel1 }); Consignment[] createdConsignments = service.createConsignments( new Consignment[] { consignment } ); String consignmentCode = createdConsignments[0].getConsignmentCode(); // We will first pack three product lines into the parcel Product product1 = new Product(); product1.setCountryOfOrigin( "GBR" ); product1.setProductCode( "SKU-A" ); product1.setProductQuantity( 3 ); product1.setProductDescription( "Milk" ); Product product2 = new Product(); product2.setCountryOfOrigin( "GBR" ); product2.setProductCode( "SKU-B" ); product2.setProductQuantity( 2 ); product2.setProductDescription( "Butter" ); Product product3 = new Product(); product3.setCountryOfOrigin( "GBR" ); product3.setProductCode( "SKU-C" ); product3.setProductQuantity( 6 ); product3.setProductDescription( "Eggs" ); service.packProductsToParcel( consignmentCode , 1 , new Product[] { product1,product2,product3 }); /* * Now we will remove some items from the parcel. As this is just for removal, we only need * to populate the product code and quantity. */ Product productLineToRemove = new Product(); productLineToRemove.setProductCode( "SKU-C" ); productLineToRemove.setProductQuantity( 2 ); service.unpackProductsFromParcel( consignmentCode , 1 , new Product[] { productLineToRemove }); /* * At this point, the parcel will have 4 eggs. So let's remove the remaining 4. */ productLineToRemove.setProductQuantity( 4 ); service.unpackProductsFromParcel( consignmentCode , 1 , new Product[] { productLineToRemove }); /* * Now that all eggs have been removed, we will remove all the milk. However, we will * assume that we don't know there are 3 units of milk, and instruct DM to remove all * of it (by setting the quantity to a very large number). */ productLineToRemove.setProductCode( "SKU-A" ); productLineToRemove.setProductQuantity( 999999 ); service.unpackProductsFromParcel( consignmentCode , 1 , new Product[] { productLineToRemove }); } }

