DYNAMIC LIST BASED ON TABLE
قائمة يتم تحميلها من جدول بحيث تعرض النص واثناء الاختيار يتم تخزين الكود بدلا من الاسم
في هذا المثال يتم عرض قائمة باسماء الموظفين وعند اختيار اسم الموظف يتم تخزين رقمه
1- قم بإنشاء Procedure جديد في الـ Program Units مثلا باسم : POPULATELIST
PROCEDURE POPULATELIST( LISTNAME VARCHAR2, GROUPNAME VARCHAR2)
IS
RG_ID RECORDGROUP;
ERRCODE NUMBER;
BEGIN
RG_ID := FIND_GROUP(GROUPNAME);
BEGIN
RG_ID := FIND_GROUP(GROUPNAME);
IF ID_NULL(RG_ID) THEN
MESSAGE('GROUP NAME IS NOT CORRECT');
END IF;
CLEAR_LIST(LISTNAME);
ERRCODE := POPULATE_GROUP(RG_ID);
POPULATE_LIST(LISTNAME,RG_ID);
EXCEPTION
EXCEPTION
WHEN OTHERS THEN
MESSAGE('CANNOT POPULATE LIST :'LISTNAME'WITH GROUP:'GROUPNAME);
END;
2- عمل ريكورد جروب تحتوي حقلين واحدد للعرض والاخر للقيمة ولكن بهذه الصيغة
SELECT ALL ename , to_char(empno) FROM emp ORDER BY 1
مع ملاحظة TO_CHAR
3- في كود التريجر PRE-FORM
POPULATELIST('EMP.EMP_CODE','RG1');
حيثRg1 تمثل إسم الريكورد جروب . EMP تمثل إسم البلوك . EMP_CODE تمثل إسم الحقل .
تعليقات
إرسال تعليق