declare
l_api_version NUMBER := 1.0;
l_init_msg_list VARCHAR2(100) := fnd_api.g_false; -- bug 7513308;
l_commit VARCHAR2(100) := fnd_api.g_false;
l_validation_level NUMBER := fnd_api.g_valid_level_full;
l_origin_txn_id NUMBER := NULL;
l_source NUMBER := 2;
l_return_status VARCHAR2(1);
l_msg_data VARCHAR2(3000);
l_msg_count NUMBER;
l_row_id ROWID;
l_inv_date DATE;
l_mtl_date DATE;
l_count NUMBER;
x_mtl_lot_numbers mtl_lot_numbers%ROWTYPE;
l_mtl_lot_numbers mtl_lot_numbers%ROWTYPE;
cursor c1 is
select msib.inventory_item_id,msib.organization_id,c.date1,mln.expiration_date,MSIB.SEGMENT1,C.LOT
from cux_2025021901 c,mtl_system_items_b msib,mtl_lot_numbers mln
where c.item_number = msib.segment1
and msib.organization_id = 82
and msib.inventory_item_id = mln.inventory_item_id
and msib.organization_id = mln.organization_id
and c.lot = mln.lot_number
and c.lot is not null
and trunc(c.date1) <> trunc(mln.expiration_date);
begin
FOR rec_mtl IN C1 LOOP
l_mtl_lot_numbers.inventory_item_id := rec_mtl.inventory_item_id;
l_mtl_lot_numbers.organization_id := rec_mtl.organization_id;
l_mtl_lot_numbers.lot_number := rec_mtl.LOT;
l_mtl_lot_numbers.expiration_date := rec_mtl.date1;
-- - DBMS_OUTPUT.PUT_LINE('批号:' || rec_mtl.lot_number);
--DBMS_OUTPUT.PUT_LINE('原到期日:' || to_char(rec_mtl.expiration_date, 'yyyy-mm-dd hh24:mi:ss'));
--DBMS_OUTPUT.PUT_LINE('新到期日:' || to_char(rec_inv.expiration_date, 'yyyy-mm-dd hh24:mi:ss'));
inv_lot_api_pub.update_inv_lot(x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_lot_rec => x_mtl_lot_numbers,
p_lot_rec => l_mtl_lot_numbers,
p_source => l_source,
p_api_version => l_api_version,
p_init_msg_list => l_init_msg_list,
p_commit => l_commit);
END LOOP;
end;