How Is The Destination Type Determined (文档 ID 1909811.1)

How Is The Destination Type Determined On The PO Distribution Line (DESTINATION_TYPE_CODE) (文档 ID 1909811.1)

转到底部转到底部

In this Document


Goal

Solution


Applies to:

Oracle Purchasing - Version 12.1.3 and later
Oracle Inventory Management - Version 12.1.3 and later
Information in this document applies to any platform.
POXPODIS.pld
POXCOI2B.pls

Goal

 To provide an explanation as to how the Destination (Inventory, Expense and Shop Floor) are determined on the PO Distribution Line.

Solution

There are three types of items that can be registered with Inventory:

1 - Expense Items
2 - Inventory Expense Items
3 - Inventory Asset Items

1 - Expense Items have the following attributes checked:

     a - Purchasable
     b - Purchased

2 - Inventory Expense Items have the following attributes checked:

     a - Inventory Item = YES
     b - Stockable
     c - Transactable
     d - Inventory Asset Value = NO
     e - Costing Enabled = NO

3 - Inventory Asset Items have the following attributes checked:

     a - Inventory item = YES
     b - Stockable.
     c - Transactable
     d - Inventory Asset Value = YES
     e - Costing Enabled = YES

 

The PO Form Library POXPODIS.pld includes code that determines the Destination on the distribution line and three conditions are tested:

 - Item Status
 - Accrue On Receipt
 - Consigned

The Item Status is returned by the procedure get_item_status with is in the package po_items_sv2 contained in the file POXCOI2B.pls

SELECT DECODE(msi.outside_operation_flag,'Y','O', DECODE(msi.stock_enabled_flag,'Y','E','D'))
FROM mtl_system_items msi
WHERE msi.organization_id = X_ship_org_id
AND msi.inventory_item_id = X_item_id;

Where:

   'O'  --> Outside processing item
   'E'  --> Item stockable in org
   'D'  --> Item defined but not stockable in org
   NULL --> Item not defined in org

The function validate contained in the procedure PO_DISTRIBUTIONS_C1 (POXPODIS.pld) then uses the returned Item Status along with Accrue On Receipt and Consigned flags to determine the Destination:

  /*
  ** If the user DID NOT enter a DESTINATION , or entered DESTINATION = 'INVENTORY':
  ** - If item is stock enabled and accrue_on_receipt is 'Y', then set the
  **   DESTINATION TYPE = 'INVENTORY'.
  ** - Otherwise, the DESTINATION TYPE = 'EXPENSE';
  */

IF (x_destination_type_code IS NULL) OR (x_destination_type_code = 'INVENTORY') THEN
 IF (
      ((x_item_status        = 'E') AND (x_accrue_on_receipt_flag = 'Y'))

   /* CONSIGNED FPI START */
   OR x_consigned_flag = 'Y'
     )
   /* CONSIGNED FPI END */

   THEN
   x_destination_type_code := 'INVENTORY';

 ELSE

   x_destination_type_code := 'EXPENSE';
   /*
   ** if the destination_type_code is reset to EXPENSE, then set the
   ** subinventory to NULL.
   */
   x_destination_subinventory := NULL;
 END IF;

 If the returned Item Status is 'O' then the Destination will be 'SHOP FLOOR'.

In Summary:

 - If the Item is Stockable in the receiving Inventory Org and Accrue On Receipt is set to Yes, then the Destination will be INVENTORY

 - If the item is registered in Inventory, but not Stockable in the receiving Inventory Org and is not an Outside Processed item, the Destination can be either INVENTORY or EXPENSE.

请使用浏览器的分享功能分享到微信等