Masalah sinkronisasi Updater
Sistem SAP R / 3 menggunakan modul pembaruan untuk menyimpan data tambahan secara transaksional terkait dengan data master. Anda dapat membaca lebih lanjut tentang ini, misalnya, di sini .
Untuk konsistensi data, setelah menyimpan, Anda harus menunggu eksekusi modul tipe V1. Secara umum, ini dicapai dengan menjalankan perintah COMMIT WORK AND WAIT.
Beberapa modul fungsi BAPI standar memanggil COMMIT WORK dalam teks . Setelah melakukan FM semacam itu , Anda tidak akan dapat memastikan bahwa proses penyimpanan selesai dengan perintah sederhana apa pun. Untuk mengatasi masalah ini, beberapa programmer menulis beberapa query kompleks ke tabel VB atau menunggu n detik yang tidak masuk akal. Semuanya jauh lebih sederhana.
SET UPDATE TASK LOCAL datang untuk menyelamatkan
Singkatnya, ini meluncurkan mode eksekusi lokal untuk modul pembaruan V1. Mode ini diaktifkan untuk modul pembaruan V1 yang terdaftar dari saat operator dipanggil hingga akhir DB LUW saat ini. Selain itu, modul V1:
- disimpan dalam memori ABAP, bukan di tabel pembaruan VB;
- dijalankan dalam proses saat ini, tidak secara paralel;
- disinkronkan dengan pernyataan COMMIT WORK.
Artinya, ketika COMMIT WORK dipanggil, program akan menunggu hingga modul pembaruan V1 yang terdaftar secara lokal dijalankan. Perbedaannya ditunjukkan pada gambar:
Total SET UPDATE TASK LOCAL berguna jika Anda tidak dapat mengontrol pernyataan COMMIT WORK dan ingin menunggu semua modul V1 untuk menyelesaikan proses.