Legacy platform

Backroom pick

A store associate should be able to pick products available in the backroom and place them in a staging location so that they can be used to fulfill ship from store or pickup in store shipments.

Solution

The following section describes APIs, user exits, services, and other components.

A store associate can start the Backroom Pick or the Single order pick from the Pick Orders portlet in the Order Fulfillment view.

Pick Orders Portlet

On the Pick Orders portlet, a store associate can start the Backroom Pick process in the following ways:
  • A store associate can click the In Progress count to view shipments that are in the Backroom Pick in Progress status. Similarly, clicking the Not Started count displays the shipments that are in the Ready for Backroom Pick status. Alternatively, the store associate can click the count displayed at the center of the portlet to view the complete list of shipments to be picked. The getShipmentList API is called to retrieve these counts. In all the scenarios, the Pick order list screen is displayed where the Ship from Store and Pick from Store shipments are listed in two separate tabs.
    Note: Since the In Progress and Not Started count includes both Pickup in Store and Ship from Store shipments, the resource permissions to pick shipments of each fulfillment type are considered.

    A store associate can also choose to filter the shipments based on Ready for Picking or Picking in Progress statuses. Additionally, the store associate can sort the Pickup in store and Ship from store shipments based on the expected ship date. The getShipmentList API is called to sort and filter the shipments based on the selected options.

  • A store associate can also scan an order or shipment to start the backroom pick process. The translatebar code API is called to translate the order or shipment bar code to outbound shipments. Alternatively, a store associate can use the Advanced Search option to search for orders that are assigned to a particular store associate. If the search results in a single shipment, the store associate is taken directly to the Pick Order screen. If the search results in multiple orders, the Pick order list screen is displayed with a list of orders that match the search criteria.

Backroom pick can be performed only for shipments in the Ready for Backroom Pick or Backroom Pick in Progress status. The getShipmentList API is called to validate and retrieve shipments for backroom pick.

From the Pick order list screen, the store associate can print the pick list to do paper-based picking or select a shipment and click Pick Order or Continue Pick.

  • Pick Order or Continue Picking

    If a store associate chooses to pick a shipment, the changeShipmentStatus API is called to change the status of the shipment from Ready for Backroom Pick to Backroom Pick in Progress.

    If a store associate chooses to continue picking a shipment that is already being picked by another store associate, the currently logged-in store associate is prompted to continue with the backroom pick process or start performing the pick all over again.
    • If the store associate chooses to continue the backroom pick process, the changeShipment API is called to change the assigned user to the current user.
    • If the store associate chooses to pick all over again, the changeShipment API is called with the ShipmentLineKey attribute as input to update the BackroomPickedQuantity to 0. The invokeUE API calls the YCDUpdateLocationInventoryUE to update the location inventory.
  • Print Pick List
    A store associate with appropriate resource permissions can print pick tickets for pickup in store or ship from store or both types of shipments. On the Pick orders list screen, when a store associate clicks Print Pick Lis, a pop-up displays the count of pick tickets for both types of shipments. The store associate can also see the number of pick tickets that are already printed for each type of shipment. The getShipmentList API is called to retrieve the shipments that are in Ready for Backroom Pick status and whose pick tickets are not printed yet.
    Note: Pick tickets can be printed only once through this pop-up. However, pick ticket for individual shipments can be printed through Shipment summary.

    When the store associate clicks Print to print the pick tickets, a verification is done to ensure that the print service is configured. If not, an appropriate error message is displayed.

    The store associate can select either Customer Pickup Orders, Ship from Store Orders, or both and then click Print. Depending on the option selected, the appropriate delivery method is passed in the input to the getShipmentList API. However, when the store associate chooses to print all pick tickets, the delivery method is passed as blank. If the API does not return shipments, an appropriate message is displayed. If the API returns shipments, the getSortedShipmentDetails API is called to return details of the shipment with sorting applied on shipment lines. The changeShipment API is called to update the PickTicketPrinted attribute as Y.
    Note: The store associate can print pick tickets for transfer order shipments as well.

    The shipment keys are passed to the print service and an XSL is applied to generate an HTML output. The HTML document refers to an appropriate CSS for styling. The HTML returned by the print service is printed without displaying additional dialogs other than the browser printing options.

    The StorePickTicket_94 service is implemented to print pick tickets. The StorePickTicket_94_multiApi.xsl.sample and StorePickTicket_94_output.xsl.sample are stored in the /template/prints/ycd/xsl/ directory as part of the add-in workspace and built into the <INSTALL_DIR>/jar/platform/9_5/resources.jar.
    Note: The StorePickTicket_94 service is provided only for reference. The pick ticket that is generated by using the service contains content that must be used only as a reference. You can continue to use the sample XSL or rename it to remove .sample from the file name and customize it as required.
