The following lines contain the word 'select', 'insert', 'update' or 'delete':
select mtl_material_transactions_s.nextval
into l_transaction_header_id
from dual;
-- -1 error out or else update the MMTT with this account period ID -
-- vipartha
IF l_transaction_date IS NULL OR l_transaction_date
<> l_mold_tbl(j).transaction_date THEN
-- Bug 3380018 while transacting mo via API transaction_date should be user defined.
IF p_transaction_date IS NOT NULL THEN
TraceLog('p_transaction_date: '||p_transaction_date, 'Pick_confirm');
select count(transaction_temp_id)
into l_lot_count
from mtl_transaction_lots_temp
where transaction_temp_id = l_mold_tbl(j).transaction_temp_id;
inv_mo_line_detail_util.update_row(l_return_status, l_mold_tbl(j));
TraceLog('after update transaction_status = 3', 'Pick_Confirm');
TraceLog('error in update mold', 'Pick_Confirm');
TraceLog('error in update mold', 'Pick_Confirm');
l_trolin_tbl(i).last_update_date := SYSDATE;
l_trolin_tbl(i).last_update_login := fnd_global.login_id;
if l_trolin_tbl(i).last_update_login = -1 THEN
l_trolin_tbl(i).last_update_login :=
fnd_global.conc_login_id;
l_trolin_tbl(i).last_updated_by := fnd_global.user_id;
l_trolin_tbl(i).program_update_date := SYSDATE;
TraceLog('calling update_row of trolin', 'Pick Confirm');
inv_trolin_util.update_row(l_trolin_tbl(i));
TraceLog('after calling update_row of trolin', 'Pick Confirm');
-- -1 error out or else update the MMTT with this account period ID -
-- vipartha
IF l_transaction_date IS NULL OR l_transaction_date
<> l_mold_tbl(j).transaction_date THEN
-- Bug 3380018 while transacting mo via API transaction_date should be user defined.
IF p_transaction_date IS NOT NULL THEN
TraceLog('p_transaction_date: '||p_transaction_date, 'Pick_confirm');
inv_mo_line_detail_util.update_row(l_return_status, l_mold_tbl(j));
TraceLog('after update transaction_status = 3', 'Pick_Confirm');
TraceLog('error in update mold', 'Pick_Confirm');
TraceLog('error in update mold', 'Pick_Confirm');
l_trolin_tbl(1).last_update_date := SYSDATE;
l_trolin_tbl(1).last_update_login := fnd_global.login_id;
if l_trolin_tbl(1).last_update_login = -1 THEN
l_trolin_tbl(1).last_update_login :=
fnd_global.conc_login_id;
l_trolin_tbl(1).last_updated_by := fnd_global.user_id;
l_trolin_tbl(1).program_update_date := SYSDATE;
inv_trolin_util.update_row(l_trolin_tbl(1));
UPDATE mtl_material_transactions_temp mmtt
SET mmtt.transaction_quantity = -1 * ABS(Round(mmtt.transaction_quantity,5)),
mmtt.primary_quantity = -1 * ABS(Round(mmtt.primary_quantity,5)),
mmtt.secondary_transaction_quantity = -1 * ABS(mmtt.secondary_transaction_quantity)
WHERE mmtt.transaction_header_id = l_transaction_header_id
AND mmtt.transaction_action_id in (1, 2, 3, 21, 28, 29, 32, 34);
TraceLog('after update sign', 'Pick_Confirm');
DELETE FROM mtl_transaction_lots_temp
WHERE group_header_id = l_transaction_header_id
AND transaction_temp_id NOT IN
( SELECT mmtt.transaction_temp_id
FROM mtl_material_transactions_temp mmtt
WHERE mmtt.transaction_header_id = l_transaction_header_id
AND mmtt.transaction_temp_id IS NOT NULL);
DELETE FROM mtl_serial_numbers_temp
WHERE group_header_id = l_transaction_header_id
AND transaction_temp_id NOT IN
( SELECT mmtt.transaction_temp_id
FROM mtl_material_transactions_temp mmtt
WHERE mmtt.transaction_header_id = l_transaction_header_id
AND mmtt.transaction_temp_id IS NOT NULL)
AND transaction_temp_id NOT IN
( SELECT mtlt.serial_transaction_temp_id
FROM mtl_transaction_lots_temp mtlt
WHERE mtlt.group_header_id = l_transaction_header_id
AND mtlt.serial_transaction_temp_id IS NOT NULL);
DELETE FROM mtl_serial_numbers
WHERE current_status = 6
AND group_mark_id = -1
AND inventory_item_id in (select inventory_item_id
FROM mtl_material_transactions_temp
WHERE transaction_header_id = l_transaction_header_id)
AND current_organization_id in (select organization_id
FROM mtl_material_transactions_temp
WHERE transaction_header_id = l_transaction_header_id);
DELETE /*+ INDEX(MSN MTL_SERIAL_NUMBERS_N2) */
FROM mtl_serial_numbers MSN
WHERE MSN.current_status = 6
AND MSN.group_mark_id = -1
AND (MSN.INVENTORY_ITEM_ID,MSN.CURRENT_ORGANIZATION_ID) IN
(SELECT INVENTORY_ITEM_ID,ORGANIZATION_ID
FROM MTL_MATERIAL_TRANSACTIONS_TEMP
WHERE TRANSACTION_HEADER_ID = l_transaction_header_id);