The following lines contain the word 'select', 'insert', 'update' or 'delete':
l_update_count NUMBER := 0;
l_update_list EntryCollection;
l_update_subset_collection EntryCollection;
l_update_date DATE;
SELECT SYSDATE
INTO l_update_date
FROM DUAL;
FOR entry_rec IN (SELECT LIST_ENTRY_ID
, RETURNS_ID
FROM IEC_G_RETURN_ENTRIES
WHERE LIST_HEADER_ID = P_LIST_ID
AND RECORD_OUT_FLAG = 'Y'
AND DO_NOT_USE_FLAG = 'N'
AND NVL(RECYCLE_FLAG, 'N') = 'N'
AND l_update_date > RECORD_RELEASE_TIME + l_lost_interval
ORDER BY LIST_ENTRY_ID)
LOOP
l_update_count := l_update_list.COUNT + 1;
l_update_list(l_update_count) := entry_rec.RETURNS_ID;
IF l_update_list.COUNT = 500
THEN
IF (l_action_id = -1)
THEN
SELECT IEC_G_RETURN_ENTRY_ACTION_S.NEXTVAL
INTO l_action_id
FROM DUAL;
FORALL j IN 1..L_UPDATE_LIST.COUNT
UPDATE IEC_G_RETURN_ENTRIES
SET RECORD_OUT_FLAG = 'N'
, LAST_UPDATE_DATE = SYSDATE
, LAST_UPDATED_BY = l_user_id
, CHECKIN_ACTION_TYPE = G_RECOVER_ACTION_TYPE
, CHECKIN_ACTION_TIME = SYSDATE
, CHECKIN_ACTION_ID = l_action_id
WHERE RETURNS_ID = l_update_list(j);
l_update_list.DELETE;
IF l_update_list.COUNT > 0
THEN
IF (l_action_id = -1)
THEN
SELECT IEC_G_RETURN_ENTRY_ACTION_S.NEXTVAL
INTO l_action_id
FROM DUAL;
FORALL j IN 1..L_UPDATE_LIST.COUNT
UPDATE IEC_G_RETURN_ENTRIES
SET RECORD_OUT_FLAG = 'N'
, CHECKIN_ACTION_TYPE = G_RECOVER_ACTION_TYPE
, CHECKIN_ACTION_TIME = SYSDATE
, CHECKIN_ACTION_ID = l_action_id
, LAST_UPDATE_DATE = SYSDATE
, LAST_UPDATED_BY = l_user_id
WHERE RETURNS_ID = l_update_list(j);
l_update_list.DELETE;
FOR schedule_rec IN (SELECT LIST_HEADER_ID
FROM IEC_G_EXECUTING_LISTS_V
WHERE SCHEDULE_ID = P_SCHED_ID)
LOOP
RECOVER_LIST_ENTRIES( P_SOURCE_ID
, schedule_rec.LIST_HEADER_ID
, P_LOST_INTERVAL
, l_action_id);