首页  ·  知识 ·  生产制造
FORM界面上遍历记录方法的嵌套
网友  收集    编辑:德仔   图片来源:网络
这里是个例子,放在保存按钮触发器上,是用于判断界面上有无重复记录的。 declare V_SERIAL_NUM&a

这里是个例子,放在保存按钮触发器上,是用于判断界面上有无重复记录的。
declare
V_SERIAL_NUM     number; --用于判断重复的物资编码 added by cfj 20080128
V_SEQ_NUM_ND     number; --用于判断重复的物资编码 added by cfj 20080128
v_cursor_record number; --用于判断重复的物资编码 added by cfj 20080128
begin
--added by cfj 用来判断是否有重复的物资编码记录

first_record;
while :SYSTEM.LAST_RECORD = 'FALSE' loop
V_SERIAL_NUM := :CUX_IN_APPLY_QUERY_V.SERIAL_NUM;
V_SEQ_NUM_ND := :CUX_IN_APPLY_QUERY_V.SEQ_NUM_ND;
v_cursor_record := :SYSTEM.CURSOR_RECORD;
   first_record;
   while :SYSTEM.LAST_RECORD = 'FALSE' loop
    if :SYSTEM.CURSOR_RECORD = v_cursor_record then
    null;
    else
    if :CUX_IN_APPLY_QUERY_V.SERIAL_NUM = V_SERIAL_NUM and :CUX_IN_APPLY_QUERY_V.SEQ_NUM_ND = V_SEQ_NUM_ND then
       fnd_message.debug('物资编码不能重复创建,出现重复的物资编码为:'||V_SERIAL_NUM||V_SEQ_NUM_ND);
       raise form_trigger_failure;
    else
       null;
    end if;
    end if;
    next_record;
   end loop;
   if :SYSTEM.CURSOR_RECORD = v_cursor_record then
    null;
    else
    if :CUX_IN_APPLY_QUERY_V.SERIAL_NUM = V_SERIAL_NUM and :CUX_IN_APPLY_QUERY_V.SEQ_NUM_ND = V_SEQ_NUM_ND then
       fnd_message.debug('物资编码不能重复创建,出现重复的物资编码为:'||V_SERIAL_NUM||V_SEQ_NUM_ND);
       raise form_trigger_failure;
    else
       null;
    end if;
    end if;
   go_record(v_cursor_record);
   next_record;

end loop;

V_SERIAL_NUM := :CUX_IN_APPLY_QUERY_V.SERIAL_NUM;
V_SEQ_NUM_ND := :CUX_IN_APPLY_QUERY_V.SEQ_NUM_ND;
v_cursor_record := :SYSTEM.CURSOR_RECORD;
   first_record;
   while :SYSTEM.LAST_RECORD = 'FALSE' loop
    if :SYSTEM.CURSOR_RECORD = v_cursor_record then
    null;
    else
    if :CUX_IN_APPLY_QUERY_V.SERIAL_NUM = V_SERIAL_NUM and :CUX_IN_APPLY_QUERY_V.SEQ_NUM_ND = V_SEQ_NUM_ND then
       fnd_message.debug('物资编码不能重复创建,出现重复的物资编码为:'||V_SERIAL_NUM||V_SEQ_NUM_ND);
       raise form_trigger_failure;
    else
       null;
    end if;
    end if;
    next_record;
   end loop;
   if :SYSTEM.CURSOR_RECORD = v_cursor_record then
    null;
    else
    if :CUX_IN_APPLY_QUERY_V.SERIAL_NUM = V_SERIAL_NUM and :CUX_IN_APPLY_QUERY_V.SEQ_NUM_ND = V_SEQ_NUM_ND then
       fnd_message.debug('物资编码不能重复创建,出现重复的物资编码为:'||V_SERIAL_NUM||V_SEQ_NUM_ND);
       raise form_trigger_failure;
    else
       null;
    end if;
    end if;


APP_STANDARD.EVENT('KEY-COMMIT');
end;

本文作者:网友 来源:网络收集
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的