販売オーダーで価格設定プロモーションを使用
価格設定プロモーションをインセンティブとして適用し、顧客との売上の増加(購入は無料(BOGO)など)や、販売オーダーの属性の値に従って割引を適用します。
拡張機能を使用
また、オーダー管理機能拡張を使用して、販売オーダーに品目を追加して、より大きな数量を購入した顧客に報酬を与えることもできます。 たとえば、顧客がAS54888デスクトップ・コンピュータに対して数量5をオーダーした場合、同じオーダーの別のオーダー明細に無料のAS9000ルーターを追加します。
- createLineParamsメソッドのsetProductNumberパラメータを使用して、追加する品目を指定します。
- createLineParamsのsetOrderedQuantityパラメータを使用して、追加する品目の数量を指定します。
- IF文を使用して、新規明細を追加するかどうかを決定するしきい値として使用する数量を指定します。
- createLineParamsを使用して、追加する新しい行にProductNumber、OrderedUOMおよびOrderedQuantity属性を設定できます。 これを使用して他の属性を設定することはできません。
たとえば:
import oracle.apps.scm.doo.common.extensions.CreateLineParams;
if (!"SUBMIT_AFTR_VALID".equals(header.getAttribute("CustomerPONumber"))) return; /* This line is only for testing purposes. Remove it after you successfully test this extension.*/
def createLineParams = new CreateLineParams();
createLineParams.setProductNumber("AS9000");
/* Specify the item.
that you want to add on the new line.*/
createLineParams.setOrderedUOM("Each")
createLineParams.setOrderedQuantity(1); /* Specify the quantity for the item that you're adding on the new line. */
def lines = header.getAttribute("Lines");
while (lines.hasNext()) {
def line = lines.next();
def isClosed = line.isClosed()
def isCanceled = line.isCanceled()
def isTransformed = line.isTransformed()
def transformLines = line.getTransformedLines();
if (isClosed || isCanceled || isTransformed || transformLines.size() != 0) {
continue;
}
if (line.getAttribute("ProductNumber") == "AS54888" && line.getAttribute("OrderedQuantity") >= 5)
/* Specify the quantity that you want to use as the threshold that determines when to add a new line. */
{
line.createNewLine(createLineParams);
}
}
詳細は、オーダー管理機能拡張の作成の概要を参照してください。