レガシー・プラットフォーム

ピック中にソート

ストア担当者は、商品をピックしている時にバッチ内の商品をソートできる必要があります。

ストア担当者は、商品をピックしている時、バッチの商品をオーダーごとに別々の通箱に入れることができます。 すべての商品をピックしたら、ストア担当者は、各通箱をステージング・ロケーションに割り当てることができます。

解決方法

以下のセクションでは、API、外部プログラム、サービス、およびその他のコンポーネントについて説明します。

ストア担当者は、 「バッチ」 画面から、 Pick 新規バッチまたは Continue 進行中のバッチをピックすることを選択できます。
新規バッチの選択
「バッチ」 画面で、ストア担当者が「ピック」をクリックして新規バッチ内の商品をピックすると、 createStoreBatch API が呼び出されてバッチ・レコードが作成され、バッチ・ステータスが 1100 に変更されます。これは、 未完了バッチ を示し、バッチが現在のストア担当者に割り当てられていることを示します。 そのバッチに対して getStoreBatchList API から返されたすべての出荷明細は createStoreBatch API に渡され、この API は BatchNo 属性と StoreBatchKey 属性を返します。 出荷明細が既に別のバッチの一部としてピックされている場合、または単一オーダー・ピッキングによってピックされている場合は、適切なエラー・メッセージが表示されます。
進行中のバッチのピック

ストア担当者は、「バッチ」画面で「続行」をクリックして、進行中のバッチの商品をピックすることができます。 ストア担当者が、バッチのピックを開始したストア担当者でない場合は、確認ウィンドウが表示され、ピッキングを続行するかどうかをストア担当者に確認するプロンプトが出されます。 ストア担当者が続行を選択すると、manageStoreBatch API が呼び出されて、現在のストア担当者に対してバッチの AssignedToUserID が更新されます。

API および検証について詳しくは、Javadoc を参照してください。

バッチ内の商品
getStoreBatchDetails API が呼び出されて、バッチおよびバッチ内の商品が取り出されます。 バッチの取り出しには、必須属性 StoreBatchKey または BatchNo と、OrganizationCode 属性が使用されます。 これらの属性が渡されないと、API はエラーをスローします。 StoreBatchKey に対応するレコードがない場合、API はエラーをスローします。
  • getStoreBatchDetails API は内部で getShipmentLineList API を呼び出して、入力で渡される StoreBatchKey 属性の出荷明細を取り出します。 したがって、バッチ明細を形成するためにバンドルの親が取り出されることはありません。
  • 出荷明細が取り出されると、固有の商品ごとにバッチ明細が形成されます。 ItemIDUnitOfMeasure が 2 つの出荷明細で共通の場合は、その商品用の単一バッチ明細が形成されます。
  • PickLocationSeq 属性が ShipmentLine レベルで設定されている場合、API は、ピックアップしなければならない順番でそれらの商品を表示します。 商品が表示される順序は、YCDGetBatchPickPriorityUE 外部プログラムを実装することによってカスタマイズできます。
  • ストア担当者は、バッチ明細を絞り込むことで、バッチ内のすべての商品を表示したり、ピック対象の商品のみを表示したりすることができます。 BackroomPickComplete=N 属性を使用して、ピックされていないバッチ明細のみをフィルタリングして表示します。
  • API により、商品イメージ、ピック・ロケーション、部門、数量など、ピック対象の商品の詳細が出力に返されます。 「ピック」リンクおよび「不足の記録」リンクも表示されます。
