Differences between revisions 2 and 5 (spanning 3 versions)
Revision 2 as of 2008-10-31 04:43:04
Size: 2206
Editor: DannyCheung
Comment:
Revision 5 as of 2009-01-07 06:25:06
Size: 6552
Editor: DannyCheung
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Sends data between two sites, usually a branch computer and the HO server. Polling consists of several programs working in unison to create, filter and process data to a store. The programs are controlled by commin. The parameters used with the programs are accessed/altered by comaad. Sends data between two sites, usually a branch computer and the HO server. Polling consists of several programs working in unison to create, filter and process data to a store. The programs are controlled by {{{commin}}}. The parameters used with the programs are accessed/altered by {{{comaad}}} and {{{pollcont}}}
Line 4: Line 4:
Polling consists of four actions:

 * Generate - Creation of polling files from the transaction and file maintenance files
 * Process - Reading data from polling files and using them to update the transaction and file maintenance files
 * Distribute - Taking data from one polling file and copying it to another polling file. Data is not actually leaving the computer, just copied from one folder to another
 * Send/Retrieve - Sending or retrieving files across the LAN/Internet
The folder structure employed by polling

 * /u/cc/<COMPANY>/ - You should know what this does !!
  * <BRANCH>/ - Folder that represents the polling location <BRANCH>
   * send/ - Zip files waiting to be sent to the other computer
   * receive/ - Zip files received from the other computer
    * stuffed/ - Files that were downloaded, but the zip file was corrupted (aka "stuffed")
   * reports/ - Not quite sure what this is used for
== The general process of polling is: ==
 1. Check for any newly received polling packages
  1. Unzip the packages
  1. Distribute the downloaded data to the other polling locations
  1. Process the data distributed to the local polling location
 1. Generate polling files that represent the latest changes made on the current host
 1. Distribute the changes to the other polling locations
 1. Retrieve the latest files from the store computers
 1. Send the newly created polling files to the stores (in the form of a ZIP archive)
 1. For each polling location,
  1. Unzip the packages
  1. Distribute newly downloaded data to all other polling locations
 1. Process the data distributed to the local polling location
== Polling programs ==
 * commin - Performs all of the polling logic. ie. What files to send, what files to retrieve, what files go where, etc.
 * comaad - Adjust the location specific parameters used by commin and the various programs commin calls
 * pollcont - Adjust global polling settings
Line 5: Line 36:
 1. Transaction or File Maintenance record is created/altered
Line 7: Line 37:
 1. File is filtered for certain transaction/record types  1. File is filtered and converted into a polling file. Filtering is determined by parameters set in Generate Options of the local host's polling record
 1. Polling file is filtered for certain transaction/record types before sending to peer. Filtering is determined by parameters set in the Distribute Options of the PEER's polling record
Line 9: Line 40:
 1. Peer filters file for certain transaction/record types  1. Peer filters file for certain transaction/record types. Filtering is determined by the Process Options in the local host's polling record
Line 11: Line 42:
== Polling File Maintenance Records == == File Maintenance Records ==
Line 14: Line 45:
 1. {{{XXaad}}} creates entry(s) in log.dat
 1. {{{logmin}}} reads entries from log.dat and only outputs certain record types into slog.dat. Effectively, {{{logmin}}} acts as a filter.
 1. slog.dat is sent to the other location
 1. On the other end, {{{logmin}}} reads certain entries from slog.dat and outputs it to another file
 1. On the other end, {{{XXaad}}} processes output file and applies changes.
 1. {{{XXaad}}} creates entry(s) in log.dat.
 1. {{{logmin}}} reads entries from log.dat and only outputs certain record types into slog.dat. {{{logmin}}} simply acts as a filter.
 1. {{{logmin}}} reads entries from slog.dat and only outputs certain record types into rslog.dat.
 1. rslog.dat is sent to the other location
 1. On the other computer, {{{logmin}}} reads certain entries from rslog.dat and outputs it to slog.dat
 1. On the other computer, {{{XXaad}}} processes slog.dat and applies changes.
