لماذا تحتاج ABAP إلى SET UPDATE TASK LOCAL

وماذا تفعل إذا لم تنتظر جملة COMMIT WORK AND WAIT ، بعد استدعاء BAPI القياسي ، تنفيذ جميع وحدات التحديث V1.



مشكلة مزامنة المحدث



يستخدم نظام 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 وتريد الانتظار حتى تكتمل العملية.



All Articles