すべての販売オーダーのエラー修正
「オーダー管理」作業領域での検索で返されるエラーのみでなく、一連の販売オーダー、オーケストレーション・プロセスまたは履行タスクのセットで発生するエラーを修正します。
オーダーのリカバリ、プロセスのリカバリまたはタスクのリカバリ処理を使用して、販売オーダーで問題が発生するエラーを修正できます。 ただし、これらの処理では、「オーダー管理」作業領域での検索で返される販売オーダーで発生したエラーのみ修正できます。
かわりに、スケジュール済プロセスを使用して次のことを実行できます:
- オーダー履行中に発生するエラーを修正します。 たとえば、品目を履行するのに十分な在庫がないために在庫を予約できないオーダー履行明細です。
- オーダー履行ラインのシステム・エラーを修正します。
- オーケストレーション・プロセスの条件を評価します。 詳細は、「オーケストレーション・プロセスを一時停止するためのガイドライン」を参照してください。
- 事前出荷通知に問題があります。 詳細は、「事前出荷通知のリカバリ」を参照してください。
演習
すべての販売オーダーのエラーを修正します。
-
エラーの原因となった問題を修正します。
この問題を修正しないと、リカバリを実行するかどうかに関係なく同じエラーが継続して発生します。
-
Oracle Applicationsにサインインします。 エラーのリカバリ・スケジュール済プロセスを実行するために必要な権限があることを確認します。 詳細は、「エラーのリカバリ」を参照してください。
-
「スケジュール済プロセス」作業領域に移動します。
-
「スケジュール済プロセス」ページで、「新規プロセスのスケジュール」をクリックします。
-
「新規プロセスのスケジュール」ダイアログで値を設定し、「OK」をクリックします。
属性
値
名前
エラーのリカバリ
-
「プロセス詳細」ダイアログで、パラメータを設定して、修正する販売オーダーをフィルタします。
たとえば、「顧客名」をComputer Service and Rentalsに設定すると、スケジュール済プロセスは、「顧客名」属性にComputer Service and Rentalsが含まれるすべての販売オーダーのエラーを修正しようとします。
パラメータ
次のような販売オーダーで発生するエラーを修正する場合
オーケストレーション・オーダー番号
入力した値が「オーダー」属性に含まれる場合。
販売オーダーを作成し、その「オーダー」属性に56849が含まれているとします。 このパラメータを56849に設定すると、スケジュール済プロセスによって、販売オーダー56849のエラーの修正が試行されます。
ソース・オーダー番号
入力した値が「ソース・オーダー」属性に含まれる場合。
オーダー日: 自
「オーダー日」属性が入力した日付以降になっている場合。
オーダー日: 至
「オーダー日」属性が入力した日付以前になっている場合。
ソース・システム
選択したソース・システムが「ソース・オーダー・システム」属性に含まれる場合。
プロセス名
「オーケストレーション・プロセス番号」属性が、選択したオーケストレーション・プロセスを参照する場合。
顧客名
選択した値が「顧客」属性に含まれる場合。
在庫品目
入力した在庫品目が含まれる場合。
タスク・タイプ
選択したタスク・タイプに現在存在する場合。 たとえば、「スケジュール」を選択した場合、スケジュール済プロセスは、現在スケジュール済タスクにある販売オーダーのエラーを修正しようとします。
-
タスク・タイプまたはタスク名を指定することをお薦めします。 そうしないと、スケジュール済プロセスでは、すべてのタスクでエラーが発生し、パフォーマンスに影響する可能性がある明細のリカバリが試行されます。
タスク名
選択したタスクに現在存在する場合。 たとえば、商品のスケジュールを選択した場合、スケジュール済プロセスでは、商品のスケジュール・タスクに現在ある販売オーダーのエラーの修正が試行されます。
オーダー・オーケストレーション機能
特定のタイプの処理または機能が関係する場合。 たとえば、「承認」を選択すると、スケジュール済プロセスによって、承認を含む各販売オーダーのエラーの修正が試行されます。
設定できる値の一部を次に示します。
- 履行タスク オーケストレーション・プロセスの様々な履行タスクでスタックしているオーダー明細をリカバリします。
- 「履行プロセス」. オーケストレーション・プロセスにエラーがあるため、スタックしているオーダー明細をリカバリします。 たとえば、オーケストレーション・プロセスをデプロイしなかったとします。
- 「オーケストレーションの開始」. この値を使用して、下書き販売オーダーのロック解除、開始されていない明細のリカバリまたはスタックしている処理を行います。 詳細は、「ロック済または未開始の販売オーダーの回復」を参照してください。
スコープ
スコープの設定を参照してください。 重要な詳細は、「Order Managementでスケジュール済プロセスを使用するためのガイドライン」を参照してください。
-
-
「送信」をクリックします。
-
「確認」ダイアログで、属性「プロセスID」の値を書き留め、「OK」→「クローズ」をクリックします。
-
「処理」→「リフレッシュ」をクリックします。
-
前にメモしたプロセスIDを使用してスケジュール済プロセスを検索し、このプロセスの「ステータス」属性に「成功」と表示されることを確認します。
-
ステータスに応じて、処理を実行します。
ステータス
処理の実行
エラー
ログおよび出力セクションで、「添付」リンクをクリックして結果を確認します。 通常、「エラー」ステータスは、エラーの原因を修正して、スケジュール済プロセスを再度実行する必要があることを示しています。
成功
ログを表示して、オーダー管理でピックされた履行明細の数、処理された数、および処理できなかった数を確認します。
スコープの設定
スコープ・パラメータを設定して、発生した場所に応じてエラーをフィルタできます。
スコープを次のように設定した場合 | スケジュール済プロセスは. . . |
---|---|
オーダー履行エラー |
履行タスク中にダウンストリーム・アプリケーションの販売オーダー・データでのみ発生するエラーの修正を試みます。 スケジュール済プロセスでは、「システム・エラーを検索する日数」パラメータと「遡った検索を開始する日付」パラメータは無視されます。 かわりに、他のすべてのパラメータが使用されます。 |
システム・エラー |
データベースがタイムアウトした、サーバーがタイムアウトした、不安定なサーバー接続がある、スタックしているスレッドがある、メモリーが不足しているなどの、システムの問題のためにスタックしているオーダー明細のリカバリを試行します。 スケジュール済プロセスでは、「システム・エラーを検索する日数」パラメータと「遡った検索を開始する日付」パラメータが使用されます。 他のすべてのパラメータは無視されます。 スコープをシステム・エラーに設定した場合は、スケジュール済プロセスを毎日1回のみ実行することをお薦めします。 |
オーダー履行およびシステム・エラー |
販売オーダーおよびシステムで発生したエラーの修正を試みます。 スケジュール済プロセスではシステム・エラーを修正する際、「システム・エラーを検索する日数」パラメータと「遡った検索を開始する日付」パラメータのみが使用されます。 履行エラーを修正する際は、他のパラメータのみが使用されます。 |
システム・エラーの範囲の設定
次のパラメータは「スコープ」パラメータを「システム・エラー」または「オーダー履行およびシステム・エラー」に設定した場合に指定できます。
設定するパラメータ | 次のような販売オーダーで発生するシステム・エラーを修正する場合 |
---|---|
システム・エラーを検索する日数 |
指定した日数内。 たとえば、「システム・エラーを検索する日数」を5に設定し、「遡った検索を開始する日付」を5月15日に設定すると、プロセスは5月11日から5月15日に発生したシステム・エラーの修正を試みます。 |
遡った検索を開始する日付 |
指定した日付から開始し、その日付から遡ってカウントします。 日付を設定しなかった場合、スケジュール済プロセスは本日からシステム・エラーの検索を開始し、本日から遡って日数をカウントします。 スケジュールに従って実行するようこのスケジュール済プロセスを設定する場合、「遡った検索を開始する日付」は空白のままにします。 |
これらのパラメータはシステム・エラーにのみ適用されます。 履行エラーには適用されません。
次のように仮定します。
- 5月10日に履行エラーが発生します。
Orchestration couldn't create a reservation because the reservation quantity is greater than the available-to-reserve quantity.
- 5月11日にシステム・エラーが発生します。
The request failed. Orchestration process 300100098837243 for sales order 482655 didn't start because it isn't deployed or the server isn't available. Deploy the orchestration process. Make sure the server is up and running.
次の値を設定すると、スケジュール済プロセスはシステム・エラーの修正のみを試みます。
パラメータ | 値 |
---|---|
スコープ | システム・エラー |
システム・エラーを検索する日数 | 5 |
遡った検索を開始する日付 | 5月15日 |
次の値を設定すると、スケジュール済プロセスはどちらのエラーについても修正を試みません。
パラメータ | 値 |
---|---|
スコープ | システム・エラー |
システム・エラーを検索する日数 | 1 |
遡った検索を開始する日付 | 5月15日 |
次の値を設定すると、スケジュール済プロセスはシステム・エラーおよび履行エラーの修正を試みます。
パラメータ | 値 |
---|---|
スコープ | オーダー履行およびシステム・エラー |
システム・エラーを検索する日数 | 5 |
遡った検索を開始する日付 | 5月15日 |
次の値を設定すると、スケジュール済プロセスは履行エラーの修正を試みますが、システム・エラーの修正は試みません。
パラメータ | 値 |
---|---|
スコープ | オーダー履行およびシステム・エラー |
システム・エラーを検索する日数 | 1 |
遡った検索を開始する日付 | 5月15日 |
調査するオーケストレーション・プロセスのフィルタリング
「スコープ」パラメータを「システム・エラー」または「オーダー履行およびシステム・エラー」に設定した場合、次のパラメータも設定できます。 これらのパラメータはシステム・エラーにのみ適用されます。 履行エラーには適用されません。
パラメータ | 説明 |
---|---|
修正するオーケストレーション・プロセス・バージョンの数 |
修正するバージョンの数を、最新バージョンから数えて指定します。 オーケストレーション・プロセスxおよびオーケストレーション・プロセスyを使用するとします。xにはバージョン1、2、3があり、yにはバージョン1、2、3、4、5があるとします。
|
アクティブなオーケストレーション・プロセスを検索する日数 |
アクティブなオーケストレーション・プロセスを検索する日数を指定します。 たとえば、「アクティブなオーケストレーション・プロセスを検索する日数」を30に設定すると、本日または本日から過去29日間にアクティブだったオーケストレーション・プロセスのみが調査されます。 終了日から30日が過ぎているオーケストレーション・プロセスは調査されません。 |
次のように仮定します。
- 今日は5月15日です。
- オーケストレーション・プロセスxを使用します。このプロセスにはバージョン1、2、3があります。
- オーケストレーション・プロセスyも使用します。このプロセスにはバージョン1、2、3、4、5があります。
- オーケストレーション・プロセスxの終了日は空です。
- オーケストレーション・プロセスyの終了日は5月1日です。
次の値を設定すると、スケジュール済プロセスはプロセスxのバージョン1、2、3に関連するシステム・エラーの修正を試みますが、プロセスyのバージョンは考慮しません。
パラメータ | 値 |
---|---|
スコープ | システム・エラー |
修正するオーケストレーション・プロセス・バージョンの数 | 3 |
アクティブなオーケストレーション・プロセスを検索する日数 | 10 |
次の値を設定すると、スケジュール済プロセスはプロセスxのバージョン1、2、3に関連するシステム・エラーの修正と、yのバージョン3、4、5に関連するシステム・エラーの修正を試みます。
パラメータ | 値 |
---|---|
スコープ | システム・エラー |
修正するオーケストレーション・プロセス・バージョンの数 | 3 |
アクティブなオーケストレーション・プロセスを検索する日数 | 30 |
すべてのフィルタの使用
検索範囲をさらに絞り込むことができます。
同じシナリオを続けます。次の値を設定すると、スケジュール済プロセスはシステム・エラーの修正のみを試みます。調査するシステム・エラーはプロセスxのバージョン1、2、3に関連するエラーのみで、プロセスyのバージョンは考慮しません。
パラメータ | 値 |
---|---|
スコープ | システム・エラー |
システム・エラーを検索する日数 | 5 |
遡った検索を開始する日付 | 5月15日 |
修正するオーケストレーション・プロセス・バージョンの数 | 3 |
アクティブなオーケストレーション・プロセスを検索する日数 | 10 |
デフォルト値の使用
「スコープ」パラメータを「システム・エラー」または「オーダー履行およびシステム・エラー」に設定した場合のデフォルト値は次のとおりです。
パラメータ | デフォルト値 | 値を削除して空のままにすると、スケジュール済プロセスは |
---|---|---|
システム・エラーを検索する日数 | 30 | すべての日に発生したエラーを調査します。 |
遡った検索を開始する日付 | 空 | 本日から太古または少なくとも先カンブリア時代までを調査します。 |
修正するオーケストレーション・プロセス・バージョンの数 | 1 | 各オーケストレーション・プロセスのすべてのバージョンを調査します。 |
アクティブなオーケストレーション・プロセスを検索する日数 | 180 | アクティブおよび非アクティブのすべてのオーケストレーション・プロセスを調査します。 |
これらのパラメータからすべての値を削除すると、スケジュール済プロセスはすべてのオーケストレーション・プロセスのすべてのバージョンを本日から太古まで調査します。 パフォーマンスの問題を回避するために、この操作は実行しないことを強くお薦めします。
スケジュールの設定
「拡張」→「スケジュール」をクリックして「スケジュールの使用」オプションを有効にし、「頻度」を「週次」などの繰り返しに設定した場合は、スケジュールで効率的に機能するようパラメータを適切な値に設定します。
- スケジュール済プロセスを1回実行し、「システム・エラーを検索する日数」パラメータを180に設定して、古いエラーをすべてクリーン・アップします。
- 次に、プロセスを毎週1回実行するスケジュールを設定します。
- 古いエラーをすべて修正したため、7日を超えて過去のエラーを調べる必要はありません。したがって、「システム・エラーを検索する日数」を7に設定します。 これによりプロセスが効率的に実行され、システム・リソースに大きな負荷がかかりません。
同様の方法で他のパラメータを設定すると、より効率的にプロセスを実行できます。
リカバリが必要な場合 | 次にこれらのパラメータを設定 |
---|---|
履行タスク |
|
オーケストレーション・プロセス |
|
システム・エラー | 「スコープ」を「システム・エラー」に設定します。 |
- タスク・タイプをスケジュールに設定
- スコープをオーダー履行エラーに設定
- オーダー・オーケストレーション機能を履行タスクに設定
頻度
8時間から10時間ごとなど、特定の要件を満たすため、このスケジュール済プロセスをより頻繁に実行できます。 その場合は、パフォーマンスを詳細にモニターする必要があります。 数分ごとや1時間に1回など、頻繁に実行しないことをお薦めします。 特定のニーズを満たすように、いつでも手動で実行できます。
ガイドライン
-
「オーダー管理」作業領域の履行ビューを使用して、各販売オーダーに使用する必要がある属性値を決定します。
-
複数のパラメータに値を追加して、検索を絞り込みます。 たとえば、「顧客名」をComputer Service and Rentalsに設定し、「オーダー・オーケストレーション機能」を「承認」に設定すると、スケジュール済プロセスによってComputer Service and Rentalsの顧客の承認を含む販売オーダーのエラーの修正が試行されます。
-
「プロセス・オプション」および「拡張」を使用して、他のオプションを設定します。
- 「ビジネス・イベントのリカバリを再試行する日数」パラメータを使用して、ビジネス・イベントに関連するエラーからリカバリする日数を指定できます。 「Order Managementパラメータの管理」を参照してください。
- プロファイル・オプションを設定する。 詳細は、「オーダー・プロファイルを使用したOrder Managementの動作の制御」の各時間におけるエラーのオーダー明細の割合サブトピックを参照してください。
-
ソース・オーダー、ソース・システムおよびオーケストレーション・プロセスについて学習します。 詳細は、オーダー管理でのソース・オーダーから販売オーダーへの変換方法を参照してください。
重大なパフォーマンス問題の回避
- 少なくとも1つのパラメータに値を設定する必要があります。 可能なかぎり多くのパラメータを指定することをお薦めします。
- スコープを設定します。
- 通常、このスケジュール済プロセスを毎日複数回実行しないでください。
エラーのリカバリ・スケジュール済プロセスを使用できるのは、未計画エラーからリカバリする場合のみです。 通常のビジネス・フローの一部として使用しないでください。 たとえば、品目を予約するのに十分な数量がないことがよくあり、次のようなエラーが発生するとします:
A reservation was not created because the reservation quantity is greater than the available-to-reserve quantity.
エラーのリカバリは、十分な数量と履行が成功するまで、スケジュールに従って繰り返し実行するように設定することをお薦めします。 しかし、この技術はほぼ確実に性能に影響します。
エラーのリカバリを使用するかわりに、別のソリューションを実装する必要があります。 この例では、一時停止ステップをオーケストレーション・プロセスに追加して、予約可能な数量がオーダー明細のリクエスト数量より大きくなるまでプロセスを一時停止できます。 予約ステップの直前に一時停止ステップを配置します。
「エラーのリカバリ」の動作方法
「エラーのリカバリ」では、オーダー管理で販売オーダーが作成された時期に従って、先入れ先出しの順序でリカバリされます。 この動作は変更できません。
次のことを想定します:
-
AS54888の品目の販売オーダーを作成します。
-
月曜日に数量100の販売オーダー1を作成します。
-
水曜日に数量200の販売オーダー2を作成します。
-
金曜日に数量1,000の販売オーダー3を作成します。
-
-
AS54888は現在在庫切れであるため、販売オーダー1、2および3はエラー状態になります。
-
数量1,000まで在庫を補充する購買オーダーを土曜日に発行します。
土曜日に、Recover Errors(エラーのリカバリ)スケジュール済プロセスを実行します。 次の順序を使用して、オーダーをリカバリします:
-
オーダー1の全量に対する供給をリカバリします。
-
オーダー2の全量に対する供給をリカバリします。
-
オーダー3を2つの明細に分割します。 数量700の明細1がリカバリされ、明細2の数量が300、明細2のステータスが保留中に設定されます。
同じロジックが他の種類のエラーおよびデータにも適用されます。 たとえば、これらの販売オーダーの予約タスクが失敗したとします。 スケジュール済プロセスでは、同じ順序を使用してオーダーのリカバリが試行され、同じ順序に従って供給が予約されます。 優先度を付ける必要がある場合は、配賦ルールを作成して、供給を予約するユーザーの優先度を付けることを検討できます。 詳細は、配賦ルールを参照してください。
この例では、「エラーのリカバリ」の1つの動作方法について説明しています。 使用時の正確な動作は、かなり異なる場合があります。