Line 25: Line 57:
 1. On other computer, {{{reclstr}}} converts sendtrn.dat to daycomm.dat, which just a structurally the same as daytrn.dat  1. On other computer, {{{reclstr}}} converts sendtrn.dat to daycomm.dat, which just structurally the same as daytrn.dat
Line 27: Line 59:
== Debtor Balances ==
 1. {{{sdbrep}}} reads entries from debtr.dat and dumps closing balance into debbal.dat
 1. debbal.dat is sent to the other computer
 1. On the other computer, {{{rdbmin}}} reads in debbal.dat and updates the closing balances for debtors
== Stock Counts ==
 1. {{{spost}}} or {{{stpost}}} places updated stock counts into stcount.dat in accordance to the option in {{{pollcont}}}
 1. {{{sscrep}}} reads in stcount.dat, filters the stock counts and outputs to rstcount.dat
 1. rstcount.dat is sent to the other computer
 1. On the other computer, {{{rscmin}}} reads in stcount.dat and updates the stock counts in the stock file
== Order Deletions and Completions ==
 1. {{{XXeat}}} adds entry in log.dat to denote that a Quote, Customer Order or Purchase Order has been completed
 1. {{{logmin}}} reads entries from log.dat and only outputs certain record types into slog.dat. {{{logmin}}} simply acts as a filter.
 1. {{{logmin}}} reads entries from slog.dat and only outputs certain record types into rslog.dat.
 1. rslog.dat is sent to the other location
 1. On the other end, {{{logmin}}} reads certain entries from slog.dat and outputs it to another file
 1. On the other end, {{{oqdel}}} (which is {{{sieat}}}, but renamed) deletes the completed/deleted quotes and customer orders from tran.dat
 1. On the other end, {{{podel}}} (which is {{{steat}}}, but renamed) deletes the completed purchase orders from tran.dat
== Tenders ==
 1. {{{XXeat}}} adds entry in daytend.dat
 1. {{{stendmin}}} reads daytend.dat, performs some record pointer conversions and outputs to sendtend.dat
 1. {{{stendmin}}} reads sendtend.dat, filters the tenders and outputs to rsendtend.dat
 1. rsendtend.dat is sent to the other computer
 1. On the other computer, {{{stendmin}}} reads rsendtend.dat, filters the tenders and outputs to stendtend.dat
 1. On the other computer, {{{stendmin}}} reads in sendtend.dat and updates tender.dat

Polling

Sends data between two sites, usually a branch computer and the HO server. Polling consists of several programs working in unison to create, filter and process data to a store. The programs are controlled by commin. The parameters used with the programs are accessed/altered by comaad and pollcont

Polling consists of four actions:

  • Generate - Creation of polling files from the transaction and file maintenance files
  • Process - Reading data from polling files and using them to update the transaction and file maintenance files
  • Distribute - Taking data from one polling file and copying it to another polling file. Data is not actually leaving the computer, just copied from one folder to another
  • Send/Retrieve - Sending or retrieving files across the LAN/Internet

The folder structure employed by polling

  • /u/cc/<COMPANY>/ - You should know what this does !!

    • <BRANCH>/ - Folder that represents the polling location <BRANCH>

      • send/ - Zip files waiting to be sent to the other computer
      • receive/ - Zip files received from the other computer
        • stuffed/ - Files that were downloaded, but the zip file was corrupted (aka "stuffed")
      • reports/ - Not quite sure what this is used for

The general process of polling is:

  1. Check for any newly received polling packages
    1. Unzip the packages
    2. Distribute the downloaded data to the other polling locations
    3. Process the data distributed to the local polling location
  2. Generate polling files that represent the latest changes made on the current host
  3. Distribute the changes to the other polling locations
  4. Retrieve the latest files from the store computers
  5. Send the newly created polling files to the stores (in the form of a ZIP archive)
  6. For each polling location,
    1. Unzip the packages
    2. Distribute newly downloaded data to all other polling locations
  7. Process the data distributed to the local polling location

