عرض مشاركة واحدة
قديم 26-Jan-2012, 08:51 AM   #1
Monzer Osama
مدير عام منتديات جريت بلينز العربية
Lightbulb آلية عمل رسائل التنبيه أو Business Alerts ...

السلام عليكم
إلحاقا للموضوع الذي تفضل بطرحه الأخ عبد الحي بعنوان : " تنبيهات العمل أو ما يسمى Business Alerts " فقد تكلم عن المهام الوظيفية وبين أهمية استخدامها ومدى الفاعلية التي تقدمها...

استكمالا للموضوع احببت أن افرد موضوعا مستقلا كوني سأتعمق في الجانب التقني أكثر من الجاني الوظيفي,
فأقول ....:
كيف تستفيد Business Alerts من ميزات الاستعلام المبنية في SQL Server لمراقبة البيانات وتغيراتها ؟
كيف تحديد بيئة العمل ضمن ظروف وشروط معينة؟
وكذلك الاستفادة من تقنيات نظام التراسل المتوفرة في النظام؟

سأجيب عن هذه التساؤلات التي ستفيد التقنين وتفتح لهم آفاق للتعامل مع مميزات الاستعلام وإرسال النتائج الى المستخدمين...

حين القيام بعمل Business Alerts جديدة يتم تخزين هذه البيانات في قاعدة البيانات الرئيسية Dynamics في جدول الـ Business Alerts Rules Master والذي يمكلك في الداتا بيز اسم SY40500 , يخزن الكثير من البيانات من بينها اسم الداتا بيز التي سيتم تتبعها وتاريخ بدأ التتبع وتاريخ انتهائه واسم المستخدم الذي أنشأ أو غير ذلك التنبيه وغير ذلك...

بعد الانتهاء من حفظ الـ Business Alerts يقوم جريت بلينز بإنشاء أوامر مخزنة Stored Procedure في قاعدة البيانات الخاصة بالشركة التي سيتم مراقبة بياناتها
وبعد ذلك سيتم إنشاء مهمة Job في الـSQL Server لكي تقوم بتشغيل الـ Stored Procedure وفقا للجدولة التي قام المستخدم بإنشائها (مثل: أن تعمل بشكل يومي \ اسبوعي \ تاريخ انتهائها ... الخ) انظر الصورة


لنوضح أكثر بمثال:

لنفرض أننا قمنا بعمل Business Alerts على قاعدة بيانات اسمها HCITY وظيفتها هي فحص الحد الإئتماني للعملاء فإنه سينشئ Stored Procedure في هذه القاعدة ويعطيها اسم متسلسل يبدأ بـ sm_Rule


وفي مثالنا هذا كان الاسم smRuleID27 ويحتوي على جملة الاستعلام التي تفحص الحد الائتماني للعملاء Credit Limt ومحتوى الملف هو :

كود:
create procedure smRuleID27 @aaaaruleid int as
 /* this procedure is for Business Alert CREDIT LIMIT */
select RM00101_T1.CUSTNMBR into ##smRuleID27 from RM00101 RM00101_T1 
WITH (NOLOCK) , RM00103 RM00103_T2 WITH (NOLOCK)  WHERE 
RM00101_T1.CUSTNMBR = RM00103_T2.CUSTNMBR AND RM00101_T1.CRLMTTYP = 2 
AND (RM00101_T1.CRLMTAMT < RM00103_T2.CUSTBLNC) 
if @aaaa@aaaarowcount > 0 exec smRuleCreateTask 27,HCITY
GO
وسينشئ بعد ذلك Job لكي(انظر الصورة الاولى) يشغل هذا الستورد بروسيجر بحسب الجدولة التي حددناها أثناء إنشاء الـ Business Alert من داخل جريت بلينز.



للأهمية:
1- لكي تعمل الـ Busniss Alert لا بد أن يكون الـ SQL Agent يعمل بشكل دائم ....
2- إن كنت حددت أن يتم التنبيه على البريد (سواء POP أو Exchange ) يجب أن تكون اعدادت البريد مجهزة من خلال الـSQL Server (اضغط لمعرفة طريقة إعداد البريد)
3- أسماء الجداول التي تتعامل معها الـ Business Alert مودجوة في قاعدة البيانات الرئيسية DYNAMICS وهي :

SY40500 , SY40506 , SY40504 , SY40505 , SY40501 SY40503 , SY40502, SY40506
الصور المصغرة للصور المرفقة
اضغط على الصورة لعرض أكبر الاســـم:	Capture.JPG‏ المشاهدات:	1545 الحجـــم:	93.1 كيلوبايت الرقم:	388   اضغط على الصورة لعرض أكبر الاســـم:	Capture2.JPG‏ المشاهدات:	1585 الحجـــم:	123.6 كيلوبايت الرقم:	389  
__________________
Monzer Osama
Saudia Arabia - Jeddah
00966501826235
Microsoft Certified Business Management Solutions Professional
Microsoft Certified Trainer

آخر تعديل بواسطة Monzer Osama ، 26-Jan-2008 الساعة 09:40 AM. سبب آخر: تنسيق
Monzer Osama غير متواجد حالياً   رد مع اقتباس