70: select 1
71: into count_assigned
72: from dual
73: where exists (select 1
74: from mtl_onhand_quantities_detail moqd, mtl_parameters mp
75: where moqd.organization_id = mp.organization_id
76: and mp.default_status_id is not null
77: and nvl(moqd.status_id, -9999) = p_status_id
78: and rownum = 1); -- Do we need to add rownum as the query is inside 'exists'.
537:
538: FUNCTION validate_mtstatus(
539: p_old_status_id mtl_material_statuses.status_id%TYPE,
540: p_new_status_id mtl_material_statuses.status_id%TYPE ,
541: p_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE,
542: p_locator_id mtl_onhand_quantities_detail.locator_id%TYPE,
543: p_organization_id mtl_secondary_inventories.organization_id%TYPE,
544: p_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE
545: )RETURN BOOLEAN AS
538: FUNCTION validate_mtstatus(
539: p_old_status_id mtl_material_statuses.status_id%TYPE,
540: p_new_status_id mtl_material_statuses.status_id%TYPE ,
541: p_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE,
542: p_locator_id mtl_onhand_quantities_detail.locator_id%TYPE,
543: p_organization_id mtl_secondary_inventories.organization_id%TYPE,
544: p_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE
545: )RETURN BOOLEAN AS
546:
540: p_new_status_id mtl_material_statuses.status_id%TYPE ,
541: p_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE,
542: p_locator_id mtl_onhand_quantities_detail.locator_id%TYPE,
543: p_organization_id mtl_secondary_inventories.organization_id%TYPE,
544: p_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE
545: )RETURN BOOLEAN AS
546:
547: p_lot_number mtl_onhand_quantities_detail.lot_number%TYPE := NULL;
548: l_return_status BOOLEAN;
543: p_organization_id mtl_secondary_inventories.organization_id%TYPE,
544: p_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE
545: )RETURN BOOLEAN AS
546:
547: p_lot_number mtl_onhand_quantities_detail.lot_number%TYPE := NULL;
548: l_return_status BOOLEAN;
549:
550: BEGIN
551:
579: --INVCONV kkillams
580: FUNCTION validate_mtstatus(
581: p_old_status_id mtl_material_statuses.status_id%TYPE,
582: p_new_status_id mtl_material_statuses.status_id%TYPE ,
583: p_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE,
584: p_locator_id mtl_onhand_quantities_detail.locator_id%TYPE,
585: p_organization_id mtl_secondary_inventories.organization_id%TYPE,
586: p_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
587: p_lot_number mtl_onhand_quantities_detail.lot_number%TYPE /* bug 6866429 */
580: FUNCTION validate_mtstatus(
581: p_old_status_id mtl_material_statuses.status_id%TYPE,
582: p_new_status_id mtl_material_statuses.status_id%TYPE ,
583: p_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE,
584: p_locator_id mtl_onhand_quantities_detail.locator_id%TYPE,
585: p_organization_id mtl_secondary_inventories.organization_id%TYPE,
586: p_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
587: p_lot_number mtl_onhand_quantities_detail.lot_number%TYPE /* bug 6866429 */
588: )RETURN BOOLEAN AS
582: p_new_status_id mtl_material_statuses.status_id%TYPE ,
583: p_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE,
584: p_locator_id mtl_onhand_quantities_detail.locator_id%TYPE,
585: p_organization_id mtl_secondary_inventories.organization_id%TYPE,
586: p_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
587: p_lot_number mtl_onhand_quantities_detail.lot_number%TYPE /* bug 6866429 */
588: )RETURN BOOLEAN AS
589: CURSOR cur_mt_status (cp_old_status_id mtl_material_statuses.status_code%TYPE,
590: cp_new_status_id mtl_material_statuses.status_code%TYPE) IS
583: p_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE,
584: p_locator_id mtl_onhand_quantities_detail.locator_id%TYPE,
585: p_organization_id mtl_secondary_inventories.organization_id%TYPE,
586: p_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
587: p_lot_number mtl_onhand_quantities_detail.lot_number%TYPE /* bug 6866429 */
588: )RETURN BOOLEAN AS
589: CURSOR cur_mt_status (cp_old_status_id mtl_material_statuses.status_code%TYPE,
590: cp_new_status_id mtl_material_statuses.status_code%TYPE) IS
591: SELECT 1 FROM mtl_material_statuses mts1,
597: AND mts2.reservable_type <> mts1.reservable_type;
598:
599: -- Bug 6829224: Modified the query such that for Orgs which track material status at onhand level
600: -- it checks for existing reservations for the given item.
601: CURSOR c_subinv_items(cp_organization_id mtl_onhand_quantities_detail.organization_id%TYPE,
602: cp_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
603: cp_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE) IS
604: SELECT 1 FROM mtl_onhand_quantities_detail moq
605: WHERE organization_id = cp_organization_id
598:
599: -- Bug 6829224: Modified the query such that for Orgs which track material status at onhand level
600: -- it checks for existing reservations for the given item.
601: CURSOR c_subinv_items(cp_organization_id mtl_onhand_quantities_detail.organization_id%TYPE,
602: cp_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
603: cp_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE) IS
604: SELECT 1 FROM mtl_onhand_quantities_detail moq
605: WHERE organization_id = cp_organization_id
606: AND subinventory_code = cp_subinventory_code
599: -- Bug 6829224: Modified the query such that for Orgs which track material status at onhand level
600: -- it checks for existing reservations for the given item.
601: CURSOR c_subinv_items(cp_organization_id mtl_onhand_quantities_detail.organization_id%TYPE,
602: cp_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
603: cp_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE) IS
604: SELECT 1 FROM mtl_onhand_quantities_detail moq
605: WHERE organization_id = cp_organization_id
606: AND subinventory_code = cp_subinventory_code
607: AND EXISTS
600: -- it checks for existing reservations for the given item.
601: CURSOR c_subinv_items(cp_organization_id mtl_onhand_quantities_detail.organization_id%TYPE,
602: cp_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
603: cp_subinventory_code mtl_onhand_quantities_detail.subinventory_code%TYPE) IS
604: SELECT 1 FROM mtl_onhand_quantities_detail moq
605: WHERE organization_id = cp_organization_id
606: AND subinventory_code = cp_subinventory_code
607: AND EXISTS
608: (SELECT 1
617: )
618: )
619: AND ROWNUM = 1;
620:
621: CURSOR c_locator_items(cp_organization_id mtl_onhand_quantities_detail.organization_id%TYPE,
622: cp_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
623: cp_locator_id mtl_onhand_quantities_detail.locator_id%TYPE) IS
624: SELECT 1 FROM mtl_onhand_quantities_detail moq
625: WHERE organization_id = cp_organization_id
618: )
619: AND ROWNUM = 1;
620:
621: CURSOR c_locator_items(cp_organization_id mtl_onhand_quantities_detail.organization_id%TYPE,
622: cp_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
623: cp_locator_id mtl_onhand_quantities_detail.locator_id%TYPE) IS
624: SELECT 1 FROM mtl_onhand_quantities_detail moq
625: WHERE organization_id = cp_organization_id
626: AND locator_id = cp_locator_id
619: AND ROWNUM = 1;
620:
621: CURSOR c_locator_items(cp_organization_id mtl_onhand_quantities_detail.organization_id%TYPE,
622: cp_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
623: cp_locator_id mtl_onhand_quantities_detail.locator_id%TYPE) IS
624: SELECT 1 FROM mtl_onhand_quantities_detail moq
625: WHERE organization_id = cp_organization_id
626: AND locator_id = cp_locator_id
627: AND EXISTS
620:
621: CURSOR c_locator_items(cp_organization_id mtl_onhand_quantities_detail.organization_id%TYPE,
622: cp_inventory_item_id mtl_onhand_quantities_detail.inventory_item_id%TYPE,
623: cp_locator_id mtl_onhand_quantities_detail.locator_id%TYPE) IS
624: SELECT 1 FROM mtl_onhand_quantities_detail moq
625: WHERE organization_id = cp_organization_id
626: AND locator_id = cp_locator_id
627: AND EXISTS
628: (SELECT 1
643: AND ROWNUM = 1;
644:
645: CURSOR c_lot_items( cp_organization_id mtl_reservations.organization_id%TYPE,
646: cp_inventory_item_id mtl_reservations. inventory_item_id %TYPE,
647: cp_lot_number mtl_onhand_quantities_detail.lot_number%TYPE) IS
648: SELECT 1 FROM mtl_onhand_quantities_detail moq
649: WHERE organization_id = cp_organization_id
650: AND (inventory_item_id = cp_inventory_item_id OR cp_inventory_item_id IS NULL)
651: AND lot_number = cp_lot_number
644:
645: CURSOR c_lot_items( cp_organization_id mtl_reservations.organization_id%TYPE,
646: cp_inventory_item_id mtl_reservations. inventory_item_id %TYPE,
647: cp_lot_number mtl_onhand_quantities_detail.lot_number%TYPE) IS
648: SELECT 1 FROM mtl_onhand_quantities_detail moq
649: WHERE organization_id = cp_organization_id
650: AND (inventory_item_id = cp_inventory_item_id OR cp_inventory_item_id IS NULL)
651: AND lot_number = cp_lot_number
652: AND EXISTS