Polling programs

  • commin - Performs all of the polling logic. ie. What files to send, what files to retrieve, what files go where, etc.
  • comaad - Adjust the location specific parameters used by commin and the various programs commin calls
  • pollcont - Adjust global polling settings

General Polling Process

  1. Transaction or File Maintenance record changes are saved to a file
  2. File is filtered and converted into a polling file. Filtering is determined by parameters set in Generate Options of the local host's polling record
  3. Polling file is filtered for certain transaction/record types before sending to peer. Filtering is determined by parameters set in the Distribute Options of the PEER's polling record
  4. File is sent to peer
  5. Peer filters file for certain transaction/record types. Filtering is determined by the Process Options in the local host's polling record
  6. Peer adds transaction/record changes into it's own database

File Maintenance Records

When a new file maintenance record is added, a copy of the record (along with some extra information) will be placed in the "logfile" (log.dat). When you delete a record, an entry in the logfile will also be created. Altering a file maintenance record will create two entries in log.dat. One will be a snapshot of the record before the change and the other will be a copy of the record after the change.

  1. XXaad creates entry(s) in log.dat.

  2. logmin reads entries from log.dat and only outputs certain record types into slog.dat. logmin simply acts as a filter.

  3. logmin reads entries from slog.dat and only outputs certain record types into rslog.dat.

  4. rslog.dat is sent to the other location
  5. On the other computer, logmin reads certain entries from rslog.dat and outputs it to slog.dat

  6. On the other computer, XXaad processes slog.dat and applies changes.

Transactions

  1. XXeat creates an entry in daytrn.dat

  2. sen2post copies the entries from daytrn.dat, adds a bit of extra information and outputs it to sendtrn.dat

  3. sendpost reads sendtrn.dat and outputs certain transactions to rsndtrn.dat

  4. rsndtrn.dat is sent to other computer
  5. On other computer, sendpost reads in rsndtrn.dat, filters transactions and outputs to sendtrn.dat

  6. On other computer, reclstr converts sendtrn.dat to daycomm.dat, which just structurally the same as daytrn.dat

  7. On other computer, XXpost will now add transactions to its transaction history file

Debtor Balances

  1. sdbrep reads entries from debtr.dat and dumps closing balance into debbal.dat

  2. debbal.dat is sent to the other computer
  3. On the other computer, rdbmin reads in debbal.dat and updates the closing balances for debtors

Stock Counts

  1. spost or stpost places updated stock counts into stcount.dat in accordance to the option in pollcont

  2. sscrep reads in stcount.dat, filters the stock counts and outputs to rstcount.dat

  3. rstcount.dat is sent to the other computer
  4. On the other computer, rscmin reads in stcount.dat and updates the stock counts in the stock file

Order Deletions and Completions

  1. XXeat adds entry in log.dat to denote that a Quote, Customer Order or Purchase Order has been completed

  2. logmin reads entries from log.dat and only outputs certain record types into slog.dat. logmin simply acts as a filter.

  3. logmin reads entries from slog.dat and only outputs certain record types into rslog.dat.

  4. rslog.dat is sent to the other location
  5. On the other end, logmin reads certain entries from slog.dat and outputs it to another file

  6. On the other end, oqdel (which is sieat, but renamed) deletes the completed/deleted quotes and customer orders from tran.dat

  7. On the other end, podel (which is steat, but renamed) deletes the completed purchase orders from tran.dat

Tenders

  1. XXeat adds entry in daytend.dat

  2. stendmin reads daytend.dat, performs some record pointer conversions and outputs to sendtend.dat

  3. stendmin reads sendtend.dat, filters the tenders and outputs to rsendtend.dat

  4. rsendtend.dat is sent to the other computer
  5. On the other computer, stendmin reads rsendtend.dat, filters the tenders and outputs to stendtend.dat

  6. On the other computer, stendmin reads in sendtend.dat and updates tender.dat


Polling (last edited 2022-04-13 03:06:32 by 203-206-72-221)