報酬パターンを使用した購買オーダーの管理
Oracle Global Order Promisingを使用しない場合、オーケストレーション・プロセスに報酬パターンを追加して、購買オーダーを管理できます。
オーダー明細に直送する品目が含まれており、履行する明細をすでに発行しているとします。 販売オーダーを改訂し、明細のステータスが出荷待機中になり、サプライヤまたはサプライヤ・サイトを変更してから改訂を発行します。 古い購買オーダーを取り消し、改訂したサプライヤまたはサプライヤ・サイトを持つ新しい購買オーダーを作成する必要があります。
Global Order Promisingを使用する場合、購買オーダーを管理するためのリクエストがOracle Purchasingに自動的に送信されます。 Global Order Promisingを使用しない場合は、この報酬パターンを使用して、かわりにリクエストを送信できます:
実行する必要がある手順を次に示します。
- 「設定および保守」作業領域のオーケストレーション・プロセス定義の管理タスクを使用して、オーケストレーション・プロセスを編集のために開きます。
- 報酬パターンを購買リクエストの作成ステップに追加します。 オーケストレーション・プロセスに購買リクエストを作成するステップがない場合は、追加します。 購買リクエストの作成ステップがある例については、事前定義済のOrderFulfillmentGenericProcessオーケストレーション・プロセスを確認します。
- オーケストレーション・プロセスを検証、リリースおよびデプロイします。
すべてのテストが実行時にtrueと評価された場合、新しいアサート処理によって新しいCANCEL_CREATEオブジェクトが作成され、オーケストレーション・プロセスによってそのオブジェクトがOracle Purchasingに送信され、古い購入を取り消して、改訂されたサプライヤまたはサプライヤ・サイトを持つ新しい購入が作成されます。 オーケストレーション・プロセスでは、Purchasingで購買オーダーを管理するために必要なその他のデータ(SupplierId、SupplierSiteIdなど)も送信されます。
ライフを簡略化するために、この報酬パターンがすでにあるOrderFulfillmentGenericProcessWithoutScheduleという名前のオーケストレーション・プロセスを作成しました。 Order Management環境にアップロードできます。 その方法は次のとおりです。
- 「オーダー管理の技術リファレンス(ドキュメントID 2051639.1)」に移動します。
- ペイロードおよびファイルの添付をダウンロードします。
- ダウンロードしたファイルを開き、実装のProject-40_1_20230601_2143.zipファイルを見つけて、そのzipファイルをコンピュータに保存します。
- 実装のProject-40_1_20230601_2143.zipファイルをOrder Management環境にアップロードします。 詳細は、「Order Managementでのオーケストレーション・プロセスの移行」を参照してください。
- オーケストレーション・プロセス定義の管理タスクを使用して、OrderFulfillmentGenericProcessWithoutScheduleを検索して開きます。
- 購買リクエストの作成ステップで報酬パターンを確認します。
ガイドラインや設定方法など、報酬パターンの詳細については、「変更する販売オーダーを補正」を参照してください。
報酬パターンのテキスト・バージョンを次に示します。
Root: DooSeededOrchestrationRules.DOOHeader
IF the following test is true
DooSeededOrchestrationRules.DOOHeader.childFLines RL.contains DooSeededOrchestrationRules.DOOHeader/childFLines and
DooSeededOrchestrationRules.DOOHeader/childFLines.attributeChanged("SupplierId") is true or
DooSeededOrchestrationRules.DOOHeader/childFLines.attributeChanged("SupplierSiteId") is true or
DooSeededOrchestrationRules.DOOHeader/childFLines.attributeChanged("InventoryItemId") is true or
DooSeededOrchestrationRules.DOOHeader/childFLines.attributeChanged("OrderedUom")is true or
the following test is true
"ATO" equals ignore case DooSeededOrchestrationRules.DOOHeader/childFLines.itemSubTypeCode and
DooSeededOrchestrationRules.DOOHeader/childFLines.attributeChanged("ConfigInventoryItemId") is tr
or
the following test is true
the following test is true
"query" equals ignore case DooSeededOrchestrationRules.DOOHeader.operationMode or
"UPDATE" equals ignore case DooSeededOrchestrationRules.DOOHeader.operationMode
and
the following test is true
"CREATE" equals ignore case DooSeededOrchestrationRules.DOOHeader/childFLines.lineOperation and
"Y" equals ignore case DooSeededOrchestrationRules.DOOHeader/childFLines.purchasingEnabledFlag and
the following test is true
DooSeededOrchestrationRules.DOOHeader/childFLines.shipSetName isn't null or
the following test is true
"OPTION" equals ignore case DooSeededOrchestrationRules.DOOHeader/childFLines.itemSubTypeCode or
"INCLUDED" equals ignore case DooSeededOrchestrationRules.DOOHeader/childFLines.itemSubTypeCode
THEN
assert new DooSeededOrchestrationRules.Result ( resultObj:"CANCEL_CREATE", resultObjKey:DooSeededOrchestrationRules.DOOHeader/childFLines.fulfillLineId )