The following lines contain the word 'select', 'insert', 'update' or 'delete':
l_update_flag VARCHAR2(1);
FOR l_xdock_pegging_rec IN (SELECT reservation_id
, crossdock_criteria_id
, supply_source_type_id
, supply_source_header_id
, supply_source_line_id
, supply_source_line_detail
, demand_source_type_id
, demand_source_header_id
, demand_source_line_id
, demand_source_line_detail
, supply_receipt_date
, exception_code
, demand_ship_date
FROM mtl_reservations
WHERE Nvl(crossdock_flag,'N') = 'Y'
AND Nvl(staged_flag, 'N') = 'N' --???
AND supply_source_type_id <> 13 --??? not inventory
AND (supply_receipt_date <= l_now + p_look_ahead_time
OR
exception_code IS NOT NULL)
AND organization_id = p_org_id) LOOP
l_update_flag := 'N';
--supply_receipt_date is updated }}
IF (l_expected_supply_time <> l_xdock_pegging_rec.supply_receipt_date) THEN
-- needs to update supply_date on reservation
-- ??? Need to update demand time also ???
l_new_reservation.supply_receipt_date := l_expected_supply_time;
l_update_flag := 'Y';
-- needs to update demand on reservation
l_new_reservation.demand_ship_date := l_expected_demand_time;
l_update_flag := 'Y';
print_debug('l_update_flag: '||l_update_flag);
l_update_flag := 'Y';
IF (l_update_flag = 'Y') THEN
BEGIN
UPDATE mtl_reservations
SET exception_code = l_exception_code
, supply_receipt_date = Decode(l_new_reservation.supply_receipt_date,
fnd_api.g_miss_date,
supply_receipt_date,
l_new_reservation.supply_receipt_date)
, demand_ship_date = Decode(l_new_reservation.demand_ship_date,
fnd_api.g_miss_date,
demand_ship_date,
l_new_reservation.demand_ship_date)
WHERE reservation_id = l_xdock_pegging_rec.reservation_id;