Pick products

On the Pick Order screen, the getShipmentDetails API is called to load the details of the shipment such as the shipment number, SLA information, shipment status and staging location. The getShipmentLineList API is called to display the pickable products except bundle parents.

The store associate can either scan the products individually, or manually enter the picked quantity for each product, or pick all products at once.

When the store associate scans the products, the registerbar codeForBackroomPick API translates the bar code to product ID and validates that the product is part of shipment being picked. The picked quantity of the product is increased and the scanned product is highlighted.
Note: In case of bundle products, bundle parents do not exist physically and therefore only the component products that are scanned are treated as regular products and displayed.

The store associate can scan a product once and may choose to update the remaining quantity manually either by entering the quantity or by using the - and + buttons. If an invalid quantity is entered, an appropriate error message is displayed. The Update button is displayed only when a valid quantity is entered or modified manually. When the store associate clicks Update, the changeShipment API is called to update the picked quantity. Similarly, the store associate can repeat the procedure to pick products one at a time.

The store associate can also choose to pick all products at once, in which case the changeShipment API is called to update the picked quantity for the shipment.

Record shortage

If a certain quantity of a product is unavailable for picking, shortages can be recorded by using the Record Shortage option. The store associate must select appropriate shortage reason for the unavailable quantity. The shortage quantity is highlighted in red text in the applicable product panel. If all the products in a shipment are marked as Inventory Shortage, then the shipment is canceled.

If a certain quantity of a product is unavailable during backroom pick, a store associate can record a shortage by clicking the Record Shortage link. The getCommonCodeList API is called with the CodeType as YCD_PICK_SHORT_RESOL to retrieve the shortage reasons. The store associate can select an appropriate shortage reason for the unavailable quantity and click OK. The changeShipment API is called to update the shorted quantity. If the store associate selects Inventory Shortage as the shortage resolution, the products are back-ordered. However, for custom reason codes, you must implement the YDMBeforeChangeShipment user exit.

If an entire shipment is shorted, the shipment is canceled and the Shipment Summary screen is displayed.

Once the backroom picked quantity is updated, the invokeUE API is called to update the product inventory.

Assign staging location

A store associate can choose to assign a staging location for the products picked during backroom pick. The store associate can click the Edit icon to add a staging location. In the Assign Staging Location pop-up, the store associate can either scan the bar code of the staging location or type the location name and press Enter. When the store associate scans a staging location bar code, the translatebar code API translates the bar code to the location value. A store associate can repeat the procedure to add multiple staging locations and click the x icon to remove a staging location.

When the store associate clicks Finish Pick, the changeShipmentStatus API is called to change the shipment status to Ready for Customer Pickup for pickup in store shipments and Ready for Packing for ship from store shipments. If the store associate performs a partial pick and attempts to finish backroom pick, an appropriate message is displayed.

Backroom pick for transfer orders

