The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT Sum(sourcing_percentage), Count(mpss.supplier_id)
INTO l_total_perc, l_sup_flag
FROM mtl_pull_seq_suppliers mpss
WHERE pull_sequence_id = p_pull_seq_id;
SELECT mks.supplier_id,
mks.supplier_site_id,
mks.organization_id,
mks.number_of_cards actual_supplier_cards,
Count(mkc.kanban_card_id) existing_supplier_cards,
mks.number_of_cards - Nvl(Count(mkc.kanban_card_id),0) deficiency
FROM mtl_pull_seq_suppliers mks,
mtl_kanban_cards mkc
WHERE mks.pull_sequence_id = p_pull_seq_id
AND mks.pull_sequence_id = mkc.pull_sequence_id(+)
AND mks.supplier_id = mkc.supplier_id(+)
AND Nvl(mks.supplier_site_id, -1 ) = Nvl(mkc.supplier_site_id(+) ,-1)
AND mkc.card_status(+) in ( INV_Kanban_PVT.G_Card_Status_Active,INV_Kanban_PVT.G_Card_Status_Hold)
GROUP BY mks.supplier_id, mks.supplier_site_id , mks.organization_id, mks.number_of_cards , mks.creation_date
ORDER BY mks.creation_date;
SELECT mks.supplier_id,
mks.supplier_site_id,
mks.organization_id,
mks.future_no_of_cards actual_supplier_cards,
Count(mkc.kanban_card_id) existing_supplier_cards,
mks.future_no_of_cards - Nvl(Count(mkc.kanban_card_id),0) deficiency
FROM mtl_pull_seq_suppliers mks ,
mtl_kanban_cards mkc
WHERE mks.pull_sequence_id = p_pull_seq_id
AND mks.pull_sequence_id = mkc.pull_sequence_id(+)
AND mks.supplier_id = mkc.supplier_id(+)
and NVL(MKS.SUPPLIER_SITE_ID, -1 ) = NVL(MKC.SUPPLIER_SITE_ID(+) ,-1)
AND mkc.card_status in ( INV_Kanban_PVT.G_Card_Status_Active,INV_Kanban_PVT.G_Card_Status_Hold,INV_Kanban_PVT.G_Card_Status_Planned)
GROUP BY mks.supplier_id, mks.supplier_site_id , mks.organization_id, mks.future_no_of_cards , mks.creation_date
ORDER BY mks.creation_date;
SELECT supplier_id, supplier_site_id
INTO x_supplier_id, x_supplier_site_id
FROM mtl_pull_seq_suppliers
WHERE pull_sequence_id = p_pull_seq_id;
* 2. If there are many suppliers with equal deficient cards - then select the supplier with maximum number of required cards
* 3. If there is a tie - then select the first supplier from the pull sequence
*/
IF p_cardstatus=INV_Kanban_PVT.G_Card_Status_Planned THEN
OPEN multiple_suppliers_plancur;
mul_sup_rec.DELETE(i);
mul_sup_rec.DELETE(i);
CURSOR supplier_cur IS SELECT mks.*
FROM mtl_pull_seq_suppliers mks
WHERE mks.pull_sequence_id = p_pull_seq_id
FOR UPDATE;
/* Update all the suppliers except last with cards = round(Total Number of cards*Sourcing %)
* For the last supplier update with the difference between Total Number of cards and cards for other suppliers
*/
log('Calculating percentages', 'flm_multiple_suppliers.multiple_supplier_kanban_cards' , l_returnStatus);
SELECT number_of_cards,future_no_of_cards
INTO l_total_cards,l_tot_fut_cards
FROM mtl_kanban_pull_sequences
WHERE pull_sequence_id = p_pull_seq_id;
UPDATE mtl_pull_seq_suppliers
SET number_of_cards = l_total_cards,
future_no_of_cards=l_tot_fut_cards
WHERE pull_sequence_id = p_pull_seq_id;
UPDATE mtl_pull_seq_suppliers
SET number_of_cards = l_supplier_cards,
future_no_of_cards=l_future_cards
WHERE CURRENT OF supplier_cur;
UPDATE mtl_pull_seq_suppliers
SET number_of_cards = l_supplier_cards,
future_no_of_cards=l_future_cards
WHERE pull_sequence_id = supplier_rec_last.pull_sequence_id
AND supplier_id = supplier_rec_last.supplier_id
AND Nvl(supplier_site_id,-1) = Nvl(supplier_rec_last.supplier_site_id,-1);