Use New Methods In Your Order Management Extensions

You can use new public methods in your order management extensions. You no longer have to explicitly code them.

Realize these benefits:

  • Get more flexibility when you code your extensions.
  • Improve productivity. You can reduce your implementation's complexity and cost.

Use these methods on the order header:

Method Description

activeHoldExistsOnProcessingLines

Returns one of:

  • True. Order Management submitted the sales order and has applied the hold that you specified in the extension on one or more lines in the order.
  • False: Order Management hasn't submitted the sales order or hasn't applied the hold on any line in the order.

checkPONumberForDuplicates

Returns one of:

  • True. The header from another sales order references the purchase order.
  • False: No header from another sales order reference the purchase order, or there is no purchase order on the sales order's header.
checkPONumberForDuplicatesAndGetOrderNumbers

Get a list of sales orders that reference the same purchase order from their order headers.

If this sales order's header doesn't specify a purchase order, then this method returns an empty list.

Examples

Assume you run credit check and submit the sales order. You now need to revise the order and skip credit check. You can use the activeHoldExistsOnProcessingLines method to see whether any of the order's lines are on credit check hold:

import oracle.apps.scm.doo.common.extensions.ValidationException;
if (header.isRevisionDraftOrder()) {
    boolean ccHoldExists = header.activeHoldExistsOnProcessingLines("DOO_CREDIT_CHECK");
    if (!ccHoldExists) {
        def row = context.getDbAdapter().getLookupRow("AR_FEATURES", "AR_CREDIT_MGMT");
        boolean isCreditMgmtFeatureEnabled = row != null && "Y".equals(row.getAttribute("EnabledFlag"));
        header.setAttribute("PreCreditCheckedFlag", isCreditMgmtFeatureEnabled ? "N" : "Y");
    } else {
        header.setAttribute("PreCreditCheckedFlag", "N");
    }
}

For another example, assume you need to set the purchase order number on the sales order but first need to make sure that some other sales order doesn't already reference it:

boolean flag = header.checkPONumberForDuplicates();

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Access Requirements

Users who are assigned a configured job role that contains this privilege can access this feature:

  • Manage Order Management Extensions (FOM_MANAGE_ORDER_MANAGEMENT_EXTENTIONS)

This privilege was available before this update.