แพ็คเกจ Oracle® APP_MULTI ช่วยให้คุณสามารถเพิ่มฟังก์ชันการทำงานแบบเลือกได้หลายแบบลงในแบบฟอร์ม ตัวเลือกนี้มีอยู่ใน APPCORE Library
โดยใช้แพ็คเกจ APP_MULTI คุณสามารถเลือกระเบียนเดียวหรือหลายรายการและประมวลผลตามต้องการ รูปภาพต่อไปนี้แสดงการเลือกบันทึกแบบสุ่ม:
ที่มาของภาพ :https://i36.me/images/oracle/ebs/ebs_frm_lnchse_with_app_multi_01.jpg
ฟังก์ชันการทำงาน
แพ็คเกจ APP_MULTI ช่วยให้คุณสามารถดำเนินการดังต่อไปนี้:
-
คลิกที่ระเบียนเดียวเพื่อเลือก
-
กดปุ่ม Ctrl ค้างไว้แล้วคลิกบนหลายระเบียนเพื่อเลือกหลายระเบียนพร้อมกัน
-
เลือก เลือกทั้งหมด จากเมนูแอปพลิเคชันเพื่อเลือกบันทึกทั้งหมด
-
เลือก ยกเลิกการเลือกทั้งหมด จากเมนูแอปพลิเคชันเพื่อยกเลิกการเลือกรายการที่เลือกทั้งหมด
-
คลิกระเบียนแรก และกดแป้น shift ค้างไว้ในขณะที่คุณคลิกระเบียนสุดท้ายตามลำดับเพื่อเลือกระเบียนที่อยู่ติดกันหลายรายการ
เหตุการณ์แพ็กเกจ APP_MULTI
แพ็คเกจ APP_MULTI ตอบสนองต่อเหตุการณ์ต่อไปนี้ในแบบฟอร์ม:
-
คีย์-CLRFRM :(ระดับแบบฟอร์ม) ตรวจสอบระเบียนก่อนที่จะล้างแบบฟอร์ม ใช้ตัวอย่าง:
APP_MULTI.EVENT('KEY-CLRFRM');
-
คีย์-CLRREC :(ระดับบล็อก) เริ่มทำงานเมื่อคุณล้างบันทึกปัจจุบัน เทียบเท่ากับ
clear_record
คำสั่ง -
คีย์-CREREC :(ระดับบล็อก) เริ่มทำงานเมื่อคุณสร้างระเบียนใหม่ เทียบเท่ากับ
create_record
คำสั่ง -
คีย์-DELREC :(ระดับบล็อก) เริ่มทำงานเมื่อคุณลบระเบียนที่มีอยู่ เทียบเท่ากับ
delete_record
คำสั่ง -
Pre-BLOCK :(ระดับบล็อก) เริ่มทำงานเมื่อคุณเข้าสู่บล็อก
-
โพสต์บล็อก :(ระดับบล็อก) ยิงเมื่อคุณออกจากบล็อก
-
SELECT_ALL :(ระดับบล็อก) เริ่มทำงานเมื่อคุณเลือกระเบียนทั้งหมด
-
DESELECT_ALL :(ระดับบล็อก) เริ่มทำงานเมื่อคุณยกเลิกการเลือกระเบียนทั้งหมด
-
เมื่อ-ล้าง-บล็อก :(ระดับบล็อก) เริ่มทำงานเมื่อคุณเคลียร์บล็อก
-
เมื่อ-เมาส์-คลิก :(ระดับบล็อก) เริ่มทำงานเมื่อคุณคลิกเมาส์
-
เมื่อ-ใหม่-บันทึก-อินสแตนซ์ :(ระดับบล็อก) เริ่มทำงานเมื่อคุณสร้างหรือสืบค้นข้อมูลในบล็อก
สร้างทริกเกอร์ด้วยตนเอง
คุณต้องสร้างทริกเกอร์ที่จำเป็นและเรียก APP_MULTI.EVENT อย่างชัดเจน โดยส่งชื่อของเหตุการณ์ที่กำลังจัดการ ดังแสดงในตัวอย่างต่อไปนี้:
PROCEDURE event(p_event_name VARCHAR2,p_blockname
VARCHAR2 DEFAULT NULL);
ตัวอย่างเช่น KEY-CLRREC
ทริกเกอร์สามารถทำได้ง่ายเพียงคำสั่งต่อไปนี้:
APP_MULTI.EVENT('KEY-CLRREC');
หมายเหตุ: ขั้นตอนยอมรับอาร์กิวเมนต์ตัวเลือก p_blockname
. หากคุณไม่ส่ง p_blockname
, ขั้นตอนใช้ค่าของ SYSTEM.TRIGGER_BLOCK .
เหตุการณ์การเลือกและการยกเลิกการเลือก
เมื่อคุณใช้ MULTI_RETURN_ACTION ที่กำหนดเอง ทริกเกอร์ (ทั้งในบล็อคข้อมูลหรือที่ระดับบนสุดของแบบฟอร์ม) ระบบจะแจ้งให้คุณทราบถึงการเลือกและการยกเลิกการเลือกระเบียน ทริกเกอร์เริ่มทำงานหลังจากการเลือกหรือยกเลิกการเลือกแต่ละรายการหรือบันทึกเป็นกลุ่ม
ตัวแปรทริกเกอร์
คุณสามารถใช้ตัวแปรต่อไปนี้ในทริกเกอร์:
-
GLOBAL.APPCORE_MULTI_BLOCK global:มีชื่อบล็อคข้อมูลที่ได้รับผลกระทบจากการเลือกหรือยกเลิกการเลือกบันทึก
-
GLOBAL.APPCORE_MULTI_ACTION global:มีค่าใดๆ ดังต่อไปนี้:
- **'RECORD\_SELECTED'**: When a record is selected - **'RECORD\_DESELECTED'**: When a record is deselected - **'LABEL\_CHANGE'**: When the **Select All** or **Deselect All** menu items are enabled or disabled
-
APP_MULTI.LOOPING ตัวแปรแพ็คเกจ:มีค่า TRUE หรือ FALSE ขึ้นอยู่กับว่าคุณเรียก MULTI_RECORD_ACTION ภายในวง
ดึงข้อมูลที่เลือกในแบบฟอร์ม
สำหรับแต่ละบล็อคข้อมูล แพ็คเกจ APP_MULTI มีกลุ่มเรคคอร์ดที่มีหมายเลขของเร็กคอร์ดที่เลือกอยู่ในปัจจุบัน
คุณสามารถทำงานต่อไปนี้โดยระบุชื่อบล็อกข้อมูล:
-
ใช้ฟังก์ชัน **APP_MULTI.GET_GROUP_COL เพื่อเข้าถึง เท่านั้น ของกลุ่มระเบียน คอลัมน์สำหรับบล็อกข้อมูลเฉพาะ
-
ใช้ APP_MULTI.GET_GROUP_COUNT เพื่อรับจำนวนเรคคอร์ดที่เลือก
ตัวอย่างเช่น ให้บล็อก W_JOBS และฟิลด์WIP_ENTITY_ID คุณสามารถพิมพ์ ID ของงานที่เลือกได้โดยใช้รหัส PL/SQL ต่อไปนี้:
DECLARE
record_number_column groupcolumn;
selected_record_count NUMBER;
BEGIN
record_number_column := app_multi.get_group_col ('W_JOBS');
selected_record_count :=app_multi.get_group_count ('W_JOBS');
FOR i IN 1 .. selected_record_count
LOOP
DECLARE
record_number NUMBER;
v_wip_entity_id NUMBER;
BEGIN
record_number := GET_GROUP_NUMBER_CELL (record_number_column, i);
GO_RECORD (record_number);
v_wip_entity_id := NAME_IN ('W_JOBS.WIP_ENTITY_ID');
fnd_message.debug ( 'v_wip_entity_id' || v_wip_entity_id);
EXCEPTION
WHEN OTHERS THEN
Null;
END;
END LOOP;
END;
บทสรุป
ด้วยแพ็คเกจ APP_MULTI คุณสามารถประมวลผลข้อมูลจำนวนมากในฟอร์ม Oracle ที่กำหนดเองได้ แพ็คเกจนี้ช่วยให้คุณได้รับรายละเอียดของข้อมูลจำนวนมากที่ผู้ใช้เลือกในแบบฟอร์มมาตรฐาน คุณสามารถใช้ในรูปแบบส่วนบุคคลหรือ custom.pll โค้ดสำหรับเพิ่มฟังก์ชันที่กำหนดเองในรูปแบบ Oracle มาตรฐาน
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังแชทตอนนี้เพื่อเริ่มการสนทนาได้
เรียนรู้เพิ่มเติมเกี่ยวกับฐานข้อมูล