ストア担当者は、商品バーコードをスキャンして商品をピックするか、商品を手動でピックすることができます。
  • SCAN モードでの商品のピック: ストア担当者が商品をスキャンすると、 「通箱の割り当て」 画面が表示されます。 Mode 属性をSCAN に設定して registerBatchPick API が呼び出されます。この API は StoreBatchKey 属性を使用して、BatchType 属性 (SORT_WHILE_PICKING) を判別します。 以下のロジックが内部で実行されます。
    • translatebar code API が呼び出され、 bar codeData 属性と bar codeType 属性が Item に設定されて、商品情報が取り出されます。
    • 同じ ItemIDUnitOfMeasure を持ち、入力で渡されたのと同じ BatchKey を持つ出荷明細が取り出されます。
    • 属性 BackroomPickComplete="N"IsPickable="Y" の出荷明細のみが検討され、最も低い BatchPickPriority の出荷明細がピック数量によって更新されます。
  • MANUAL ・モードでの商品のピック: ストア担当者が商品を選択して「ピック」をクリックすると、 「通箱の割り当て」 画面が表示されます。 Mode 属性をMANUALPICK に設定して registerBatchPick API が呼び出されます。この API は StoreBatchKey 属性を使用して、BatchType 属性 (SORT_WHILE_PICKING) を判別します。 以下のロジックが内部で実行されます。
    • registerBatchPick API が、必須の Item 要素を入力から読み取って商品情報を取得します。
    • 同じ ItemIDUnitOfMeasure を持ち、入力で渡されたのと同じ BatchKey を持つ出荷明細が取り出されます。
    • 属性 BackroomPickComplete="N"IsPickable="Y" の出荷明細のみが検討され、BatchPickPriority の値が最も低い出荷明細がピック数量によって更新されます。

    ストア担当者が商品をピックすると、「通箱割り当て (tote assignment)」画面が表示されます。ここで、ストア担当者は、引き続き通箱に商品を配置できます。 ピック中に商品の不足が発生した場合、ストア担当者は、ピック済み商品を通箱に配置する前に不足を記録できます。

  • 不足の記録: ストア担当者は、商品を選択し、バッチを履行するために十分な数量がない場合に不足を記録することを選択できます。 ストア担当者が不足のマークを付ける商品の数量が表示されます。
    ストア担当者がバッチ内の商品について「不足の記録」をクリックすると、以下のロジックが実行されます。
    • CodeTypeYCD_PICK_SHORT_RESOL に設定して getCommonCodeList が呼び出され、不足理由が取り出されます。 デフォルトでは、不足理由は 「在庫切れ」のみです。 ストア担当者が不足理由として 「在庫切れ」 を適用すると、商品はデフォルトの実装に基づいてバックオーダーされます。 ただし、カスタム・ロジックを実装してカスタムの不足理由を処理する場合は、handleShortageForBatchLineUE 外部プログラムを使用できます。
      recordShortageForBatchPick API が呼び出され、不足のマークを付ける必要がある出荷および出荷明細が判別されます。 ストア担当者は使用可能な商品をピックし、残りの値に不足のマークが付けられます。 デフォルトの不足理由である 「在庫切れ」が使用されます。
      • ストア担当者が不足を保存することを選択すると、出荷明細の不足数量が更新されます。
      • バッチ内のすべての商品に不足のマークが付くと、API はそのバッチをキャンセルします。 バッチのキャンセルに加え、出荷に含まれるすべての商品に不足のマークが付いている場合は出荷もキャンセルされます。
      recordShortageForBatchPick API によって以下の検証が実行されます。
      • StoreBatchKey 属性および ShortageReason 属性は、Item 要素と共に、API に対する必須入力です。 必須入力が渡されないと、該当するエラー・メッセージが表示されます。
      • 不足理由が無効な場合、該当するエラー・メッセージが表示されます。 ストア担当者が「OK」をクリックすると、不足が適用され、元の画面が表示されます。
