FORM遍历数据块
BEGIN
go_block('BLOCKNAME');
first_record;
IF :system.block_status <> 'NEW ' THEN
LOOP
IF :system.last_record = 'TRUE' THEN
EXIT;
ELSE
next_record;
END IF;
END LOOP;
END IF;
END;
例子
BEGIN
--检查是否选择需要处理的记录
i := 0;
go_block('UNPAY');
first_record;
IF :system.block_status <> 'NEW ' THEN
LOOP
IF :unpay.check_box = 'Y' THEN
i := i + 1;
END IF;
IF :system.last_record = 'TRUE' THEN
EXIT;
ELSE
next_record;
END IF;
END LOOP;
END IF;
--有勾选记录则进行处理
IF i > 0 THEN
go_block('UNPAYPRO');
ELSE
fnd_message.set_string('请选择需要进行处理的记录!');
fnd_message.error;
RAISE form_trigger_failure;
END IF;
END;