Company: Link Technologies
Case No: L08987. Project: 08.20: LinkSOFT Version 8.2
Logged By: Sanjay (Link Technologies) on 19 Dec 2017 03:56PM
Priority: High
Product: Point of Sale
Group: Enhancement
Time Taken: 40.00 (Weight: 40.00)
Version: 8.290.0115
Assigned To: Sanjay (Link Technologies)
Circulation: Alvis, Development, Sanjay
Resolve By: Friday, 22 December 2017 12:00 AM [2321 days since logged date]
Status: Closed
Subject: Replication changes to reduce data load and consistency to replication objects
Summary:    

    Objective

    1. Build consistency in replication mechanism

      1. Add ability to define rules for specific tables to handle complex rules such as:

        1. INV_LIST table: Head-office to Branch, Stock is UPDATED

        2. INV_LIST table: Branch to Head office, stock movement is changed

    2. Table changes to replication should be automatically picked up for NON CUSTOM tables

    3. Move all manual jobs to Link Processes

    4. Cleanup and Processes jobs and make the Process to Job relationship 1 to 1 to prevent processing delays


    Rules:

    1. If a specific column needs to be excluded from replication, separate this column into a non replicated table or use a view to manage columns


    Design considerations

    1. CONTROL IN and CONTROL OUT tables are leftovers from the previous design. The values in this table can be dynamically built as database tables change. Remove the manual maintenance of this table.
    2. Remove CONTROL IN AND OUT data from flowing with replication. We assume that all databases in the replication plan are consistent
    3. Build a new table to hold data used by CONTROL tables in 1 above and build this data dynamically called LT_REPL_TableDefinitions
    4. Add fields to identify if the table is a CUSTOM table which requires special consideration like LBS_INV_LIST
    5. Add fields to define if we need INSERT/UPDATE/DELETE considerations
    6. Using this table, dynamically build triggers for replication separating units of work to ensure code is not repeated
    7. Move all SQL Jobs into the Processes table
    8. Improve the processes handling capability by making the Process code, Description, Script as read-only to prevent changing and causing data corruption
    9. Remove ability to  ADD processes from form as this results in Direct SQL access for users
    10. Remove Schedule Job Name as users should not have to set this up
    11. Add a "Job Owner" as Replication jobs need to be processed with "LinkADMIN" (data affected by LINKADMIN user flows through replication) and some jobs need to be processed with "LinkReplication" user.
    12. Separate Jobs so we have one job per process. Job names will be identified by ProcessCode
    13. Automatically create jobs when a process is made active
    14. Delete a job when the process is made inactive
    15. Move JIWA SQL Job to processes
    16. Move JIWA process away from Replication design and place this in a separate bucket
    17. Tie replication triggers with the Replication configuration process
    18. By default, all jobs should be disabled. Users need to enable jobs to prevent unnecessary server load
    19. Build a custom Replication Trigger script for INV_LIST to handle Stock Movement Update when flowing from Branch to Head Office
    20. Cleanup and refactor Processes Build script
    Audit Notes:
    19 Dec 201703:35PM Comment 1 by Sanjay (Link Technologies) Case 8987 added to project 8.2
    19 Dec 201703:55PM Comment 2 by Sanjay (Link Technologies) Assigned To: Development Followup Date: 19-12-2017 03:55 PM Time Taken: 40.00

    The following changes have been completed:

    1. CONTROL IN and CONTROL OUT tables are leftovers from the previous design. The values in this table can be dynamically built as database tables change. Remove the manual maintenance of this table.
    2. Remove CONTROL IN AND OUT data from flowing with replication. We assume that all databases in the replication plan are consistent
    3. Build a new table to hold data used by CONTROL tables in 1 above and build this data dynamically called LT_REPL_TableDefinitions
    4. Add fields to identify if the table is a CUSTOM table which requires special consideration like LBS_INV_LIST
    5. Add fields to define if we need INSERT/UPDATE/DELETE considerations
    6. Using this table, dynamically build triggers for replication separating units of work to ensure code is not repeated
    7. Move all SQL Jobs into the Processes table
    8. Improve the processes handling capability by making the Process code, Description, Script as read-only to prevent changing and causing data corruption
    9. Remove ability to  ADD processes from form as this results in Direct SQL access for users
    10. Remove Schedule Job Name as users should not have to set this up
    11. Add a "Job Owner" as Replication jobs need to be processed with "LinkADMIN" (data affected by LINKADMIN user flows through replication) and some jobs need to be processed with "LinkReplication" user.
    12. Separate Jobs so we have one job per process. Job names will be identified by ProcessCode
    13. Automatically create jobs when a process is made active
    14. Delete a job when the process is made inactive
    15. Move JIWA SQL Job to processes
    16. Move JIWA process away from Replication design and place this in a separate bucket
    17. Tie replication triggers with the Replication configuration process
    18. By default, all jobs should be disabled. Users need to enable jobs to prevent unnecessary server load
    19. Build a custom Replication Trigger script for INV_LIST to handle Stock Movement Update when flowing from Branch to Head Office
    20. Cleanup and refactor Processes Build script

    20 Dec 201710:09AM Comment 3 by Sanjay (Link Technologies) Assigned To: Sanjay (Link Technologies) Followup Date: 20-12-2017 10:09 AM
    SYSTEM Test - Added function to show if SQL Agent is stopped in Processes Menu - Status Column.

    21 Dec 201704:21PM Comment 4 by Sanjay (Link Technologies) Assigned To: Sanjay (Link Technologies) Followup Date: 21-12-2017 04:21 PM
    Tests will be performed individually.

    09 Oct 201908:14AM Comment 5 by Sanjay (Link Technologies) Quality control status: Pass. QC Not required - This case was created before quality check was implemented in version 11 on 30/06/2019
    If you have any queries regarding this support incident, please email admin@linktechnologies.com.au and include the Case No: L08987 in the subject line of all emails regarding this issue.

    Document size: 7.9 KB
    For call complaints, please contact the Managing Director of the company using this form