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

بتاريخ:

السلام عليكم اخوتي اخواتي ..
أود أن أسال .....
انا اعمل على Developer 10g >>> السؤال اريد كود خاص بحيث يفحص اذا كان وقت دخول المستخدمين على النظام صمن وقت معين .. مثال
اذا كان المستخدم Admin مسموح له بالدخول من الساعة 8 صباحا الى 4 مساء
اذا كان المستخدم manger سموح له الدخول من الساعه 8 الى 12
و اذا صادف ان المستخدم كان يعمل على الفورم و جاءت الساعه 12 .. يعمل Disable لكل شيء على الشاشه .....
السؤال الثاني ...
اذا كان المستخدم على شاشة معينو او فاتح فورم .. و خلال 5 دقائق لم يعمل شيء مثل تحريك الماوس أو ادخال معلومات يعني لم يحرك شيئ .. اريده أن يخرج تلقائيا من الفورم و يذهب لفورم الشاشة الرئيسية ..
عذرا على التفصيل .... اعذروني
ارجو المساعدة و ساكون من الشاكرين

بتاريخ:

السلام عليكم
لازم تكزن مخزن في جدول المستخديم الوقت المسموح به للعمل
وعند الدخول الى الفورم لازم تقرا الوقت المسموح به للعمل وتقارنها بالوقت الحالي
current-time=to_char(SYSDATE,'hh24:MI:ss
اذا كان وقت الدخول بين الوقت المسموح به للعمل يدخل والا يخرج
هاي مجرد افكار

بتاريخ:

الحكايه سهله

وضع جمله شرطيه تفحص اذا كان اسم المستخدم ( .......) و الوقت المسموح له بالدخول من ... الى ....

 
declare
current-time date;
begin
if user_name= 'admin' and current-time between current-time=to_char(SYSDATE,'hh24:MI:ss) and current-time=to_char(SYSDATE,'hh24:MI:ss) then
new_from('..........................................');
end if;
end;


ممكن تطوره و اكيد هاتكون افضل
مع تحياتى
ايهاب وجدى

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

بارك الله فيكم أخوتي ... و لكن ماذا عن السؤال الثاني ؟؟
جزيتم كل خير

بتاريخ:

ON PRE-FORM TRIGGER PUT THIS CODE:
DECLARE
USR   VARCHAR2(250);
BEGIN
 USR := GET_APPLICATION_PROPERTY(USERNAME);
     IF  USR = 'ADMIN' THEN
        IF TO_NUMBER(TO_CHAR(SYSDATE,'HH24')) NOT BETWEEN 08 AND 16 THEN
          MESSAGE('YOU CANNOT LOGON THIS TIME');
          EXIT_FORM(NO_VALIDATE);
    END IF;
ELSIF USER = 'MANAGER' THEN
   IF TO_NUMBER(TO_CHAR(SYSDATE,'HH24')) NOT BETWEEN 08 AND 12 THEN
       MESSAGE('YOU CANNOT LOGON THIS TIME');
       EXIT_FORM(NO_VALIDATE);
 END IF;
END IF;
END;


ON WHEN-NEW-FORM-INSTANCE PUT THIS CODE
DECLARE
   TIMER_ID   TIMER;
    PORTION   NUMBER(10) := 300000; --FIVE MINUTES
BEGIN
  TIMER_ID := CREATE_TIMER('CHECK_12',PORTION,REPEAT);
END;

ON WHEN-TIMER-EXPIRED TRIGGER (ON FORM LEVEL)PUT THIS CODE:
   IF TO_NUMBER(TO_CHAR(SYSDATE,'HH24')) >= 12 THEN
      DISABLE_BLOCKS;
  END IF;

THEN CREATE A PROGRAM UNIT(PROCEDURE) ON THE FORM AND PUT THIS IN IT:
PROCEDURE DISABLE_BLOCKS IS
 F_BLOCK VARCHAR2(200):=  GET_FORM_PROPERTY(CURRENT_FORM,FIRST_BLOCK);
 L_BLOCK VARCHAR2(200) := GET_FORM_PROPERTY(CURRENT_FORM,LAST_BLOCK);

BEGIN
GO_BLOCK(F_BLOCK);
LOOP
SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK,INSERT_ALLOWED,PROPERTY_FALSE);
SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK,UPDATE_ALLOWED,PROPERTY_FALSE);
SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK,DELETE_ALLOWED,PROPERTY_FALSE);
SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK,QUERY_ALLOWED,PROPERTY_FALSE);
NEXT_BLOCK;
EXIT WHEN :SYSTEM.CURSOR_BLOCK = L_BLOCK;
END LOOP;  
END;

تم تعديل بواسطة ammar_kh1982

بتاريخ:

THIS IS THE FILE ATTATCHED

user_logon.txt

تم تعديل بواسطة ammar_kh1982

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

اخي ..
الكود شغال لكنه في مشكله .. بعطيني رساله
invalid ID
المشكلة في
Go_Block
CANNOT BE NULL ::

بتاريخ:

PUT THIS CODE IN THE PROGRAM UNIT ..I CHANGED IT
PROCEDURE disable_blocks IS
MY_FORM FormModule    := FIND_FORM(:SYSTEM.CURRENT_FORM);
F_BLOCK VARCHAR2(200);
L_BLOCK VARCHAR2(200);

BEGIN

 IF NOT ID_NULL(MY_FORM) THEN
 
  F_BLOCK := GET_FORM_PROPERTY(MY_FORM,FIRST_BLOCK);
  L_BLOCK := GET_FORM_PROPERTY(MY_FORM,LAST_BLOCK);
  GO_BLOCK(F_BLOCK);
  LOOP
  SET_BLOCK_PROPERTY (:SYSTEM.CURSOR_BLOCK,INSERT_ALLOWED,PROPERTY_FALSE);
  SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK,UPDATE_ALLOWED,PROPERTY_FALSE);
  SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK,DELETE_ALLOWED,PROPERTY_FALSE);
  SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK,QUERY_ALLOWED,PROPERTY_FALSE);
  NEXT_BLOCK;
  EXIT WHEN :SYSTEM.CURSOR_BLOCK = L_BLOCK;
  END LOOP;  
END IF;
GO_BLOCK(F_BLOCK);
END;

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

اشتي اعمل في  LIST  الوقت كتالي  مثلا  12:20 ص او م   كيف اعملها

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

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

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

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

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

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.