ようこそ (Jyokoso) MY BLOG

いらっしゃいませ (hajimemashite) สำหรับผู้เข้าใหม่นะค่ะ ^^V

18 มกราคม 2554

SEQ_ORDER_BY

:system.trigger_record :บอกว่าrecordที่อยู่ตอนนี้เป็นrecordที่เท่าไรจะreturnค่าเป็นnumber
:system.last_record :บอกว่าrecordที่อยู่นี้เป็นrecordสุดท้ายหรือเปล่าจะreturnค่าเป็นboolean
seq : คือค่า MAX +1
seq_order_by : เป็นค่า seq. ที่เป็นแบบ Auto Running

วิธีการทำ SEQ_ORDER_BY
KEY-ENTER-QUERY
NULL;
/****************************************************************************************************/
WHEN-CREATE-RECCORD
:ar_gl_interface.seq_order_by := TO_NUMBER(:system.trigger_record);
/****************************************************************************************************/
KEY-CLRREC
DECLARE
nTmp_seq_orderby number(5);
vTmp_BlockName VARCHAR2(100) := 'AR_GL_INTERFACE';
BEGIN
GO_BLOCK(vTmp_BlockName);
--IF UTIL.SHOW_ALERT_DELETE = 'Y' THEN
DELETE_RECORD;
nTmp_seq_orderby := :system.trigger_record;
LOOP
:ar_gl_interface.seq_order_by := :system.trigger_record;
EXIT WHEN :system.last_record = 'TRUE';
NEXT_RECORD;
END LOOP;
--END IF;
GO_RECORD(nTmp_seq_orderby);
END;
/****************************************************************************************************/
KEY-CREREC
DECLARE
nTmp_seq_orderby number(5);

BEGIN
IF :qa_user_confirm.user_id is not null THEN
nTmp_seq_orderby := :system.trigger_record;
LOOP
EXIT WHEN :system.last_record = 'TRUE';
NEXT_RECORD;
:qa_user_confirm.seq := TO_NUMBER(:system.trigger_record)+1;
END LOOP;
GO_RECORD(nTmp_seq_orderby);
CREATE_RECORD;
ELSE
message('FRM-40102: Record must be entered or delete first.');synchronize ;
END IF;
END;

/****************************************************************************************************/
KEY- DELREC
DECLARE
nTmp_seq_orderby number(5);
vTmp_BlockName VARCHAR2(100) := 'QA_USER_CONFIRM';
BEGIN
GO_BLOCK(vTmp_BlockName);
IF UTIL.SHOW_ALERT_DELETE = 'Y' THEN
DELETE_RECORD;
nTmp_seq_orderby := :system.trigger_record;
FOR I IN 1..:qa_user_confirm.nb_cnt_rec LOOP
:ar_gl_interface.seq_order_by := :system.trigger_record;
EXIT WHEN :system.last_record = 'TRUE';
NEXT_RECORD;
END LOOP;
END IF;
GO_RECORD(nTmp_seq_orderby);
END;

ไม่มีความคิดเห็น:

แสดงความคิดเห็น