The store associate can perform backroom pick for transfer orders in the same way as sales orders. By default, the application provides a separate implementation to perform backroom pick for transfer orders. Similar to sales orders, the Transfer Order Delivery pipeline determination rule, event handlers, and status modification rules are all provided as part of the factory setup data.

For sales orders, in the Outbound Shipment process type, the On Success event of the Create Shipment transaction should be configured to move the shipment to Ready for Backroom Pick status. This can be done by using the factory shipped condition Change Status Required and Change Shipment status to Backroom Pick action which invokes YCD_Change_Status_Backroom_Pick_8.0 service.

For transfer orders, Transfer Order Delivery process type, the On Success event of the Create Shipment transaction should be configured to move the shipment to Ready for Backroom pick status. This can be done by using factory shipped condition Change Status Required for TO and Change Shipment Status For TO action, which invokes the YCD_Change_Status_Backroom_Pick_TO service.

Device-specific details

None.

Implementation

The following information describes the rules that must be configured for the feature:

  • A store associate should have the following resource permissions:
    • Manually update quantity while picking: Enables a store associate to use the quantity text field and the + buttons to edit the picked quantity. However, the - button is not resource permission controlled.
    • Backroom Pick for Ship from Store: Enables a store associate to pick products for ship from store shipments.
    • Backroom Pick for Pickup in Store: Enables a store associate to pick products for pickup in store shipments.
    • Pick All: Enables a store associate to pick for all products at once.
    • Print Tickets for Picking Orders: Enables a store associate print pick tickets to perform paper-based picking.
    For more information about administering user group permissions, see Administering user group permissions.
  • For both sales and transfer orders, you must enable the following shipment modification types for Ready for Backroom Pick and Backroom Pick In Progress statuses:
    • Delete Shipment
    • Change Other Attributes
    • Remove Line
  • You must enable the Add Note order modification type at the order and order line level, to log notes whenever a shipment line is canceled or shorted. For more information about status modification rules, see Defining status modification rules.
  • Configure the Backroom Pick rules appropriately. For more information, see Configuring backroom pick rules.
  • Configure the Backroom Pick Shortage Resolutions appropriately. By default, a shortage resolution named All Inventory Shortage is available for the default organization. If you want to use the same shortage resolution for a new enterprise, you must either inherit the default organization's properties or use the following values to create the shortage resolution using the Sterling Business Center.
    • Shortage Resolution: AllInventoryShortage
    • Shortage Resolution Name: All Inventory Shortage

    For more information, see Manage backroom pick shortage resolutions. To inherit default organization's properties, see Defining an enterprise's primary information. If you create custom shortage resolutions, then you must have corresponding implementation as well.

  • Enable or disable the Move transfer order shipments to Ready for Backroom Pick status rule as per your business needs. By default, this rule is enabled. If it is disabled, then backroom pick is skipped and the shipment moves to Ready for Packing status. For more information, see Configuring backroom pick rules.
  • The Assign Staging Location task in the Pick Order screen is visible only if the Staging location required rule is enabled at the store level in the Sterling Business Center.
  • To enable a store associate scan the bar code of a staging location, you must enable the Staging location translation required rule at the store level in the Sterling Business Center. If this rule is enabled, the store associate can see the bar code icon on the staging location text field, which indicates the support for bar code translation.

    For more information, see Configuring backroom pick rules.

Configuring bar code types

You must configure bar code types for your store organization. The following bar code types are used in the application:
    • Item to translate product bar code to product ID.
    • Store Outbound Shipment. Used in to find the matching shipment or order. The bar code should have following sources configured:
      • Shipment: External service. The bar code validation source is YCD_Translate_bar code_InboundShipment.
      • Order: External service. The bar code validation source is YCD_Translate_bar code_OrderNo.
    • Location bar code to translate staging location bar code to location value.
    By default, bar code types are provided for the default organization. When you set up a new enterprise, these bar code types must be created again or copied from the Default organization. For more information, see Configuring bar codes
  • For more information about the APIs, see Javadoc.