البحث الذي سنطرحه اليوم له علاقة بالموضوع الذي تحدث عن ” تنبيهات العمل أو ما يسمى 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 @ruleid 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 @@rowcount > 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