الانتقال إلى المحتوى
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.

Not To Repeat Code For Select From Lookups

Featured Replies

بتاريخ:

السلام عليكم
انا كنت اتعلمت الموضوع ده من شركة سابقة وحابب اقلكم عليه وهو انك ما تكررش الكود المستخدم لفك الاسماء او اى كود ثابت هتستخدمه كتير عندك فى البرنامج عن طريق عمل هذه الفنكشن

FUNCTION lookup (
  code_type   IN VARCHAR2,
  v_par       IN VARCHAR2 DEFAULT NULL,
  v_par1      IN VARCHAR2 DEFAULT NULL
)
  RETURN VARCHAR2
IS
  wdesc VARCHAR2 (200) := ' ';
BEGIN ---------------------------------------
----- ACC CODES
---------------------------------------
  CASE code_type
     WHEN 'CURRENCY'
     THEN
        SELECT (CASE :GLOBAL.lang
                   WHEN 'A'
                      THEN currency_desc ELSE currency_desc_e
                END
               )
          INTO wdesc FROM ac_currency
         WHERE currency_code = v_par;
-------------------
  WHEN 'ACCOUNT'
     THEN
        SELECT (CASE :GLOBAL.lang
                   WHEN 'A'
                      THEN account_name
                   ELSE account_name_e
                END)
          INTO wdesc FROM ac_master
         WHERE account_number = v_par;
 ELSE
        NULL;
  END CASE;

------------------------------
  RETURN wdesc;
EXCEPTION
---------------------------------------
  WHEN NO_DATA_FOUND
  THEN
     CASE
        WHEN :SYSTEM.record_status IN ('INSERT', 'CHANGED', 'NEW')
        THEN
---------------------------------------
           CASE code_type
              WHEN 'CURRENCY'
              THEN
                 display_message ('15', 1, 1);
--------------------------------------
           WHEN 'ACCOUNT'
              THEN
                 display_message ('15', 2, 1);  ELSE
                 msg ('NO_DATA_FOUND..LOOKUP',
                      'NO_DATA_FOUND..LOOKUP',
                      1
                     );
           END CASE;
        ELSE
           RETURN NULL;
     END CASE;
  WHEN TOO_MANY_ROWS
  THEN
     msg ('TOO_MANY_ROWS..LOOKUP', 'TOO_MANY_ROWS..LOOKUP', 1);
------------------
  WHEN OTHERS
  THEN
------------------
     msg (   ERROR_TYPE
          || '_'
          || TO_CHAR (ERROR_CODE)
          || ': '
          || ERROR_TEXT
          || 'OTHERS..LOOKUP',
             ERROR_TYPE
          || '_'
          || TO_CHAR (ERROR_CODE)
          || ': '
          || ERROR_TEXT
          || 'OTHERS..LOOKUP',
          1
         );
------------------
END lookup;





ديه الاجراء المستخدم لاظهار الرسالة


PROCEDURE MSG (MESSAGE_DESC_A VARCHAR2, -- MESSAGE IN ARABIC 
              MESSAGE_DESC_E VARCHAR2, -- MESSAGE IN ENGLISH
              FINISH         NUMBER  DEFAULT 0  -- IF 1 THEN RAISE FORM_TRIGGER_FAILURE
)IS
 alert_dummy    number;
vLang		VARCHAR2(10);
BEGIN vLang	:= :Global.Lang;
	IF vLang = 'A' THEN 
  	set_alert_property('MSG_ALERT',TITLE,'تحذير');
  	set_alert_property('MSG_ALERT',alert_message_text, MESSAGE_DESC_A);
  	SET_ALERT_button_PROPERTY('MSG_ALERT',alert_button1,label,'موافق;');
	ELSE 
  	set_alert_property('MSG_ALERT',TITLE, 'Alert');
  	set_alert_property('MSG_ALERT',alert_message_text, MESSAGE_DESC_E);
  	SET_ALERT_button_PROPERTY('MSG_ALERT',alert_button1,label,'OK');
	END IF; 
	alert_dummy := show_alert('MSG_ALERT');
	IF FINISH = 1 THEN 
   RAISE FORM_TRIGGER_FAILURE;
	END IF; 
END;




وبعد كده تستخد هذه الفنكشن فى التريجرز
when-validate-item
post-query
وتكتب فيهم هذا الكود

if currency_code is not null then
:curr_name:=lookup('CURRENCY',:currency_code);
else
:curr_name:=null;
end if;



ارجو انها تفيدكم وتوفر عليكم وقت فى تكرار الاستعلام

تم تعديل بواسطة msayed.evara

بتاريخ:

thanks alot i hope u can pass more trick of code like this it will help alot
sorry something wrong in arabic language so i cant type into arabic
salam 3alikom

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

السلام عليكم
شكرا لك اخى

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

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

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

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

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

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.