ITPub博客

首页 > 数据库 > Oracle > EBS 循环处理块记录的代码

EBS 循环处理块记录的代码

原创 Oracle 作者:freshairpeng 时间:2014-05-06 16:51:12 0 删除 编辑

decalre
  i number;
begin
  i := 0;
go_block('asg_employee'); --导航到数据块
first_record;  --焦点放到第一条记录上
loop
  i := i + 1;
  if i <> 1 then  --判断是否第一条记录,不是就处理小一条记录
   next_record;
 end if;

  update eju_assess_ledger_assignments  --更新数据
            set  assign_flag = :asg_employee.select_flag
   where person_id = :asg_employee.person_id
            and hs_name = :eju_assess_ledgers.hs_name;

if sql%rowcount = 0 then --如果不存在,就插入一条记录
    insert into eju_assess_ledger_assignments
   (person_id,hs_name,assign_flag)
   values(:asg_employee.person_id,:eju_assess_ledgers.hs_name,:asg_employee.select_flag);
end if;

  exit when :system.last_record  = 'TRUE'; --最后一条记录就退出

end loop;

do_key('commit_form’); --提交form上的数据
go_block('eju_assess_ledgers');
hide_window('EJU_WINDOW');
end;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14766526/viewspace-1155263/,如需转载,请注明出处,否则将追究法律责任。

上一篇: EBS开发笔记-2
请登录后发表评论 登录
全部评论

注册时间:2009-02-25

  • 博文量
    69
  • 访问量
    246947