مشكلة مزامنة المحدث
يستخدم نظام SAP R / 3 وحدات تحديث لتخزين البيانات الإضافية المرتبطة بالبيانات الرئيسية. يمكنك قراءة المزيد عن هذا ، على سبيل المثال ، هنا .
من أجل اتساق البيانات بعد الحفظ ، من الضروري انتظار تنفيذ الوحدات النمطية من النوع V1. بشكل عام ، يتم تحقيق ذلك عن طريق تنفيذ أمر COMMIT WORK AND WAIT.
بعض وحدات دالة BAPI القياسية تستدعي COMMIT WORK في النص . بعد إجراء مثل هذا FM ، لن تتمكن من التحقق من اكتمال عملية الحفظ بأي أوامر بسيطة. لحل هذه المشكلة ، يكتب بعض المبرمجين بعض الاستعلامات المعقدة إلى جدول VB أو ينتظرون n ثانية غير معقولة. كل شيء أبسط بكثير.
SET UPDATE TASK LOCAL تأتي لإنقاذ
باختصار ، يتم تشغيل وضع التنفيذ المحلي لوحدات التحديث V1. يتم تنشيط الوضع لوحدات تحديث V1 المسجلة من لحظة استدعاء المشغل حتى نهاية قاعدة البيانات الحالية لـ LUW. علاوة على ذلك ، وحدات V1:
- المحفوظة في ذاكرة ABAP ، وليس في جدول تحديث VB ؛
- يتم تنفيذها في العملية الحالية ، وليس بالتوازي ؛
- متزامن مع بيان COMMIT WORK.
أي ، عند استدعاء COMMIT WORK ، سينتظر البرنامج حتى يتم تنفيذ وحدات التحديث V1 المسجلة محليًا. يظهر الاختلاف في الشكل: يعد
Total SET UPDATE TASK LOCAL مفيدًا إذا لم تتمكن من التحكم في عبارة COMMIT WORK وتريد الانتظار حتى تكتمل العملية.