Kesalahan Masalah
- "[Microsoft] [ODBC SQL Server Driver] [SQL Server] Pelanggaran batasan PRIMARY KEY PKRM30301 Tidak Bisa Menyisipkan kunci duplikat dalam objek RM30301" terjadi saat menjalankan Penghapusan Transaksi Berbayar dalam Manajemen Piutang.
Catatan - Ketika Anda menekan OK pada kotak dialog ini, kotak dialog informasi akan muncul dengan mengatakan "Prosedur yang disimpan dalam Penghapusan Transaksi Berbayar mengembalikan hasil berikut ini: DBMS:2627, eEnterprise 0."
Kemungkinan Penyebab Terdapat dokumen duplikat di suatu tempat
di tabel Piutang. Biasanya merupakan nomor berurutan duplikat.
Resolusi
1. Jalankan hal berikut ini terhadap database Perusahaan untuk menemukan catatan yang menyebabkan kesalahan di RM30301: pilih
RMDTYPAL, DOCNUMBR, SEQNUMBR dari grup RM10101 dengan
RMDTYPAL, DOCNUMBR, SEQNUMBR
memiliki count(*) > 1
2. Dengan menggunakan informasi yang dikembalikan dari kueri sebelumnya, jalankan hal berikut untuk menampilkan data nomor Dokumen tertentu: pilih
SEQNUMBR sebagai NUMBR, * dari RM10101 di mana DOCNUMBR = 'masukkan Nomor Dokumen dari langkah
1' urutan oleh NUMBR
3. Perbarui bidang SEQNUMBR sehingga tidak ada duplikat. Gunakan kunci yang disediakan di bawah ini. Jika memiliki 2 catatan dengan SEQNUMBR 16384, Anda perlu mengubah salah satunya menjadi 32768, jika memiliki 2 catatan dengan 65536, Anda perlu memperbarui salah satunya ke 81920, dll. Setiap baris dari sebuah dokumen harus memiliki seqnumbr uniknya sendiri dalam kelipatan 16384.
perbarui RM10101 set SEQNUMBR = XXX di mana DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536 81920 98304 Jika skrip pertama tidak mengembalikan hasil, cobalah ini: pilih * dari
RM10101 w, RM30301 h where
w.RMDTYPAL = h.RMDTYPAL and
w.DOCNUMBR = h.DOCNUMBR and
w.SEQNUMBR = h.SEQNUMBR
select a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR dari RM20101 a, RM30301 b di mana
a.RMDTYPAL = b.RMDTYPAL dana.DOCNUMBR = b.DOCNUMBR Artikel ini adalah
TECHKnowledge Document ID:32359