EBS 迴圈處理塊記錄的程式碼

freshairpeng發表於2014-05-06

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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章