Clear_Record不能刪除Block的最後一筆料號


Clear_Record可以刪除Block上指定的記錄,但是如果已經是最後一筆資料時,使用Clear_record會出現錯誤的訊息。
以下是以Clear_Block來解決刪除最後一記錄的方法:

--清除請款的資料
go_block('unmatch_lines_v');
first_record;    
loop     
     --因為會清除資料,所以都是以第一筆為判斷條件
     first_record;
     if :fhpo_headers.invoice_no = :fhpo_unmatch_rpt_lines_v.invoice_num then
          --clear_record不能清空最後一筆記錄,所以當遇到最後一筆資料時,以Clear_Block清除整個Block 
       if (:System.Last_Record='TRUE' AND :System.Cursor_Record = '1') then      
            go_block('fhpo_unmatch_rpt_lines_v');
            Clear_Block;
            go_block('fhpo_lines');
            Clear_Block;
            --設定各Block狀態為false
            init_block_property;
            fnd_message.debug('請款完成');
            RAISE Form_Trigger_Failure;
       else
         Clear_Record;
       end if;
     else
       exit;      
 end if;