Nama ERP DocsNama ERP Docs
Home
Guides
Examples
GitHub
Home
Guides
Examples
GitHub
  • Home

    • Guides

      • بعض المعلومات عن استعمال هذا الموقع
      • Utility Links
      • System Minimum Requirements
      • Reports Guide (Jasper Reports)
      • Keyboard Shortcuts
      • Layout Names:
      • Field Values Calculator
      • Importing Data from Excel or Queries
      • Tempo Language Manual
      • Sending Invoices and Documents to Customers
      • SMS and WhatsApp Configuration in Nama ERP
      • Field Filter with Criteria
      • تعديل الترجمات في نظام نما
      • Criteria Based Validation
      • Attendance Machine Formula Guide
      • Email By Parameterized Reports In Task Scheduler
      • Nama Properties
      • Customer Reward Points (Loyalty Points)
      • دليل استعمال النقاط الفنية في نقاط البيع
      • ORACLE JDBC Integration Connection in context.xml for integration purposes
    • Examples

      • أمثلة لمسارات كيان
    • Reprocessing Transactions

      • Reprocessing Quantity, Cost, and Stock Ages
      • Accounting Utilities - Ledger and Debt Ages Reprocessing
      • Queries to Check for (and Fix) Cost And Qty Problems
      • Inventory Related Utility Queries
      • Manufacturing Utilities
      • Fixed Assets Module Utilities
      • Real Estate Utilities
      • Database Related Operations
      • General Purpose Utility Queries
      • Replication Utilities
    • Frequently Asked Questions

      • أسئلة عامة
      • أسئلة شائعة عن مسارات الكيان
      • أسئلة في موديول التوزيع والمخازن والمبيعات والمشتريات
      • أسئلة شائعة في موديول الرواتب والموارد البشرية
      • أسئلة شائعة عن تصميم التقارير
      • أسئلة شائعة حول أداة إنشاء التقارير
      • أسئلة شائعة عن الموافقات
      • أسئلة شائعة حول فلترة الحقول

Replication Utilities

Replication Clean Up

Details
update m set messageSent = 1 from SiteOutMessage m left join ReplicationSite rs on rs.code = m.siteCode where rs.inActive = 1 and m.messageSent = 0

    WHILE exists (select top 1 id from SiteOutMessage where messageSent = 1)
BEGIN
BEGIN TRANSACTION x;
delete top (10000) from SiteOutMessage where messageSent = 1;
Commit transaction x;
END;
go
WHILE exists (select top 1 toDel.id from OutBusMessage toDel left join SiteOutMessage som on som.messageId = toDel.id where som.id is null and toDel.messageSent = 1 and toDel.sequence < (select max(sequence) from OutBusMessage ))
BEGIN
BEGIN TRANSACTION x;
delete top (1000) toDel from OutBusMessage toDel left join SiteOutMessage som on som.messageId = toDel.id where som.id is null and toDel.messageSent = 1 and toDel.sequence < (select max(sequence) from OutBusMessage );
Commit transaction x;
END;
go
WHILE exists (select top 1 id from InBusMessage where status = 'Executed')
BEGIN
BEGIN TRANSACTION x;
delete top (10000) from InBusMessage where status = 'Executed'
Commit transaction x;

END;
go

Take Backup and Restore It in Branch Steps

  • PREPARE BACKUP and COPY IT TO BRANCH
  • STOP TOMCAT IN BRANCH
  • RESTORE BACKUP IN BRANCH
  • STOP TOMCAT IN HEAD OFFICE
  • Run The Following in Head Office
Details
update ReplicationStatistics set lastSentMessage = 1, waitingReadCount = 0 , remoteFailuresCount = 0 , localFailuresCount = 0,
lastReceivedMessage = 0 
where siteCode = 'branchcode'
  • Run The Following In Branch
Details
delete from SiteOutMessage
delete from OutBusMessage
delete from InBusMessage

update ReplicationStatistics set lastSentMessage = 1, waitingReadCount = 0 , remoteFailuresCount = 0 , localFailuresCount = 0,
lastReceivedMessage = 0 
where siteCode = 'headoffice'
  • START TOMCAT in HEAD OFFICE and in BRANCH
  • RECOMMIT ANY THING IN BRANCH and MAKE SURE THE MESSAGE IS RECEIVED IN HEAD OFFICE
  • RECOMMIT ANY THING IN HEAD OFFICE and MAKE SURE THE MESSAGE IS RECEIVED IN BRANCH
Edit On github
Last Updated:: 5/26/25, 3:09 PM
Prev
General Purpose Utility Queries