Ψάξτε απαντήσεις ή περιηγηθείτε στην knowledge base.
Συγχρονισμός RetailStudio
Συγχρονισμός RetailStudio
Βασικές έννοιες
Το RetailStudio έχει τη δυνατότητα συγχρονισμού μεταξύ δύο σημείων. Ο συγχρονισμός γίνεται σε επίπεδο βάσης και η παραμετροποίηση γίνεται σε επίπεδο οντοτήτων (πινάκων στη βάση).
Οι βασικές έννοιες που πρέπει κανείς να γνωρίζει, είναι οι παρακάτω:
Publisher: Είναι η βάση δεδομένων που περιέχει τα δεδομένα προς συγχρονισμό. Αυτή μπορεί σε μια εγκατάσταση να είναι ο κεντρικός Server, ή το PC manager ενός καταστήματος που υποδέχεται τα δεδομένα από τα κεντρικά προκειμένου να ενημερώσει τα POS του καταστήματος.
Subscriber: Είναι η βάση δεδομένων που υποδέχεται τα δεδομένα κατά τον συγχρονισμό. Αυτή μπορεί να είναι το PC manager ενός καταστήματος όταν υποδέχεται τα στοιχεία από τον κεντρικό server ή το POS όταν ενημερώνεται από το PC manager του καταστήματος.
Distributor: Είναι ο σταθμός που εκτελεί τη διαδικασία του συγχρονισμού. Αυτός μπορεί να είναι ο ίδιος με τον Publisher.
Παραμετροποίηση διαδικασίας συγχρονισμού
Η λειτουργία του συγχρονισμού περιλαμβάνει τον ορισμό για κάθε οντότητα των παρακάτω λειτουργιών.
Ενημέρωση οντότητας
- Αποστολή στοιχείων: Τα δεδομένα ενημερώνονται μόνο από τον Publisher προς τον Subscriber. Για παράδειγμα η οντότητα των στοιχείων των ειδών.
- Αποστολή και παραλαβή στοιχείων: Τα δεδομένα ενημερώνονται από τον Subscriber προς τον Publisher, και ανάποδα. Ένα παράδειγμα τέτοιας ενημέρωσης είναι τα στοιχεία των ηλεκτρονικών κουπονιών πληρωμής.
- Παραλαβή στοιχείων: Τα δεδομένα ενημερώνονται μόνο από τον Subscriber προς τον Publisher. Ένα τέτοιο παράδειγμα είναι τα παραστατικά που εκδίδονται από το POS.
Ενέργεια κατά την ενημέρωση
- Εισαγωγή εγγραφών: Εκτελείται μόνο εισαγωγή νέων εγγραφών, με βάση το κλειδί που έχει οριστεί στην οντότητα.
- Εισαγωγή και ενημέρωση εγγραφών: Εκτελείται εισαγωγή (insert) και ενημέρωση (update) των εγγραφών στην οντότητα.
- Εισαγωγή, ενημέρωση και διαγραφή εγγραφών: Εκτός από εισαγωγή και ενημέρωση, εκτελείται και διαγραφή των εγγραφών της οντότητας. Προσοχή: Η διαγραφή εκτελείται μόνο με την φορά από τον Subscriber προς τον Publisher, για τις περιπτώσεις 2 και 3 της ενημέρωσης της οντότητας. Αυτό σημαίνει ότι θα διαγραφούν τα δεδομένα από τον Publisher που δεν υπάρχουν στον Subscriber.
Χρήση φίλτρων στον συγχρονισμό
Είναι δυνατό να χρησιμοποιηθούν φίλτρα ανά οντότητα που θα εφαρμοστούν κατά τη διάρκεια του συγχρονισμού. Αυτά τα φίλτρα μπορούν να περιέχουν οποιοδήποτε where clause χωρίς το keyword ‘WHERE’, πχ. A.Branch = ‘010’.
Για την χρήση πεδίων είναι υποχρεωτικό να χρησιμοποιηθεί το ‘A.’ μπροστά από το όνομα του πεδίου. Επίσης, μπορούν να χρησιμοποιηθούν keywords με δυναμικές τιμές. Αυτά μπορούν να είναι:
&Company: Η εταιρεία που καλείται η διαδικασία.
&Branch: Ο κωδικός του υποκαταστήματος που καλείται η διαδικασία.
&Cashregisterid: Ο κωδικός του ταμείου του Subscriber.
Παραδείγματα χρήσης φίλτρων
A.Branch = &Branch. Ο συγχρονισμός αφορά μόνο το υποκατάστημα του Subscriber.
- Movetypecode IN (‘ΤΔΑ’, ‘ΑΛΠ’). Ο συγχρονισμός αφορά μόνο τους συγκεκριμένους κωδικούς παραστατικών.
- CustomerType IN (1,2) AND A. CustomerCode IN (SELECT CustomerCode FROM CustomerLoyaltyCard WHERE Company = &Company). Ο συγχρονισμός αφορά πελάτες μόνο, και οι πελάτες αυτοί έχουν loyaltycard.
Stored procedures που χρησιμοποιούνται
Για την διαδικασία συγχρονισμού, χρησιμοποιούνται δύο stored procedures που εκτελούνται πάντα στη βάση δεδομένων του Publisher.
usp_updateBranchDb: Εκτελεί τον συγχρονισμό όταν η οντότητα έχει «Ενημέρωση οντότητας» 2 ή 3. (αποστολή και παραλαβή στοιχείων ή μόνο παραλαβή στοιχείων).
usp_updatePOSDb: Εκτελεί τον συγχρονισμό όταν η οντότητα έχει «Ενημέρωση οντότητας» 1. (αποστολή στοιχείων).
Οι διαδικασίες αυτές καλούνται από την εφαρμογή POSUpdater, από τις εργασίες καταστήματος (ενημέρωση POS και ενημέρωση υποκαταστήματος από POS). Επίσης μπορούν να προγραμματιστούν με την βοήθεια του iQom.Execusp, και τέλος, να προγραμματιστούν από τον Job agent του SQL Server.
Σειρά οντοτήτων
Ορίζεται η σειρά των οντοτήτων με βάση τις σχέσεις που έχουν μεταξύ τους. Για παράδειγμα, δεν μπορεί να ενημερωθεί το είδος με την οικογένεια που ανήκει εφόσον δεν υπάρχει αυτή η οικογένεια. Έτσι επιβάλλεται να οριστεί στην οικογένεια μικρότερη σειρά από αυτή της οντότητας του είδους.
Σχηματική αναπαράσταση διαδικασίας

