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);
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
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 تمثل إسم الحقل .

تعليقات

المشاركات الشائعة من هذه المدونة

Data Block Based On Procedures