الانتقال إلى المحتوى

كيف تقوم بإدارة الرسائل والاشعارات والأخطاء بالنظام بدون تدخل برمجي


Faisal Matari

Recommended Posts

كيف تقوم بإدارة الرسائل والاشعارات والأخطاء بالنظام بدون تدخل برمجي

أولاً نقوم بإنشاء جدول كما في الشكل التالي :

CREATE TABLE NOTIFICATIONS
(
  NVG_CODE     NUMBER,
  NVG_TYPE     VARCHAR2(20 BYTE),
  NVG_DESC_EN  VARCHAR2(100 BYTE),
  NVG_DESC_AR  VARCHAR2(100 BYTE),
  NOTES        VARCHAR2(100 BYTE)
)

يحتوي على البيانات التالية :

NVG_CODE

NVG_TYPE

NVG_DESC_AR

NOTES

40400

MSG

تمت عملية الحفظ بنجاح ، شكراً لك

في حالة الحفظ

40200

ERR

لا تستطيع التعديل على البيانات الآن

عند محااولة التعديل وهو غير ممكن

41049

ERR

لا تستطيع الحذف لأن هذا الحقل محمي

عنند محاولة الحذ وهو غير ممكن

40401

ERR

لم تتم أي تغييرات

عند الحفظ ولم يتم أي تغيير

 

ثم ندخل على أي شاشة ونقوم بما يلي:

1.     نقوم باضافة ALERTS بهذا الأسم (SHWMSG) وأخر باسم (SHWERR).

2.     نعمل أثنين ترقير على مستوى الفورم وهما كما يلي .

1.    تريقر ON-ERROR

نكتب فيه الكود التالي

DECLARE
errnum number :=ERROR_CODE;
errtxt varchar2(100) :=ERROR_TEXT;
errtyp varchar2(3) :=ERROR_TYPE;
msg_fld varchar2(100);FAMO number; BEGIN BEGINmsg_fld := msg_fld || chr(10)|| errtxt ;SELECT NVG_DESC_AR INTO msg_fld FROM NOTIFICATIONS WHERE NVG_CODE = ERRNUM and NVG_TYPE = 'ERR';SET_ALERT_PROPERTY('SHWERR',ALERT_MESSAGE_TEXT,'You are not connected');EXCEPTION WHEN NO_DATA_FOUND THEN
msg_fld := ERRTXT||chr(10) ||errtyp||'-'|| TO_CHAR(ERROR_CODE);FAMO:=show_alert('SHWERR');when others THEN IF ERROR_CODE = 47109 THEN END IF;END;MSG_FLD := ERRTXT || chr(10) ||errtxt || errtyp; END; SET_ALERT_PROPERTY('SHWERR',ALERT_MESSAGE_TEXT,MSG_FLD );FAMO:=show_alert('SHWERR');

2.    تريقر  ON-MESSAGE نكتب فيه نفس الكود السابق مع بعض التغييرات البسيطة

 DECLARE
errnum number :=ERROR_CODE;
errtxt varchar2(100) :=ERROR_TEXT;
errtyp varchar2(3) :=ERROR_TYPE;
msg_fld varchar2(100);FAMO number; BEGIN BEGINmsg_fld := msg_fld || chr(10)|| errtxt ;SELECT NVG_DESC_AR INTO msg_fld FROM NOTIFICATIONS WHERE NVG_CODE = ERRNUM and NVG_TYPE = 'ERR';SET_ALERT_PROPERTY('SHWERR',ALERT_MESSAGE_TEXT,'You are not connected');EXCEPTION WHEN NO_DATA_FOUND THEN
msg_fld := ERRTXT||chr(10) ||errtyp||'-'|| TO_CHAR(ERROR_CODE);FAMO:=show_alert('SHWERR');when others THEN IF ERROR_CODE = 47109 THEN END IF;END;MSG_FLD := ERRTXT || chr(10) ||errtxt || errtyp; END; SET_ALERT_PROPERTY('SHWERR',ALERT_MESSAGE_TEXT,MSG_FLD );FAMO:=show_alert('SHWERR');

في الأخير قم بتشغيل الفورم وسوف تنبهر بالنتيجة,,,

بإمكانك في أي وقت وبدن تدخل برمجي تغيير رسائل النظام اثناء القيام بأي عمل ....

 

 

انا على استعداد تام لاي ملاحظات او شرح للكود السابق ... 

 

في المرفقات فورم يحتوي على بيانات عينة 

Forms.rar

تم تعديل بواسطة ميسم الكرام
رابط هذا التعليق
شارك

 

البيانات بقاعدة البيانات

 

NVG_CODE NVG_TYPE    NVG_DESC_AR    NOTES

40400            MSG             تمت عملية الحفظ بنجاح ، شكراً لك في حالة الحفظ

40200           ERR             لا تستطيع التعديل على البيانات الآن عند محااولة التعديل وهو غير ممكن

41049           ERR             لا تستطيع الحذف لأن هذا الحقل محمي عنند محاولة الحذ وهو غير ممكن

40401           ERR             لم تتم أي تغييرات عند الحفظ ولم يتم أي تغيير

 

رابط هذا التعليق
شارك

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

 

مشكور اخي العزيز 

 

ولكني صدقا لم اعرف بداية الموضوع هل هو سؤال ام هو شرح 

 

اخي الفاضل الموضوع مهم ولكن اسلوب الشرح غير مرتب

 

ارجو منك اعادة كتابة الشرح خطوة خطوة وبالترتيب مع شرح كل خطوة 

 

ارجو ان تقبل ملاحظتي بصدر رحب لكي يستفيد الجميع وانا اولهم 

 

اخوك موسى 

رابط هذا التعليق
شارك

جزاك الله خير الجزاء ومجهود متميز يستحق الشكر والثناء

رابط هذا التعليق
شارك

  • بعد 1 سنة...

شكرا أستاذي الفاضل نتعلم منكم الكثير جعله الله ذخرا لكم يوم لا ينفع مال و لا بنون إلا من أتى الله بقلب سليم

رابط هذا التعليق
شارك

شرح ممتاز جزاكم الله خير

وفى اضافة اتمنى تكون مفيدة

وومكن نفس كلام حضرتك يتعمل عن طريق Procedure ويتنادى عليه من التريقرز سالفة الذكر

رابط هذا التعليق
شارك

شكرا على الملاحدة اخي موسى ، سأعمل بها في مواضيع لاحقة ان شاء الله

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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