通箱への商品の追加
商品をスキャンまたは手動ピックした後、ストア担当者は通箱に商品を追加できます。 「通箱の割り当て (tote assignment)」 画面で、通箱をスキャンするか、 Place in Tote # フィールドに通箱番号を手動で入力することができます。 手動ピックとスキャンされたピックの両方に対して、registerBatchPick API の出力を使用して通箱情報が取り出されます。 特定の出荷明細について、 ShipmentKey 属性および BatchKey 属性を使用して YFS_STORE_BATCH_LOCATION テーブルが照会されます。 レコードが取得されると、通箱 ID が 「通箱番号」 フィールドに取り込まれます。
  • 通箱 ID がまだ 「通箱番号 (Place in Tote #)」 フィールドに入力されていない場合、ストア担当者は通箱をスキャンするか、手動で通箱 ID を入力することができます。 通箱がスキャンされると、 bar codeData 属性と bar codeTypeStoreToteId として指定して translatebar code API が呼び出され、 ToteIDが返されます。 ただし、 トート翻訳必須ルールが無効化されている場合、API呼び出し translatebar code はスキップされ、フィールド Place in Tote # 内の値は翻訳されずに直接データベースに更新されます。 通箱がスキャンまたは入力されると、その通箱に商品が追加されます。
  • 「通箱番号に配置」 フィールドに既に通箱 ID が入力されている場合、ストア担当者は「保存」をクリックして通箱に商品を追加する必要があります。 BackroomPickedQuantity 属性と ToteID 属性を使用して UPDATE モードで registerBatchPick API が呼び出されて出荷明細が更新され、UI に情報が表示されます。
  • 商品に関連付けられた他の通箱がある場合は、関連付けられている商品の数量と共に表示されます。 - ボタンは有効で、+ ボタンは非表示のため、数量は編集できません。
    注:
    • ストア担当者は、通箱がスキャンされるか入力されるまではピックを保存できません。
    • 通箱フィールドがブランクのままになっている場合、またはストア担当者が、既に別のオーダーに関連付けられている通箱 ID を手動で入力した場合は、該当するエラー・メッセージが表示されます。
  • ストア担当者が「保存」をクリックすると、ピックされていない商品またはすべての商品が表示されます。ここで、ストア担当者は、商品に対して「編集」をクリックして、「通箱割り当て (tote assignment)」画面で通箱を変更できます。 ストア担当者は最も低い SLA の通箱から商品の数量を減らし、その商品を、高い SLA を持つ通箱に追加できます。それにより、高い SLA のオーダーを先に遂行できます。
  • getStoreBatchDetails API が呼び出されて、画面が最新表示になり、選択したフィルターに基づいてすべての商品が表示されるか、またはピック対象の商品のみが表示されます。

通箱の変更
ストア担当者が通箱に少なくとも 1 単位の商品を追加すると、「商品」画面が最新表示になり、バッチ内のその商品に対して「編集」リンクが有効になります。 ストア担当者は、「編集」をクリックして「通箱割り当て (tote assignment)」画面に移動できます。この画面で、通箱は SLA の昇順にリストされます。
注: 編集モードでは、 「配置する通箱番号 (Place in Tote #)」 フィールドは表示されません。 そのため、ストア担当者が新しい通箱に商品を追加したり既存の通箱から商品を削除したりすることはできません。

ストア担当者が、一部ピックされている商品に対して「編集」をクリックすると、Mode 属性が MANUAL に設定されて registerBatchPick API が呼び出され、商品の通箱情報が取り出されます。 ストア担当者が、完全にピックされている商品に対して「編集」をクリックすると、入力で StoreBatchKeyItemID、および UnitOfMeasure の各属性を渡して getStoreBatchDetails API が呼び出され、商品の通箱情報が取り出されます。

通箱内の商品の数量を減らすために、ストア担当者は、必要に応じて「-」ボタンをクリックできます。 Mode 属性を UPDATE に設定して、registerBatchPick API が呼び出されます。 UPDATE モードでは、以下の API アクションが実行されます。
  • StoreBatchKey および BackroomPickedQty が入力で registerBatchPick API に渡されて出荷明細が更新されます。
  • changeShipment API が呼び出されて、出荷明細の BackroomPickedQty 属性が更新されます。
ストア担当者は、必要に応じて数量を削減した後、「通箱割り当て (tote assignment)」画面で「完了」をクリックします。これにより、通箱の再配置チェックが実行されます。 削除している商品の数量が、同じ商品を含む他のオーダーより高い SLA を持つオーダーに属している場合は、通箱の再配置が必要なため、該当する警告メッセージが表示されます。 この警告メッセージは、より高い SLA のオーダーを先に遂行するようストア担当者に通知します。 メッセージ・ウィンドウで、ストア担当者は「はい」または「いいえ」のいずれかをクリックできます。 ただし、オーダーの SLA が最も低い場合、通箱の再配置は不要であり、ストア担当者は 「バッチ」 画面に戻ります。
注: 通箱から削減された商品の数量をピックするには、ストア担当者はピック・フローを再度使用する必要があります。
バッチが完全にピックされた場合にのみ changeShipmentStatus API が呼び出されます。 出荷のステータスを変更するために複数の検証が行われます。以下にそれらの検証の一部を示します。
  • 特定の出荷明細に対応する出荷がまだ「 バックルーム・ピックが進行中 」ステータスになっていない場合、 changeShipmentStatus API が呼び出されて、出荷ステータスが「 バックルーム・ピック準備完了 」から「 バックルーム・ピックが進行中」に変更されます。
  • 出荷が完全にピックされると、 changeShipmentStatus が追加で呼び出され、 「ストアでのピックアップ」 オーダーの場合はステータスが 「顧客ピックアップ準備完了」 に更新され、 「ストアから出荷」 オーダーの場合は 「梱包準備完了」 に更新されます。

出荷が更新された後、registerBatchPick API は、ピッキング処理が完了しているかどうかを判別し、バッチのステータスを 2000 または 3000 に更新します。ここで、2000 は、「ピッキングが完了しており、ステージングが行われていない」ことを示し、一方 3000 は、「バッチ・ピッキングが完了している」ことを示しています。

ステージング・ロケーションの割り当て
すべての商品が完全にピックされると、該当する確認メッセージが表示され、ストア担当者は、ステージング・ロケーションを割り当てること、またはバッチ・ピック・プロセスを終了することを選択できます。 ストア担当者が「ステージング・ロケーションの割り当て」をクリックすると、通箱が表示され、また通箱ごとに「割り当て」アクションが表示されます。
注: 通箱へのステージング・ロケーションの割り当ては、 Staging location required ルールに基づいて行われます。 ルールが有効の場合、ストア担当者のみこのタスクを実行できます。
  • ストア担当者がステージング・ロケーションの割り当てに進むと、StoreBatchKey 属性を使用して getStoreBatchLocationList API が呼び出され、バッチの通箱のリストが返されます。 通箱は配達方法でソートされます。最初に 「ストアでのピックアップ」 通箱がリストされ、次に 「ストアから出荷」 通箱がリストされます。
  • 次に、ストア担当者は、通箱をスキャンするか、手動で入力できます。 ストア担当者が通箱をスキャンすると、 bar codeTypeStoreToteIdに設定された状態で translatebar code API が呼び出されます。 通箱 ID、通箱内の商品の数量など、通箱の詳細を含む「現行の通箱」画面が表示されます。 ステージング・ロケーション・フィールドが表示されます。ここで、ストア担当者は、ステージング・ロケーションのバーコードをスキャンするか、ロケーション ID を手動で入力することができます。
  • ストア担当者がステージング・ロケーションをスキャンすると、 HoldLocation として bar codeType を指定して translatebar code API が呼び出され、ステージング・ロケーション ID が返されます。 ただし、 「ステージング・ロケーションの変換が必要」 ルールが無効になっている場合、 translatebar code API 呼び出しはスキップされ、 「ステージング・ロケーションに配置」 フィールドの値は変換されずにデータベース内で直接更新されます。

    ステージング・ロケーションがスキャンされるか手動で入力され、ストア担当者が「保存」をクリックすると、changeShipment API が呼び出されて、オーダーのステージング・ロケーションが更新されます。 ストア担当者は通箱リストに戻され、バッチ内の各通箱のステージング・ロケーションの割り当てを続行できます。 更新された通箱が強調表示され、ステージング・ロケーションが表示されます。 ステージング・ロケーションがすべての通箱に割り当てられると、manageStoreBatch API が呼び出され、バッチのステータスが 3000 (完了済みのバッチ) に更新されます。 StagedQuantity 属性と、Y に設定された IsStagingComplete 属性が、入力で changeShipment API に渡され、出荷明細が適切に更新されます。

外部プログラム
  • getStoreBatchDetails API に対する com.yantra.pca.ycd.japi.ue.YCDSortBatchLinesUE 外部プログラムを使用してカスタム・ロジックを実装し、カスタム実装を使用して商品をソートできます。
  • createStoreBatch API に対する com.yantra.pca.ycd.japi.ue.YCDGetBatchPickPriorityUE 外部プログラムを使用してカスタム・ロジックを実装し、バッチ・ピックの優先順位を計算できます。
  • com.yantra.pca.ycd.japi.ue.YCDInvokeUpdateInventoryUE 外部プログラムを使用して、在庫を更新するためのカスタム・ロジックを実装できます。この外部プログラムは、出荷明細の BackroomPickedQuantity 属性の各更新後に、registerBatchPick API によって呼び出されます。
  • カスタムの不足理由を選択する際のアプリケーションの動作は、YCDhandleShortageForBatchLineUE 外部プログラムを使用して実装できます。この外部プログラムは、recordShortageForBatchPick API によって呼び出されます。

API について詳しくは、Javadoc を参照してください。

デバイス固有の詳細

ありません。

実装

以下の情報は、このフィーチャー用に構成する必要があるルールについて説明しています。

  • バッチ・ピッキングを実行するには、ストア担当者に以下のリソース・アクセス権が必要です。
    • オーダーのバッチ・ピック
    • ピック中の数量の手動更新
    ユーザ・グループ権限の管理の詳細については、 ユーザ・グループ権限の管理を参照してください。
  • 「バックルーム・ピック時の不足分解決」 を適切に構成します。 デフォルトでは、 「すべての在庫切れ」 という名前の不足分解決をデフォルト組織で使用できます。 新規エンタープライズに同じ不足分解決を使用する場合は、デフォルト組織のプロパティーを継承するか、以下の値を使用して Sterling Business Centerを使用して不足分解決を作成する必要があります。
    • 不足分解決: AllInventoryShortage
    • 不足分解決の名前: 在庫切れ

    詳しくは、「 バックルーム・ピック時の不足分解決の管理」を参照してください。 デフォルトの組織のプロパティを継承するには、 企業の主要情報の定義を参照してください。 カスタムの不足分解決を作成する場合は、それに対応する実装も用意する必要があります。 詳細については、 「カスタム不足理由の実装」 を参照してください。

  • 「ステージング・ロケーションの割り当て」 ボタンは、 Sterling Business CenterStaging location required ルールがストア・レベルで有効になっている場合にのみ表示されます。
  • ステージング・ロケーションと通箱バーコードの翻訳をサポートする必要がある場合は、バーコードの翻訳設定を適切に構成します。 詳しくは、「 バーコード変換設定のセットアップ」を参照してください。
  • 企業のバーコード・タイプを構成する必要があります。 アプリケーションでは、以下のバーコード・タイプが使用されます。
    • 製品の翻訳については、 Item
    • 通箱の変換の場合は Tote Id。 デフォルトでは、バーコード・タイプの 2 つのバリエーション ( New ToteExisting Tote) が提供されています。
    • ステージング・ロケーション変換の場合は Hold Location
    バーコード・タイプは、Applications Manager でエンタープライズ・レベルで定義する必要があります。 バーコード・タイプは、デフォルトの組織用に提供されています。 新規エンタープライズをオンボードするときには、これらのバーコード・タイプを再度作成するか、デフォルト組織からコピーする必要があります。 バーコード変換を実装するために、アプリケーションには以下のサービスが用意されています。 ただし、これらのサービスは、ユーザーのビジネス要件に合わせてオーバーライドできます。
    • YCD_Translate_Bar_Code_ExistingTote
    • YCD_Translate_Bar_Code_NewTote
    • YCD_Translate_Bar_Code_HoldLocation