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

FRM-40405 : NO CHANGES TO APPLY

Featured Replies

بتاريخ:

قمت بعمل برنامج مخازن واحد الفورم يسجل فيها المستخدم حركات الصرف واخرى يسجل فيها حركات الاضافة للاصناف الخاصه بهذا المخزن وقد قمت بعمل جدول مؤقت يتم تسجيل حركات الصرف والاضافة على هذا الجدول الى ان يقوم المستخدم بمراجعة بياناته والتاكد من صحتها ثم يضغط على زرار لترحيل حركات الصرف والاضافة الى جدول اخر مستديم بحيث انه بعد الترحيل يصبح غير قادر على التعديل في البيانات
مع العلم باني قمت بعمل جدول ERR_MSG سجلت فية كود معظم الرسائل التي تظهر من الاوراكل وترجمت نصها باللغه العربية ليسهل فهمها على المستخدم ومن ضمنها الرسائل التي تظهر بالفعل
وكتبت الكود التالي في
ON-ERROR Trigger
DECLARE
ERROR_MSG VARCHAR2(250);
ER VARCHAR2(10) :=ERROR_TYPE||'-'||TO_CHAR(ERROR_CODE);
CURSOR E_MESSAGE IS
SELECT E_MSG
FROM ERR_MSG
WHERE UPPER(E_CODE)=ER;
BEGIN
OPEN E_MESSAGE;
FETCH E_MESSAGE INTO ERROR_MSG;
IF E_MESSAGE%FOUND THEN
MESSAGE(ERROR_MSG);
ELSE
MESSAGE(ERROR_TYPE||'-'||TO_CHAR(ERROR_CODE)||' '||ERROR_TEXT);
END IF;
CLOSE E_MESSAGE;
END;

وكتبته ايضا في
ON-MESSAGE Trigger:

ولكن هناك اكثر من مشكلة :

1- عند الضغط على زرار الحفظ تظهر رسالة
FRM-40405 : NO CHANGES TO APPLY
وتظهر بعدد من المرات مماثل لعدد الريكورد التي يقوم المستخدم بادخالها اي لو قام المستخدم بتسجيل 20 حركة صرف في الفورم تظهر الرساله السابقة 20 مرة وهكذا و هذا شىء مزعج جدا للمستخدم واحيانا قليلة تظهر الرسالة التي اضفتها في الجدول ERR_MSG

2- عند الضغط على زرار الترحيل تظهر نفس الرسالة
FRM-40405 : NO CHANGES TO APPLY
وبعدد من المرات مماثل لعدد الريكورد التي يقوم المستخدم بادخالها

3- وعند الضغط على زرار الخروج تظهر رسالة
do you want to save changes
واذا ضغطت على NO لا يحفظ البيانات وتفقد مع العلم اني وضعت كلمة COMMIT بعد عبارة INSERT في زرار الترحيل واذا ضغطت على YES تظهر رسالة
FRM-40405 : NO CHANGES TO APPLY مرة اخرى

ووجدت في المساعد الخاص باوراكل الكود التالي :
Key-EXIT Trigger:

IF system.form_status = 'CHANGED' THEN
POST;
END IF;

ولكن مازالت نفس الرسائل تظهر
ماذا افعل للتخلص من هذة الرسائل المزعجة

بتاريخ:

اولا اختي الكريمة
بما انكي تقومي بعمل transaction يعني ارسال بيانات من جدول الى اخر عن طريق الفورم وهذه الرسالة تظهر بسبب عدم وجود حركات على الفورم لذلك
عليكي بتطبيق التالي
مكان جملة ال COMMIT
استخدمي الامر

FORMS_DDL('COMMIT');


في التريجر
ON-ERROR Trigger
عدلته حيث اضفت رقم الكود ليستثنيه

DECLARE
ERROR_MSG VARCHAR2(250);
ER VARCHAR2(10) :=ERROR_TYPE||'-'||TO_CHAR(ERROR_CODE);
CURSOR E_MESSAGE IS 
SELECT E_MSG 
FROM ERR_MSG 
WHERE (UPPER(E_CODE)=ER AND ER<>'FRM-40405' );
BEGIN
OPEN E_MESSAGE;
FETCH E_MESSAGE INTO ERROR_MSG;
IF E_MESSAGE%FOUND AND THEN
MESSAGE(ERROR_MSG);
ELSE
MESSAGE(ERROR_TYPE||'-'||TO_CHAR(ERROR_CODE)||' '||ERROR_TEXT);
END IF;
CLOSE E_MESSAGE;
END;



نصيحة عند التخزين
لاتقومي بتخزين الجدول عند كل عملية اضافة واجعلي عملية الترحيل واحدة لكي لا تقعي حيص بيص
لذلك بعد جملة ال INSERT اضيفي التالي

FORMS_DDL('COMMIT');

EXCEPTION
     WHEN OTHERS THEN
 
 DECLARE
     	server_err               NUMBER         := abs(DBMS_ERROR_CODE);
      server_msg               VARCHAR2(2000) := DBMS_ERROR_TEXT;
   
   BEGIN
                                    FORMS_DDL('ROLLBACK');	
mESSAGE('خطأ في عملية الترحيل'||to_char(server_err) ||'-'||server_msg);

   end;
       
 	END;

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

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

تم اجراء جميع الخطوات السابقة ولم تتغير هذا الرسالة على الفورم حتى الآن ، وقد عملت هذه الاوامر فى ON _message

بتاريخ:

 

:lol: :D :D :D :D

 

  • بعد 2 أسابيع...
بتاريخ:

اختي الكريمة....
بعد كتابة الامر commit
اكتبي
Clear Message ;
و ان شاء الله يزبط

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

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

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

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

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

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.