ピック中にソート
ストア担当者は、商品をピックしている時にバッチ内の商品をソートできる必要があります。
ストア担当者は、商品をピックしている時、バッチの商品をオーダーごとに別々の通箱に入れることができます。 すべての商品をピックしたら、ストア担当者は、各通箱をステージング・ロケーションに割り当てることができます。
解決方法
以下のセクションでは、API、外部プログラム、サービス、およびその他のコンポーネントについて説明します。
Pick 新規バッチまたは Continue 進行中のバッチをピックすることを選択できます。- 新規バッチの選択
- 「バッチ」 画面で、ストア担当者が「ピック」をクリックして新規バッチ内の商品をピックすると、
createStoreBatchAPI が呼び出されてバッチ・レコードが作成され、バッチ・ステータスが 1100 に変更されます。これは、未完了バッチ
を示し、バッチが現在のストア担当者に割り当てられていることを示します。 そのバッチに対してgetStoreBatchListAPI から返されたすべての出荷明細はcreateStoreBatchAPI に渡され、この API はBatchNo属性とStoreBatchKey属性を返します。 出荷明細が既に別のバッチの一部としてピックされている場合、または単一オーダー・ピッキングによってピックされている場合は、適切なエラー・メッセージが表示されます。
- 進行中のバッチのピック
ストア担当者は、「バッチ」画面で「続行」をクリックして、進行中のバッチの商品をピックすることができます。 ストア担当者が、バッチのピックを開始したストア担当者でない場合は、確認ウィンドウが表示され、ピッキングを続行するかどうかをストア担当者に確認するプロンプトが出されます。 ストア担当者が続行を選択すると、
manageStoreBatchAPI が呼び出されて、現在のストア担当者に対してバッチのAssignedToUserIDが更新されます。API および検証について詳しくは、Javadoc を参照してください。
- バッチ内の商品
- ストア担当者は、商品バーコードをスキャンして商品をピックするか、商品を手動でピックすることができます。
getStoreBatchDetailsAPI が呼び出されて、バッチおよびバッチ内の商品が取り出されます。 バッチの取り出しには、必須属性StoreBatchKeyまたはBatchNoと、OrganizationCode属性が使用されます。 これらの属性が渡されないと、API はエラーをスローします。StoreBatchKeyに対応するレコードがない場合、API はエラーをスローします。getStoreBatchDetailsAPI は内部でgetShipmentLineListAPI を呼び出して、入力で渡されるStoreBatchKey属性の出荷明細を取り出します。 したがって、バッチ明細を形成するためにバンドルの親が取り出されることはありません。- 出荷明細が取り出されると、固有の商品ごとにバッチ明細が形成されます。
ItemIDとUnitOfMeasureが 2 つの出荷明細で共通の場合は、その商品用の単一バッチ明細が形成されます。 PickLocationSeq属性がShipmentLineレベルで設定されている場合、API は、ピックアップしなければならない順番でそれらの商品を表示します。 商品が表示される順序は、YCDGetBatchPickPriorityUE外部プログラムを実装することによってカスタマイズできます。- ストア担当者は、バッチ明細を絞り込むことで、バッチ内のすべての商品を表示したり、ピック対象の商品のみを表示したりすることができます。
BackroomPickComplete=N属性を使用して、ピックされていないバッチ明細のみをフィルタリングして表示します。 - API により、商品イメージ、ピック・ロケーション、部門、数量など、ピック対象の商品の詳細が出力に返されます。 「ピック」リンクおよび「不足の記録」リンクも表示されます。
SCANモードでの商品のピック: ストア担当者が商品をスキャンすると、 「通箱の割り当て」 画面が表示されます。Mode属性をSCANに設定してregisterBatchPickAPI が呼び出されます。この API はStoreBatchKey属性を使用して、BatchType属性 (SORT_WHILE_PICKING) を判別します。 以下のロジックが内部で実行されます。translatebar codeAPI が呼び出され、bar codeData属性とbar codeType属性がItemに設定されて、商品情報が取り出されます。- 同じ
ItemIDとUnitOfMeasureを持ち、入力で渡されたのと同じBatchKeyを持つ出荷明細が取り出されます。 - 属性
BackroomPickComplete="N"とIsPickable="Y"の出荷明細のみが検討され、最も低いBatchPickPriorityの出荷明細がピック数量によって更新されます。
MANUAL・モードでの商品のピック: ストア担当者が商品を選択して「ピック」をクリックすると、 「通箱の割り当て」 画面が表示されます。Mode属性をMANUALPICKに設定してregisterBatchPickAPI が呼び出されます。この API はStoreBatchKey属性を使用して、BatchType属性 (SORT_WHILE_PICKING) を判別します。 以下のロジックが内部で実行されます。registerBatchPickAPI が、必須のItem要素を入力から読み取って商品情報を取得します。- 同じ
ItemIDとUnitOfMeasureを持ち、入力で渡されたのと同じBatchKeyを持つ出荷明細が取り出されます。 - 属性
BackroomPickComplete="N"とIsPickable="Y"の出荷明細のみが検討され、BatchPickPriorityの値が最も低い出荷明細がピック数量によって更新されます。
ストア担当者が商品をピックすると、「通箱割り当て (tote assignment)」画面が表示されます。ここで、ストア担当者は、引き続き通箱に商品を配置できます。 ピック中に商品の不足が発生した場合、ストア担当者は、ピック済み商品を通箱に配置する前に不足を記録できます。
- 不足の記録: ストア担当者は、商品を選択し、バッチを履行するために十分な数量がない場合に不足を記録することを選択できます。 ストア担当者が不足のマークを付ける商品の数量が表示されます。ストア担当者がバッチ内の商品について「不足の記録」をクリックすると、以下のロジックが実行されます。
CodeTypeをYCD_PICK_SHORT_RESOLに設定してgetCommonCodeListが呼び出され、不足理由が取り出されます。 デフォルトでは、不足理由は「在庫切れ」
のみです。 ストア担当者が不足理由として「在庫切れ」
を適用すると、商品はデフォルトの実装に基づいてバックオーダーされます。 ただし、カスタム・ロジックを実装してカスタムの不足理由を処理する場合は、handleShortageForBatchLineUE外部プログラムを使用できます。recordShortageForBatchPickAPI が呼び出され、不足のマークを付ける必要がある出荷および出荷明細が判別されます。 ストア担当者は使用可能な商品をピックし、残りの値に不足のマークが付けられます。 デフォルトの不足理由である「在庫切れ」
が使用されます。- ストア担当者が不足を保存することを選択すると、出荷明細の不足数量が更新されます。
- バッチ内のすべての商品に不足のマークが付くと、API はそのバッチをキャンセルします。 バッチのキャンセルに加え、出荷に含まれるすべての商品に不足のマークが付いている場合は出荷もキャンセルされます。
recordShortageForBatchPickAPI によって以下の検証が実行されます。StoreBatchKey属性およびShortageReason属性は、Item要素と共に、API に対する必須入力です。 必須入力が渡されないと、該当するエラー・メッセージが表示されます。- 不足理由が無効な場合、該当するエラー・メッセージが表示されます。 ストア担当者が「OK」をクリックすると、不足が適用され、元の画面が表示されます。
- 通箱への商品の追加
- 商品をスキャンまたは手動ピックした後、ストア担当者は通箱に商品を追加できます。 「通箱の割り当て (tote assignment)」 画面で、通箱をスキャンするか、 Place in Tote # フィールドに通箱番号を手動で入力することができます。 手動ピックとスキャンされたピックの両方に対して、
registerBatchPickAPI の出力を使用して通箱情報が取り出されます。 特定の出荷明細について、ShipmentKey属性およびBatchKey属性を使用してYFS_STORE_BATCH_LOCATIONテーブルが照会されます。 レコードが取得されると、通箱 ID が「通箱番号」
フィールドに取り込まれます。- 通箱 ID がまだ
「通箱番号 (Place in Tote #)」
フィールドに入力されていない場合、ストア担当者は通箱をスキャンするか、手動で通箱 ID を入力することができます。 通箱がスキャンされると、bar codeData属性とbar codeTypeをStoreToteIdとして指定してtranslatebar codeAPI が呼び出され、ToteIDが返されます。 ただし、トート翻訳必須
ルールが無効化されている場合、API呼び出しtranslatebar codeはスキップされ、フィールド Place in Tote # 内の値は翻訳されずに直接データベースに更新されます。 通箱がスキャンまたは入力されると、その通箱に商品が追加されます。 「通箱番号に配置」
フィールドに既に通箱 ID が入力されている場合、ストア担当者は「保存」をクリックして通箱に商品を追加する必要があります。BackroomPickedQuantity属性とToteID属性を使用してUPDATEモードでregisterBatchPickAPI が呼び出されて出荷明細が更新され、UI に情報が表示されます。- 商品に関連付けられた他の通箱がある場合は、関連付けられている商品の数量と共に表示されます。 - ボタンは有効で、+ ボタンは非表示のため、数量は編集できません。注:
- ストア担当者は、通箱がスキャンされるか入力されるまではピックを保存できません。
- 通箱フィールドがブランクのままになっている場合、またはストア担当者が、既に別のオーダーに関連付けられている通箱 ID を手動で入力した場合は、該当するエラー・メッセージが表示されます。
- ストア担当者が「保存」をクリックすると、ピックされていない商品またはすべての商品が表示されます。ここで、ストア担当者は、商品に対して「編集」をクリックして、「通箱割り当て (tote assignment)」画面で通箱を変更できます。 ストア担当者は最も低い SLA の通箱から商品の数量を減らし、その商品を、高い SLA を持つ通箱に追加できます。それにより、高い SLA のオーダーを先に遂行できます。
getStoreBatchDetailsAPI が呼び出されて、画面が最新表示になり、選択したフィルターに基づいてすべての商品が表示されるか、またはピック対象の商品のみが表示されます。
- 通箱 ID がまだ
- 通箱の変更
- ストア担当者が通箱に少なくとも 1 単位の商品を追加すると、「商品」画面が最新表示になり、バッチ内のその商品に対して「編集」リンクが有効になります。 ストア担当者は、「編集」をクリックして「通箱割り当て (tote assignment)」画面に移動できます。この画面で、通箱は SLA の昇順にリストされます。注: 編集モードでは、
「配置する通箱番号 (Place in Tote #)」
フィールドは表示されません。 そのため、ストア担当者が新しい通箱に商品を追加したり既存の通箱から商品を削除したりすることはできません。ストア担当者が、一部ピックされている商品に対して「編集」をクリックすると、
Mode属性がMANUALに設定されてregisterBatchPickAPI が呼び出され、商品の通箱情報が取り出されます。 ストア担当者が、完全にピックされている商品に対して「編集」をクリックすると、入力でStoreBatchKey、ItemID、およびUnitOfMeasureの各属性を渡してgetStoreBatchDetailsAPI が呼び出され、商品の通箱情報が取り出されます。通箱内の商品の数量を減らすために、ストア担当者は、必要に応じて「-」ボタンをクリックできます。Mode属性をUPDATEに設定して、registerBatchPickAPI が呼び出されます。UPDATEモードでは、以下の API アクションが実行されます。StoreBatchKeyおよびBackroomPickedQtyが入力でregisterBatchPickAPI に渡されて出荷明細が更新されます。changeShipmentAPI が呼び出されて、出荷明細のBackroomPickedQty属性が更新されます。
ストア担当者は、必要に応じて数量を削減した後、「通箱割り当て (tote assignment)」画面で「完了」をクリックします。これにより、通箱の再配置チェックが実行されます。 削除している商品の数量が、同じ商品を含む他のオーダーより高い SLA を持つオーダーに属している場合は、通箱の再配置が必要なため、該当する警告メッセージが表示されます。 この警告メッセージは、より高い SLA のオーダーを先に遂行するようストア担当者に通知します。 メッセージ・ウィンドウで、ストア担当者は「はい」または「いいえ」のいずれかをクリックできます。 ただし、オーダーの SLA が最も低い場合、通箱の再配置は不要であり、ストア担当者は 「バッチ」 画面に戻ります。注: 通箱から削減された商品の数量をピックするには、ストア担当者はピック・フローを再度使用する必要があります。バッチが完全にピックされた場合にのみchangeShipmentStatusAPI が呼び出されます。 出荷のステータスを変更するために複数の検証が行われます。以下にそれらの検証の一部を示します。- 特定の出荷明細に対応する出荷がまだ「
バックルーム・ピックが進行中
」ステータスになっていない場合、changeShipmentStatusAPI が呼び出されて、出荷ステータスが「バックルーム・ピック準備完了
」から「バックルーム・ピックが進行中
」に変更されます。 - 出荷が完全にピックされると、
changeShipmentStatusが追加で呼び出され、「ストアでのピックアップ」
オーダーの場合はステータスが「顧客ピックアップ準備完了」
に更新され、「ストアから出荷」
オーダーの場合は「梱包準備完了」
に更新されます。
出荷が更新された後、
registerBatchPickAPI は、ピッキング処理が完了しているかどうかを判別し、バッチのステータスを 2000 または 3000 に更新します。ここで、2000 は、「ピッキングが完了しており、ステージングが行われていない」ことを示し、一方 3000 は、「バッチ・ピッキングが完了している」ことを示しています。
- ステージング・ロケーションの割り当て
- すべての商品が完全にピックされると、該当する確認メッセージが表示され、ストア担当者は、ステージング・ロケーションを割り当てること、またはバッチ・ピック・プロセスを終了することを選択できます。 ストア担当者が「ステージング・ロケーションの割り当て」をクリックすると、通箱が表示され、また通箱ごとに「割り当て」アクションが表示されます。注: 通箱へのステージング・ロケーションの割り当ては、
Staging location requiredルールに基づいて行われます。 ルールが有効の場合、ストア担当者のみこのタスクを実行できます。- ストア担当者がステージング・ロケーションの割り当てに進むと、
StoreBatchKey属性を使用してgetStoreBatchLocationListAPI が呼び出され、バッチの通箱のリストが返されます。 通箱は配達方法でソートされます。最初に「ストアでのピックアップ」
通箱がリストされ、次に「ストアから出荷」
通箱がリストされます。 - 次に、ストア担当者は、通箱をスキャンするか、手動で入力できます。 ストア担当者が通箱をスキャンすると、
bar codeTypeがStoreToteIdに設定された状態でtranslatebar codeAPI が呼び出されます。 通箱 ID、通箱内の商品の数量など、通箱の詳細を含む「現行の通箱」画面が表示されます。 ステージング・ロケーション・フィールドが表示されます。ここで、ストア担当者は、ステージング・ロケーションのバーコードをスキャンするか、ロケーション ID を手動で入力することができます。 - ストア担当者がステージング・ロケーションをスキャンすると、
HoldLocationとしてbar codeTypeを指定してtranslatebar codeAPI が呼び出され、ステージング・ロケーション ID が返されます。 ただし、「ステージング・ロケーションの変換が必要」
ルールが無効になっている場合、translatebar codeAPI 呼び出しはスキップされ、 「ステージング・ロケーションに配置」 フィールドの値は変換されずにデータベース内で直接更新されます。ステージング・ロケーションがスキャンされるか手動で入力され、ストア担当者が「保存」をクリックすると、
changeShipmentAPI が呼び出されて、オーダーのステージング・ロケーションが更新されます。 ストア担当者は通箱リストに戻され、バッチ内の各通箱のステージング・ロケーションの割り当てを続行できます。 更新された通箱が強調表示され、ステージング・ロケーションが表示されます。 ステージング・ロケーションがすべての通箱に割り当てられると、manageStoreBatchAPI が呼び出され、バッチのステータスが 3000 (完了済みのバッチ) に更新されます。StagedQuantity属性と、Yに設定されたIsStagingComplete属性が、入力でchangeShipmentAPI に渡され、出荷明細が適切に更新されます。
外部プログラムgetStoreBatchDetailsAPI に対するcom.yantra.pca.ycd.japi.ue.YCDSortBatchLinesUE外部プログラムを使用してカスタム・ロジックを実装し、カスタム実装を使用して商品をソートできます。createStoreBatchAPI に対するcom.yantra.pca.ycd.japi.ue.YCDGetBatchPickPriorityUE外部プログラムを使用してカスタム・ロジックを実装し、バッチ・ピックの優先順位を計算できます。com.yantra.pca.ycd.japi.ue.YCDInvokeUpdateInventoryUE外部プログラムを使用して、在庫を更新するためのカスタム・ロジックを実装できます。この外部プログラムは、出荷明細のBackroomPickedQuantity属性の各更新後に、registerBatchPickAPI によって呼び出されます。- カスタムの不足理由を選択する際のアプリケーションの動作は、
YCDhandleShortageForBatchLineUE外部プログラムを使用して実装できます。この外部プログラムは、recordShortageForBatchPickAPI によって呼び出されます。
API について詳しくは、Javadoc を参照してください。
- ストア担当者がステージング・ロケーションの割り当てに進むと、
デバイス固有の詳細
ありません。
実装
以下の情報は、このフィーチャー用に構成する必要があるルールについて説明しています。
- バッチ・ピッキングを実行するには、ストア担当者に以下のリソース・アクセス権が必要です。
- オーダーのバッチ・ピック
- ピック中の数量の手動更新
「バックルーム・ピック時の不足分解決」
を適切に構成します。 デフォルトでは、「すべての在庫切れ」
という名前の不足分解決をデフォルト組織で使用できます。 新規エンタープライズに同じ不足分解決を使用する場合は、デフォルト組織のプロパティーを継承するか、以下の値を使用して Sterling Business Centerを使用して不足分解決を作成する必要があります。- 不足分解決: AllInventoryShortage
- 不足分解決の名前: 在庫切れ
詳しくは、「 バックルーム・ピック時の不足分解決の管理」を参照してください。 デフォルトの組織のプロパティを継承するには、 企業の主要情報の定義を参照してください。 カスタムの不足分解決を作成する場合は、それに対応する実装も用意する必要があります。 詳細については、 「カスタム不足理由の実装」 を参照してください。
- 「ステージング・ロケーションの割り当て」 ボタンは、 Sterling Business Centerで
Staging location requiredルールがストア・レベルで有効になっている場合にのみ表示されます。 - ステージング・ロケーションと通箱バーコードの翻訳をサポートする必要がある場合は、バーコードの翻訳設定を適切に構成します。 詳しくは、「 バーコード変換設定のセットアップ」を参照してください。
- 企業のバーコード・タイプを構成する必要があります。 アプリケーションでは、以下のバーコード・タイプが使用されます。
- 製品の翻訳については、
Item - 通箱の変換の場合は
Tote Id。 デフォルトでは、バーコード・タイプの 2 つのバリエーション (New ToteとExisting Tote) が提供されています。 - ステージング・ロケーション変換の場合は
Hold Location
YCD_Translate_Bar_Code_ExistingToteYCD_Translate_Bar_Code_NewToteYCD_Translate_Bar_Code_HoldLocation
- 製品の翻訳については、