Welcome! [www.celerant.com]

Download Report

Transcript Welcome! [www.celerant.com]

Welcome!
Pieces of the Application
Front End
Accepts user input
Validates user input
Required Date fields and numeric fields in
proper places.
Auto capitalizes where necessary
Reporting
Displays data returned from AppServer
Sends in reporting requests
Communicates with Appserver
All transactional requests, searches, etc
are sent to AppServer from front end.
All results (reports, list screens,
acknowledgements of saved transactions
are sent back to front end.
Database
MS SQL Server or Interbase
Collects and stores information sent from AppServer
Send back data requested by AppServer
Lists screen searches
Reports
Detail views (Style Detail, Customer Detail, etc)
Executes functionality on data
Deducting inventory when saving a sale
Increasing inventory when receiving from a PO
Anatomy of a Database
Tables
Contains the actual data (Customers, Inventory, etc)
Tables are made up of Rows (Records) and Columns (fields)
Triggers
Tiny programs that executes upon an event, typically upon
the saving of a certain record.
Stored Procedures
Small to mid sized programs that execute when requested.
Examples would be preprocessing for a report.
Database Process
Program that loads when system boots up.
Controls all database requests that comes in and helps execute them in an efficient
manner.
Database Tables
Tables are like excel spreadsheets
Fields are the columns
Records are the rows.
Database Tables
Example Table 1 – TB_CUSTOMERS
Database Tables
Example Table 1 – TB_STYLES
Database Triggers
Sample Triggers
Upon insert of line item on receipt, inventory is deducted
Upon insert of receiving, inventory is incremented, on order reduced
Upon insert of purchase order, quantity on order is incremented
Upon update of receiving, payable amount is modified.
Benefits
Single DB process keeps updates from over writing.
Speed benefit by executing in database vs. application
Database Stored Procedures
Sample Stored Procedures
Upon update of receiving, payable amount is modified.
Comparison of a physical inventory.
Resolve of a physical inventory
Style audit screen
Benefits
Significant speed benefit by executing in database vs application
Database Process
Process Runs on Computer like any other
service or program
Receives all requests from network and
enterprise
Organizes these requests to balance most
efficient usage of machine and response
time
Keeps many generations of database in
the event of unintended shutdown
Performs maintenance on databases
AppServer
Middleware – Communicates between DB and Front ends
Performs business logic
Translates information from front end and inserts into database
Retrieves information from database and prepares in a format ready for front end
Controls most communications
Controls store level redundancy
Basic Transaction
User presses a Save button
Front End pull data from screen and sends to AppServer
AppServer determines the transaction intended (new receipt, update inventory,
etc) and prepares data to be saved in the database
AppServer writes all records to the database within a transaction
AppServer sends acknowledgement back to the front end
Front end displays window showing results or simply closes the current window
Sample Transaction 1
User Presses Finish on Pay Screen
Front end compiles data from screen and sends to AppServer
Receipt.Insert?543~^0~^0~^TBRECEIPT~^70~^1~^RECEIPT_NUM~^EMPLOYEE_ID~^CUSTOMER_ID~^STORE_ID~^MACHINE_ID~^DATE_TIME~^GIFT_AMOUNT~^SUBTOTAL~^LINE_
DISC_AMOUNT~^OTHER_DISC_AMOUNT~^SHIPPING_CHARGE~^ALTERATION_CHARGE~^AFTER_DISC_AMNT~^TAX1~^TAX2~^TOTAL~^PAID~^TOTAL_CREDITS~^TOTAL_DUE~
^PICKUP_DATE~^COMMENTS~^CREDIT_AMOUNT~^READY_TO_PICKUP~^DATE_CLOSED~^PENALTY~^SHIP_MODE~^LAST_INSTALL~^ZIP~^EMAIL~^PARENT_ID~^TOTAL_WEIG
HT~^WEB_STATUS~^WEB_NUM~^LAST_SAVE_BY~^TYP~^AVAILABLE~^GIFT_FOR_NUM~^CLOSED~^VOID_BY~^CREDIT_ISSUED~^FREE_DOLLARS_USED~^BUYCLUB_DOLLAR
S~^CATEGORY1~^CATEGORY2~^CATEGORY3~^DISC_REASON~^OUR_NUM~^PER_OFF~^UNITS_SHIPPED~^FREE_ITEMS_USED~^BUYCLUB_ITEMS~^OLD_ID~^HAS_CUSTOM_
WORK~^CURRENT_STATE_ID~^BIN_NUM~^ORIG_RECEIPT_NUM~^VAT_AMT~^VAT_SERIAL_NUM~^VAT_REFUND_AMT~^VAT_REFUND_CHARGE~^CUSTOM_COMMENT_1~^CU
STOM_COMMENT_2~^CUSTOM_COMMENT_3~^CUSTOM_COMMENT_4~^EVENT_ID~^ORDER_TYP_ID~^IS_MULTI_SHIP~^CHARGE_UPS_ACCOUNT~_TAX_REFUND_ID~_TAX_EX
EMPT_REASON~_~^305~^73673~^185~^1851~^"03/21/2007
13:23:48"~^0.00~^620.00~^930.00~^0.00~^0.0~^0.0~^670.38~^50.38~^0.00~^670.38~^670.38~^0.00~^0.00~^~^""~^0.00~^~^"03/21/2007
13:23:48"~^0.00~^0~^~^""~^""~^~^0.00~^""~^~^0~^0~^0.00~^~^"Y"~^~^0.00~^0.0~^0.0~^""~^""~^""~^""~^""~^0.00~^0.0~^0~^0.0~^~^""~^~^""~^~^0.0~^""~^0.0~^0.0~^""~^""~^""~^""~^~^~^~^~
_~_""~*TBRECEIPTLINE~^40~^1~^RECEIPTLINE_ID~^EMPLOYEE_ID~^RECEIPT_NUM~^PRICE~^LOOKUP~^EXTENDED~^ORIG_PRICE~^REG_MARKDOWN~^BO_MARKDOWN~^CO
ST~^NOTES~^SPIFF~^COMMISSION~^COMM_DTE~^AMOUNT_OFF~^MEMBER~^RETURN_REASON~^OFF_FROM~^WEB_FLAG~^UPDATE_DTE~^SKU_BUCKET_ID~^MKDN_REAS
ON~^ORIG_RECEIPTLINE_ID~^REGISTRY_ENTRY_ID~^QUANTITY~^SHIPPED~^SERIAL_NUM~^OLD_ID~^LINK_LINE_ID~^PICKED~^SHIP_TAX_ENTRY_ID~^TAX_CODE_ID~^TAX1_
AMOUNT~^TAX2_AMOUNT~^KIT_ITEM~^VAT_AMT~^SHIP_CUST_ID~^SALE_TYP~_TAX1_PER~_TAX2_PER~_1~^305~^~^620.00~^"10923484960"~^620.00~^1550.00~^930.00~^0.00~^313.20~^""~^0.0~^0.0~^~^0.00~^""~^""~^0~^0~^~^49272~^"SALE"~^~^~^1.0~^0.0~^""~^~^~^0.00~^~^~^50.38~^0.
0~^~^0.0~^~^0~_8.125~_0.0~*TBTENDERED~^14~^1~^TENDER_NUM~^PAYIN_ID~^EMPLOYEE_ID~^MACHINE_ID~^RECEIPT_NUM~^DATE_TIME~^AMOUNT~^ACTUAL~^CONVERSI
ON~^SIGN_CAPTURE_ID~^SETUP_TENDER_ID~^IS_CHANGE~^SDTE~^TAX_REFUND_ID~_-1~^~^305~^1851~^~^"03/21/2007 13:23:27"~^670.38~^670.38~^0.00~^~^3~^""~^"2007-0321"~^~*TBCCDETAILS~^13~^1~^TENDER_NUM~^CARD_NUM~^NAME_ON_CARD~^EXP_DATE~^OTHER_ID_1~^OTHER_ID_2~^AUTH_CODE~^TRACK2~^REF_NUM~^PIN~^DLU~^E
SC_FLAG~^AUTH_RESP~_-1~^__________________- CARD_NUM HAS BEEN REMOVED FROM THE LOG -__________________~^"OFFUTT/JAMES"~^"1008"~^""~^"2405
"~^"04637B"~^""~^"04637B"~^""~^~^"0"~^"1"~*TBGIFTSUSED~^7~^0~^GIFT_NUM~^RECEIPT_NUM~^AMOUNT~^PAYIN_ID~^DTE~^GIFT_USED_ID~^MACHINE_ID~*TBCREDITUSED~^
7~^0~^CREDIT_NUM~^RECEIPT_NUM~^AMOUNT~^PAYIN_ID~^DTE~^CREDIT_USED_ID~^MACHINE_ID~*TBRECEIPTSHIP~^11~^0~^RECEIPT_NUM~^CUSTOMER_ID~^CUST_SHIP
_ID~^SHIP_METHOD_ID~^TAX_1~^TAX_2~^RECEIPT_SHIP_ID~^PICKUP_STORE~^VAT~^OLD_ID~^HOLD_TO_COMPLETE~*TBRECEIPTSLSMN~^3~^1~^RECEIPT_NUM~^EMPLOY
EE_ID~^PERCENTAGE~_~^305~^100.00~*TBRENTALS~^24~^0~^RENTAL_ID~^SKU_BUCKET_ID~^EMPLOYEE_ID~^RECEIPT_NUM~^LOOKUP~^TIME_UNITS~^PRICE~^EXTENDED~
^METHOD~^DTE_TIME_DUE~^SHIPPED~^MEMBER~^DTE_RETURN~^UPDATE_DTE~^SERIAL_NUM~^RENTAL_MODE~^LATE_FEE1~^LATE_FEE2~^SHIP_TAX_ENTRY_ID~^TAX_C
ODE_ID~^TAX1_AMOUNT~^TAX2_AMOUNT~^TAX1_PER~^TAX2_PER~*TBUNKNOWNLOOKUPS~^2~^0~^RECEIPTLINE_ID~^LOOKUP~*TBSCHEDPAYMENTS~^19~^0~^SCHED_PA
YMENT_ID~^EMPLOYEE_ID~^MACHINE_ID~^RECEIPT_NUM~^TENDER~^DATE_TIME~^SCHED_DATE~^AMOUNT~^ACTUAL~^CONVERSION~^CARD_NUM~^NAME_ON_CARD~^EX
P_DATE~^OTHER_ID_1~^OTHER_ID_2~^AUTH~^TRACK2~^REF_NUM~^SIGN_CAPTURE_ID~*TBRECPACK~^10~^0~^REC_PACKING_ID~^RECEIPT_NUM~^RECEIPTLINE_ID~^STO
RE_ID~^EMPLOYEE_ID~^MACHINE_ID~^TRACK_NUM~^DTE~^QUAN~_OLD_ID~*TBSMCDUSED~^7~^0~^SMCD_USED_ID~^SMART_CARD_ID~^AMOUNT~^RECEIPT_NUM~^PAYIN_
ID~^DTE~^MACHINE_ID~*TBSMARTCARD~^10~^0~^SMART_CARD_ID~^SMART_CARD_NUM~^AVAILABLE~^IS_ACTIVE~^REPLENISH_DATE~^CUSTOMER_ID~^PURCHASED_BY~^
TURN_ON_DATE~^TURN_OFF_DATE~^ORIG_RECEIPT_NUM~*TBSMCDREPLENISH~^5~^0~^SMCD_REPLENISH_ID~^SMART_CARD_ID~^RECEIPT_NUM~^DTE~^REPLENISH_AM
OUNT~*TBRECEIPTSTATES~^7~^0~^RECEIPT_STATE_ID~^ RECEIPT_NUM~^ORDER_STATE_ID~^DATE_STARTED~^EMP_STARTED~^
DATE_COMPLETE~^EMP_COMPLETE~*TBSTORERECEIPT~^3~^1~^STORE_RECEIPT_NUM~^STORE_ID~^RECEIPT_NUM~_26522~^~^~*TBSHIPMEMO~^3~^0~^SHIP_MEMO_ID~^R
ECEIPT_NUM~^MEMO~*&
AppServer responds to front end with a “Y”
Receipt prints out
Sample Transaction 2
User requests all receipts from store 19 where the date closed is 3/20/07.
User Presses Search on Receipt List screen
Front end sends the following to AppServer
Receipt.ListAll?579~^0~^80~^A.STORE_ID=19 and
A.DATE_CLOSED>='3/20/2007' and A.DATE_CLOSED<'3/21/2007'&
AppServer returns the following to the front end
Sample Transaction 2
TBRECEIPTLIST~^52~^19~^RECEIPT_NUM~^EMPLOYEE_ID~^CUSTOMER_ID~^STORE_ID~^MACHINE_ID~^DATE_TIME~^GIFT_AMOUNT~^SUBTOTAL~^LINE_DISC_AMOUNT~^O
THER_DISC_AMOUNT~^SHIPPING_CHARGE~^ALTERATION_CHARGE~^AFTER_DISC_AMNT~^TAX1~^TAX2~^PAID~^TOTAL_CREDITS~^TOTAL~^TOTAL_DUE~^PICKUP_DATE~^
CREDIT_AMOUNT~^READY_TO_PICKUP~^DATE_CLOSED~^PENALTY~^LAST_INSTALL~^ZIP~^EMAIL~^PER_OFF~^TOTAL_WEIGHT~^UNITS_SHIPPED~^WEB_STATUS~^WEB_N
UM~^LAST_SAVE_BY~^TYP~^AVAILABLE~^GIFT_FOR_NUM~^OUR_NUM~^CLOSED~^VOID_BY~^CREDIT_ISSUED~^FREE_DOLLARS_USED~^FREE_ITEMS_USED~^BUYCLUB_I
TEMS~^BUYCLUB_DOLLARS~^CATEGORY1~^CATEGORY2~^CATEGORY3~^DISC_REASON~^FIRST_NAME~^LAST_NAME~^STORE_RECEIPT_NUM~^ORDER_STATE_LABEL~_5
77452~^648~^295865~^19~^1901~^2007-03-20 10:47:45.0~^~^139.99~^0.00~^0.00~^0.00~^0.00~^139.99~^9.80~^0.00~^149.79~^0.00~^149.79~^0.00~^~^0.00~^N~^2007-03-20
10:47:45.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^DAVID~^DREW~^29146~^~_577476~^738~^404851~^19~^1900~^2007-03-20
11:14:29.0~^~^1.99~^0.00~^0.00~^0.00~^0.00~^1.99~^0.14~^0.00~^2.13~^0.00~^2.13~^0.00~^~^0.00~^N~^2007-03-20
11:14:29.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^~^~^29147~^~_577510~^648~^404868~^19~^1901~^2007-03-20
12:01:14.0~^~^80.00~^0.00~^0.00~^0.00~^0.00~^80.00~^5.60~^0.00~^85.60~^0.00~^85.60~^0.00~^~^0.00~^N~^2007-03-20
12:01:14.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^VANESSA~^CUCCHI~^29148~^~_577534~^738~^404882~^19~^1901~^2007-03-20
12:22:39.0~^~^79.99~^0.00~^0.00~^0.00~^0.00~^79.99~^5.60~^0.00~^85.59~^0.00~^85.59~^0.00~^~^0.00~^N~^2007-03-20
12:22:39.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^SOLOMON~^SHAFFER~^29149~^~_577555~^648~^404171~^19~^1900~^2007-03-20
12:41:50.0~^~^367.96~^0.00~^0.00~^0.00~^0.00~^367.96~^25.76~^0.00~^393.72~^0.00~^393.72~^0.00~^~^0.00~^N~^2007-03-20
12:41:50.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^ANDREW~^JOHNSON~^29150~^~_577590~^648~^404902~^19~^1901~^2007-03-20
13:02:37.0~^~^329.98~^0.00~^0.00~^0.00~^0.00~^329.98~^23.10~^0.00~^353.08~^0.00~^353.08~^0.00~^~^0.00~^N~^2007-03-20
13:02:37.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^CONNER~^HENRY~^29151~^~_577617~^738~^404911~^19~^1900~^2007-03-20
13:18:31.0~^~^9.50~^0.00~^0.00~^0.00~^0.00~^9.50~^0.67~^0.00~^10.17~^0.00~^10.17~^0.00~^~^0.00~^N~^2007-03-20
13:18:31.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^~^~^29152~^~_577636~^258~^404921~^19~^1901~^2007-03-20
13:39:11.0~^~^271.85~^0.00~^0.00~^0.00~^0.00~^271.85~^19.03~^0.00~^290.88~^0.00~^290.88~^0.00~^~^0.00~^N~^2007-03-20
13:39:11.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^LUANNE~^WEBB~^29153~^~_577669~^233~^404936~^19~^1900~^2007-03-20
14:17:59.0~^~^40.00~^0.00~^0.00~^0.00~^0.00~^40.00~^2.80~^0.00~^42.80~^0.00~^42.80~^0.00~^~^0.00~^N~^2007-03-20
14:17:59.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^GAIL~^SERNERSHEIN~^29154~^~_577672~^233~^355632~^19~^1900~^2007-03-20
14:19:33.0~^~^5.99~^0.00~^0.00~^0.00~^0.00~^5.99~^0.42~^0.00~^6.41~^0.00~^6.41~^0.00~^~^0.00~^N~^2007-03-20
14:19:33.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^NOT~^INT~^29155~^~_577688~^258~^278316~^19~^1900~^2007-03-20
14:44:35.0~^~^16.00~^0.00~^0.00~^0.00~^0.00~^16.00~^1.12~^0.00~^17.12~^0.00~^17.12~^0.00~^~^0.00~^N~^2007-03-20
14:44:35.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^MR~^DECLINED~^29156~^~_577689~^258~^278316~^19~^1900~^2007-03-20
14:45:30.0~^~^3.50~^0.00~^0.00~^0.00~^0.00~^3.50~^0.25~^0.00~^3.75~^0.00~^3.75~^0.00~^~^0.00~^N~^2007-03-20
14:45:30.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^MR~^DECLINED~^29157~^~_577699~^233~^404951~^19~^1900~^2007-03-20
14:54:15.0~^~^130.00~^0.00~^0.00~^0.00~^0.00~^130.00~^9.10~^0.00~^139.10~^0.00~^139.10~^0.00~^~^0.00~^N~^2007-03-20
14:54:15.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^JESSICA~^EMMITT~^29158~^~_577744~^217~^404966~^19~^1901~^2007-03-20
15:47:39.0~^~^88.00~^0.00~^0.00~^0.00~^0.00~^88.00~^6.16~^0.00~^94.16~^0.00~^94.16~^0.00~^~^0.00~^N~^2007-03-20
15:47:39.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^CHRISTINE~^BONATZ~^29159~^~_577874~^220~^386677~^19~^1900~^2007-03-20
18:22:50.0~^~^104.89~^0.00~^0.00~^0.00~^0.00~^104.89~^7.34~^0.00~^112.23~^0.00~^112.23~^0.00~^~^0.00~^N~^2007-03-20
18:22:50.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^SHARON~^ROMEO~^29160~^~_577896~^233~^405040~^19~^1900~^2007-03-20
19:07:20.0~^~^19.95~^0.00~^0.00~^0.00~^0.00~^19.95~^1.40~^0.00~^21.35~^0.00~^21.35~^0.00~^~^0.00~^N~^2007-03-20
19:07:20.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^GENE~^ROHEG~^29161~^~_577905~^272~^405043~^19~^1901~^2007-03-20
19:26:45.0~^~^55.00~^0.00~^0.00~^0.00~^0.00~^55.00~^3.85~^0.00~^58.85~^0.00~^58.85~^0.00~^~^0.00~^N~^2007-03-20
19:26:45.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^CHARLES~^DOWNS~^29162~^~_577925~^220~^96247~^19~^1900~^2007-03-20
19:58:16.0~^~^48.93~^20.97~^0.00~^0.00~^0.00~^48.93~^3.43~^0.00~^52.36~^0.00~^52.36~^0.00~^~^0.00~^N~^2007-03-20
19:58:16.0~^0.00~^~^30066~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^WARD~^PYLES~^29163~^~_577952~^233~^399999~^19~^1900~^2007-03-20
20:50:43.0~^~^-66.40~^0.00~^0.00~^0.00~^0.00~^-66.40~^-4.65~^0.00~^-71.05~^0.00~^-71.05~^0.00~^~^0.00~^N~^2007-03-20
20:50:43.0~^0.00~^~^~^~^~^0.000~^~^~^~^~^0~^~^~^~^N~^~^0.00~^0.00~^~^~^0.00~^~^~^~^~^DIANA~^SIMAAN~^29164~^~*
Front end displays the data on the list screen grid
Transaction Process
Start Transaction
AppServer sends data to database record by record
If everything saves properly, transaction is committed
If anything fails, entire transaction rolled back.
Non-Transaction Processing
Front end saves data record by record
A sale is comprised of 4-100 records
If any one record fails, transaction still finishes
Sales could have headers but miss line items or payments.
Flow of Data
Application Server/ Redundant Database
Real-Time data is sent to head-office application server for permanent
storage and enterprise-wide viewing
As data flows on internet, it’s protected by highest security protocol
Reduce Unforeseen Problems
If connectivity lost, store continues to function without interruption
Store app server/database handles all store’s information and
requests
Reduce Unforeseen Problems
Data is sent to head office as soon as the line is restored
Software Updates
Update Process
Software Updates
AppServer Update
Two files – CelerantEAS.jar, AppController.jar
Copied into current location overwriting
existing files
Small file transfer (2-3 Mb)
Must be done on Head Office AppServers and
ALL Local AppServers
New automated process copies these files
automatically
Software Updates
Front End Update
Front end copied to all machines in form of an
archive (Zip)
Custom files must be included in zip or
copied later
Large file transfer even archived – 40 meg
Files extracted to every terminal overwriting
existing front end
New automated process does NOT address
Front End updating
Software Updates
Database Update
Database is updated using scripts
Scripts are commands the database executes to add or alter the
database structure or programs (stored procedures or triggers)
Each change to the database is made in a single script
An update can have one script or one hundred scripts
Scripts must be executed at the head office database and all
local databases.
Any script that is not executed or fails to execute can cause
undesired results
Procedures or triggers not functioning as intended or at all
Downloads or uploads failing due to incongruent table structures.
Scripts are a part of the new automated update process