Форма с блоком данных из нескольких записей, который обновляет таблицу, вызывая PL / SQL для проверенных строк. Необходимо иметь возможность сохранять проверенное состояние и положение флажка после execute_query.
Код при нажатии кнопки WHEN для нажатия на все выбранные строки.
DECLARE
l_cur_record NUMBER;
v_error VARCHAR2 (1);
BEGIN
l_top_record := GET_BLOCK_PROPERTY ('LOAD_DETAILS_LOG', TOP_RECORD);
GO_BLOCK ('LOAD_DETAILS_LOG');
FIRST_RECORD;
LOOP
IF :LOAD_DETAILS_LOG.select_chk = 'Y'
THEN
l_cur_record := :SYSTEM.CURSOR_RECORD;
PK_LOAD_CHE.P_CHECK_FILES ( :LOAD_DETAILS_LOG.file_id,
:LOAD_DETAILS_LOG.original_filename,
:LOAD_DETAILS_LOG.fsy_code,
:LOAD_DETAILS_LOG.received_date,
v_error);
END IF;
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
NEXT_RECORD;
END LOOP;
IF v_error = 'Y'
THEN
msg_alert ('Errors found in selected files. Please check Error Log',
'I',
FALSE);
GO_BLOCK ('LOAD_DETAILS_ERRORS');
EXECUTE_QUERY;
ELSE
GO_BLOCK ('LOAD_DETAILS_LOG');
EXECUTE_QUERY (NO_VALIDATE);
END IF;
END;