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
- A store associate can click the In Progress count to view shipments that
are in the
Backroom Pick in Progress
status. Similarly, clicking theNot Started
count displays the shipments that are in theReady 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. ThegetShipmentList
API is called to retrieve these counts. In all the scenarios, the Pick order list screen is displayed where theShip from Store
andPick from Store
shipments are listed in two separate tabs.Note: Since theIn Progress
andNot Started
count includes bothPickup in Store
andShip 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
orPicking in Progress
statuses. Additionally, the store associate can sort thePickup in store
andShip from store
shipments based on the expected ship date. ThegetShipmentList
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 fromReady for Backroom Pick
toBackroom 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 theShipmentLineKey
attribute as input to update theBackroomPickedQuantity
to0
. TheinvokeUE
API calls theYCDUpdateLocationInventoryUE
to update the location inventory.
- If the store associate chooses to continue the backroom pick process, the
- Print Pick ListA store associate with appropriate resource permissions can print pick tickets for
pickup in store
orship 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. ThegetShipmentList
API is called to retrieve the shipments that are inReady 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 eitherCustomer 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 thegetShipmentList
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, thegetSortedShipmentDetails
API is called to return details of the shipment with sorting applied on shipment lines. ThechangeShipment
API is called to update thePickTicketPrinted
attribute asY
.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.
TheStorePickTicket_94
service is implemented to print pick tickets. TheStorePickTicket_94_multiApi.xsl.sample
andStorePickTicket_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: TheStorePickTicket_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.
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.
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.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.
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.
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 both sales and transfer orders, you must enable the following shipment modification types
for
Ready for Backroom Pick
andBackroom 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 namedAll 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.
- Shortage Resolution:
- 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 theStaging 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
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 isYCD_Translate_bar code_InboundShipment
.Order
: External service. The bar code validation source isYCD_Translate_bar code_OrderNo
.
Location bar code
to translate staging location bar code to location value.
- For more information about the APIs, see Javadoc.