拡張機能を使用したオーダー明細の取消
拡張可能フレックスフィールドを使用して販売オーダーのオーダー明細を取り消す拡張を作成します。
品目が廃止され、サプライヤが品目を供給しなくなったため、履行できない品目の販売オーダーを顧客が発行したとします。 オーダー管理拡張を使用して、拡張可能フレックスフィールドで廃止などの値を含む明細を取り消すことができます。
このトピックではサンプル値を使用します。 ビジネス要件によっては、別の値が必要になる場合があります。
-
拡張可能フレックスフィールドを作成します。
-
履行明細情報フレックスフィールドに追加します。 次の値を使用します。
属性
値
名前
CancelLine
カテゴリ
追加履行明細情報
コンテキスト
ProductObsoleteContext
-
「セグメントの作成」ページで値を設定します。
属性
値
名前
CancelLine
コード
CancelLine
API名
cancelline
使用可能
チェック・マークが含まれます。
データ型
文字
表の列
ATTRIBUTE_CHAR2
値セット
10文字
プロンプト
明細の取消
表示タイプ
テキスト・ボックス
-
フレックスフィールドを公開してデプロイします。
詳細は、「オーダー管理での拡張可能フレックスフィールドの設定」を参照してください。
-
-
拡張機能を作成します。
-
「設定および保守」作業領域で、タスクに移動します。
-
オファリング: オーダー管理
-
機能領域: オーダー
-
タスク: オーダー管理拡張の管理
-
-
「拡張の作成」ページの「発行リクエスト」の開始時タブで、値を入力します。
属性
値
名前
オーダー数量の取消
説明
この拡張は、オーダー明細の拡張可能フレックスフィールドの値を調査して、明細を取り消すかどうかを決定します。
-
定義領域で、コードを追加します。
import oracle.apps.scm.doo.common.extensions.ValidationException; def poNumber = header.getAttribute("CustomerPONumber"); if( !"CancelOrderQuantity".equals(poNumber) ) return; def lines = header.getAttribute("Lines"); if(lines == null) return; while(lines.hasNext()){ def line = lines.next(); //Get the row for the flexfield context named ProductObsoleteContext. //Use the code value for the context as the argument to get the context row. def context = line.getContextRow("ProductObsoleteContext"); if(context == null) throw new ValidationException("Context ProductObsoleteContext was null"); def cancelLineEffVal = context.getAttribute("cancelline"); if("Y".equals(cancelLineEffVal)){ line.setAttribute("OrderedQuantity",0); } }
-
「検証」>「保存してクローズ」をクリックします。
-
設定のテスト
顧客Computer Service and Rentalsのテスト販売オーダーを作成します。
-
販売オーダーを作成します。
-
オーダー管理作業領域に移動し、新しい販売オーダーを作成します。
オーダー・ヘッダーに属性を設定します。
属性
値
Customer
Computer Service and Rentals
オーダー・タイプ
Standardオーダー
-
構成されていない品目を含むオーダー明細を追加します。
-
「送信」をクリックします。
-
-
オーダー明細ステータスが出荷待機中に変更されるまで待機します。 「リフレッシュ」をクリックしてステータスを更新します。
-
販売オーダーを修正します。
-
「オーダーの管理」ページで、「処理」>「改訂の作成」をクリック
-
「改訂の作成」ページで、オーダー・ヘッダーに属性を設定します。
属性
値
購買オーダー
CancelOrderQuantity
-
「オーダー明細」をクリックし、「明細の更新」をクリックします。
-
「明細の更新」ページで、追加情報属性を選択済ウィンドウに移動し、「次」をクリックします。
-
値の指定領域で、「追加情報の更新」をクリックします。
-
開いたダイアログで、CancelLineをクリックします。
-
ProductObsoleteContext領域のCancelLineの横にあるウィンドウで、
"Y"
と入力します。二重引用符を含める必要があります。
-
OKをクリックし、「更新」をクリックします。
-
-
オーダー管理によってオーダー明細の数量が0に変更され、明細が取り消されたことを確認します。