Ship orders
A store associate should be able to confirm the shipment of packages through the designated carrier service.
Solution
The following section describes APIs, user exits, services, and other components.
A store associate can start the ship orders process from the "More Tasks" portlet in the Order Fulfillment view.
- Ship Orders
- When the store associate clicks the Ship Orders link in the More Tasks portlet, the Ship Orders portlet is displayed from where the store associate can start shipping packages. The portlet displays the next carrier and the number of packages to be picked up by the carrier. To get the carriers arriving to pick up the packages and the count of packages, the
getShipmentContainerListAPI is called. The store associate can click the count on the portlet that indicates the number of packages that are ready for shipping. Packages of partially packed shipments are not included in the count.On clicking the package count on the portlet, the Ship Packages screen is displayed. The
getShipmentContainerListAPI is called to return the shipments grouped by carriers and the number of packages to be picked up is displayed for each carrier. A logic is applied to ensure that packages without a carrier orscacare not considered for the package count. When the store associate clicks the package count corresponding to a carrier, the package details are extracted and displayed for each of the packages in a readable format. This includes the number of products, weight, order number, shipping date and so on.When the store associate clicks Confirm, thegetShipmentListAPI is called and based on the value ofScacIntegrationRequiredattribute in the API output, the following logic is executed:- If the value is
Y, theaddAllContainersToManifestAPI is called to add all the packages of a SCAC to manifest. TheaddAllContainersToManifestcalls the following APIs:The
getShipmentContainerListAPI is called to get all packages and details based on Enterprise, SCAC,ShipmentConfirmUpdatesDone="N"andIsPackProcessComplete="Y", andShipNodeTheaddContainerToManifestAPI is called for packages only ifIsManifested=N. The output ofaddAllContainersToManifestAPI is a map of distinct manifests:<FailedContainers TotalFailures=""> <DistinctManifestList TotalNumberOfRecords=""> <Manifest ManifestKey=""/> </DistinctManifestList> </FailedContainers>The
CloseManifestAPI is called on each of theManifestKeysreturned by theaddAllContainersToManifestAPI. - If the value is
N, then theconfirmShipmentAPI is called to confirm the shipment.
Notes:- Shipping packages from the user interface involves the
closeManifestAPI call, which takes considerable amount of time. To improve performance, thecloseManifestAPI is called asynchronously. To call thecloseManifestAPI asynchronously, complete the following steps:- Set the
yfs.closemanifest.onlineproperty toN. Call theCLOSE_MANIFESTtransaction, which changes the manifest status to ‘Closure Requested’ and then triggers an agent. - Configure the
YDMCloseManifestAgenttime-triggered agent for theCLOSE_MANIFESTtransaction and start the agent. You must create an agent criteria for the ship node, associate it to an agent server, and start the agent server.
- Set the
- For all shipments that are shipped by a carrier, the
ScacIntegrationRequiredattribute should have the same value, eitherYorN. If the attribute has a different value for few shipments shipped by the same carrier, the feature may not function as expected. - Packages for transfer order shipments are also listed. The store associate can ship them in the same way as sales order shipments.
- If the value is
Device specific details
Not applicable.
Implementation
You must enable the Add Container To Manifest
modification type for Packed
status. For more information about configuring Modification Types for shipments, see Defining status modification rules.
The store associate must have the Ship Order
resource permission to ship packages. For more information about administering user group permissions, see Administering user group permissions.
You must enable Package Level Integration
for a carrier service. For more information, see Defining carrier services for parcel shipments. You must not toggle between Shipment Level Integration
and Package Level Integration
as the behavior of the feature changes entirely and you cannot ship packages successfully.
For information on how to configure the yfs.closemanifest.online property, see Close manifest. You can add this property to the contents of customer_overrides.properties file that is present in your customization jar.
For more information about property management on cloud environment, see Property management guidelines.
For more information about the APIs, see IBM® Sterling Order Management System: Javadoc™.