الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته

سوف اقوم اليوم بشرح كيفية عمل قوائم اكثر ديناميكية
مثال على القوائم الديناميكية :
الجنس ( ذكر او انثى ) - الحالة الاجتماعية ( اعزب،غير متزوج) ... الخ
سوف نقوم بعمل جدولين الاول يحتوي اسم القائمة والكود الخاص فيها
والجدول الثاني يحتوي العناصر التي تحتويها هذه القائمة

انشاء الجدول الاول

CREATE TABLE SETUP_LIST_MSTR
(
LIST_CODE  VARCHAR2(100) NOT NULL,
DESC_A	 VARCHAR2(100),
DESC_E	 VARCHAR2(100)
)



نقوم بوضع المحددات Constraints

ALTER TABLE SETUP_LIST_MSTR ADD (
CONSTRAINT SETUP_LIST_MSTR_PK
PRIMARY KEY
(LIST_CODE))



انشاء الجدول الثاني

CREATE TABLE  SETUP_LIST_DETL
(
LIST_CODE	 VARCHAR2(100 ),
DESC_ARABIC   VARCHAR2(100 ),
DESC_ENGLISH  VARCHAR2(100 ),
COLUMN_VALUE  VARCHAR2(20 ),
SEQ_NO		NUMBER
)


ملاحظة: SEQ_NO يعني ترتيب العنصر في القائمة
نقوم بوضع المحددات Constraints

ALTER TABLE SETUP_LIST_DETL ADD
CONSTRAINT SETUP_LIST_DETL_R01
FOREIGN KEY (LIST_CODE)
REFERENCES SETUP_LIST_MSTR (LIST_CODE));



اضافة بعض البيانات على الجدولين


Insert into SETUP_LIST_MSTR
  (LIST_CODE, DESC_A, DESC_E)
Values
  ('GENDER', 'الجنس', NULL);
Insert into SETUP_LIST_MSTR
  (LIST_CODE, DESC_A, DESC_E)
Values
  ('MARITAL_STATUS', 'الحالة الاجتماعية', NULL);
Insert into SETUP_LIST_DETL
  (LIST_CODE, DESC_ARABIC, DESC_ENGLISH, COLUMN_VALUE, SEQ_NO)
Values
  ('GENDER', 'ذكر', 'Male', '1', 1);
Insert into SETUP_LIST_DETL
  (LIST_CODE, DESC_ARABIC, DESC_ENGLISH, COLUMN_VALUE, SEQ_NO)
Values
  ('GENDER', 'انثى', 'Female', '2', 2);
Insert into SETUP_LIST_DETL
  (LIST_CODE, DESC_ARABIC, DESC_ENGLISH, COLUMN_VALUE, SEQ_NO)
Values
  ('MARITAL_STATUS', 'اعزب', 'Single', '1', 1);
Insert into SETUP_LIST_DETL
  (LIST_CODE, DESC_ARABIC, DESC_ENGLISH, COLUMN_VALUE, SEQ_NO)
Values
  ('MARITAL_STATUS', 'متزوج', 'Married', '2', 2);
Insert into SETUP_LIST_DETL
  (LIST_CODE, DESC_ARABIC, DESC_ENGLISH, COLUMN_VALUE, SEQ_NO)
Values
  ('MARITAL_STATUS', 'ارمل', 'Divorced', '3', 3);
Insert into SETUP_LIST_DETL
  (LIST_CODE, DESC_ARABIC, DESC_ENGLISH, COLUMN_VALUE, SEQ_NO)
Values
  ('MARITAL_STATUS', 'مطلق', 'Divorced', '4', 4);



نقوم بعمل البروسيجر التالي في pll library حتى يمكننا استدعائه من اي فورم


PROCEDURE CREATE_STATIC_LIST ( LIST_CODE VARCHAR2 ,FILD_NAME VARCHAR2, RECORD_GROUP VARCHAR2 DEFAULT 'rg') is
 RG	  RECORDGROUP ;
N	  NUMBER;
v_cha_lang  NUMBER (1) := 1;
BEGIN
if NAME_IN('GLOBAL.P_USER_LANGUAGE') =  1 then
 v_cha_lang := 1;
else
 v_cha_lang := 2;
end if;
---  Make sure group doesn't already exist
rg := Find_Group(record_group);

/* ** If it does not exist, create it and add the two ** necessary columns to it. */

if not id_null(rg) then
 delete_group(rg);
end if;
RG:= CREATE_GROUP_FROM_QUERY(record_group,'SELECT DECODE('||v_cha_lang||', 1,
										DESC_ARABIC,
										DESC_ENGLISH) COLUMN_DESC,
										COLUMN_VALUE
								   from  SETUP_LIST_DETL
								   where LIST_CODE ='''||LIST_CODE||''' order by SEQ_NO, COLUMN_DESC');
 N := POPULATE_GROUP(RG);

 POPULATE_LIST(FILD_NAME,RG);
END;


الان في فورم قم بكتابة الكود التالي في التريغر WHEN-NEW-FORM-INSTANCE

CREATE_STATIC_LIST ( LIST_CODE,FIELD_NAME ) ;


اتمنى ان اكون قد وفقت لشرح هذه الطريقة لتعبئة القوائم بطريقة ديناميكية
والسلام عليكم ورحمة الله وبركاته

بتاريخ:

السلام عليكم ورحمة الله وبركاته

جزاك الله كل خير

بتاريخ:

وعليكم السلام ورحمة الله

الاخ / ماهر

كما عودتنا دائماً تأتي بما هو مفيد وجديد لأعضاء المنتدى

شكرًا لك

جزاك الله خيرا

بتاريخ:
  • كاتب الموضوع

شكرا لكم جميعا مع تمنياتي بالاستفادة للجميع

بتاريخ:

كم انت ماهر يأخي اماهر دائماً خلاق للأفكار المبدعة والرائعة تستحق كل الشكر والتقدير على كل ابداعاتك
أخوك,,,

  • بعد 1 سنة...
بتاريخ:

ممكن شرح اكثر للموضوع دا

  • بعد 5 شهور...
بتاريخ:

موضوع جميل يا أخي .... جزاك الله خير ... وإن شاء الله في ميزان حسناتك :)

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.