Heart-Profit ERP
November 27, 2024, 12:52:40 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Replicate - inzetten Listview control  (Read 2067 times)
0 Members and 0 Guests are viewing this topic.
Heart Informatisering B.V.
Partner
******
Offline Offline

Posts: 27476


View Profile WWW
« on: June 23, 2016, 03:55:45 pm »

De interne werking van Replikatie Processor is m.i.v. deze Releasenote opnieuw opgezet.

Het hoofdscherm van de Replikatie Processor is ooit gebaseerd op het hoofdscherm van de Batch Processor, doch, daardoor zijn een aantal zaken meegekopieerd die bij de Replikatie niet worden gebruikt.

De Replikatie is m.b.v. de volgende punten gewijzigd:

* Met de kopie van het Batch Processor scherm is er een Listview control meegekopieerd die vanuit de Replikatie nimmer gevuld werd. Deze Listview control leent zich er juist voor om diverse informatie aan de Gebruiker te melden, zoals 'met welke stap in het proces de Replikatie bezig is'. In de nieuwe versie wordt nu deze Listview aangestuurd.

* Onderdeel van de Replikatie is dat een bepaalde retentietijd (ingesteld op 5 dagen) de SQL tabel SYWT wordt opgeschoond. SYWT bevat de informatie van de te updaten records voor- en na het bezoek van de Replikatie Processor, en gebruikt deze informatie om (eenmalig) te bepalen welke gegevens er gewijzigd zijn en gerepliceerd moeten worden naar de SQL Server. Het opschonen van deze tabel gebeurde per Transaktie Datum + Tijd, en kon op die manier in vele duizenden SQL opdrachten resulteren om de tabel op te schonen. Hoewel dit opschonen ook met 1 SQL opdracht zou kunnen volstaan, gebeurt het opschonen nu met 1 opdracht per op te schonen datum waardoor dit proces vele malen sneller geworden is. De Listview control toont tevens van welke datum de gegevens worden opgeschoond.

* Met een verbeterde opzet door het gebruik van Timers kan de Replikatie Processor nu ook momenten hebben dat ze echt even "niets" te doen heeft; in de oude situatie werd iedere keer als ze niets te doen had, het "Opschonen" aangeroepen (welke funktionaliteit maximaal 1x per dag aangeroepen hoeft te worden, omdat ze toch alles op dagniveau opschoont).

* Eveneens gekopieerd uit het Batch Processorscherm waren de Stopdatum-/tijd, bedoeld om de Processor te kunnen stoppen t.b.v. de Backup. Het feit dat deze datum-/tijd in het scherm was opgenomen leek te impliceren dat ze ook gebruikt werd, maar niets blijkt minder waar te zijn. De Replikatie Processor respekteert niet die setting, maar wordt aangestuurd via een zelf te maken Backupscript die vlak voor aanvang van de Backup in de FOXLOLOPW directory een file BACKUP.TXT dient aan te maken, en deze file weer dient te verwijderen als de Backup klaar is. De Replikatie Processor stopt dus als die file gevonden wordt, en gaat verder als de file verwijderd is. Omdat de Datum-/tijd rubrieken niet gebruikt werden, zijn deze nu van het scherm verwijderd. Tijdens het wachten tot de Backup klaar is wordt het scherm nog maar eens per 5 minuten geupdated.

* Middels een oplopend tellertje 'wacht op transaktie' iz zichbaar dat de Replikatie staat te wachten, maar geen te verwerken transakties aangeboden heeft gekregen. Het tellertje reset zodra er transakties gerepliceerd worden naar de SQL Server. Met een 2e tellertje wordt getoond hoeveel Transakties er gerepliceerd zijn naar de SQL Server sinds het opstarten van de Replikatie Processor.

* De Replikatie bezoekt alle gemuteerde records uit Transaktionele tabellen, bepaalt wat er gewijzigd is en repliceert de nieuwe data naar de SQL Server. Regelmatig komt het voor dat de Replikatie staat te wachten op 'Gevraagde gegevens zijn geallokkeerd', immers als een gebruiker een Verkooporder toevoegt, zal ze daarna die order gelockt houden tijdens het proces 'Toevoegen VO Regels'. Soms wil het ook voorkomen dat de Replikatie onnodig lang op zo'n melding blijft staan, simpelweg omdat ergens in de wijze waarop de Gebruiker zijn handeling verricht heeft er een record niet wordt vrijgegeven. Wie de gevraagde gegevens in gebruik heeft is dan veelal de vraag en het kost veelal moeite om iemand gericht aan te sturen met 'geef jij eens even expliciet gegevens vrij'. Hoewel niet waterdicht, geldt dat in de meeste gevallen het door de Replikatie bezochtte record geallokkeerd zal zijn door de gebruiker die de Transaktie aanmaakte, en die is bekend. Nu ook een Listcontrol is geaktiveerd, wordt die Listcontrol nu gevuld met het Userid van de Transaktie. Om de Listcontrol niet onnodig te vervuilen wordt niet iedere lockfout gemeld, maar enkel "de 25e".

FunktieOmschrijvingDtm.Vl.WyzDtm.L.Wyz
SYINCLSP    Omschrijving (nog) niet bekend    05-04-2016    21-06-2016
SYRPSQN2    Omschrijving (nog) niet bekend    07-08-2015    20-06-2016
SYRPSQOR    Omschrijving (nog) niet bekend    05-08-2015    20-06-2016
SYSQRPPR    Omschrijving (nog) niet bekend    05-08-2015    20-06-2016
SYTVBW      Omschrijving (nog) niet bekend    05-04-2016    20-06-2016
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2005, Lewis Media Valid XHTML 1.0! Valid CSS!
Page created in 0.178 seconds with 20 queries.