PURCHASING > Setup system > Master file settings > Master file change notification settings
This is used to identify when changes are made to the system’s Master Files to aid with master file integration and synchronization with other systems, typically using an automated mechanism (as opposed to making master file changes manually in two or more systems).
This utility can help with master file synchronizing with another system when SpendMap is the master of the data, that is, when you need to know when changes are made in SpendMap in order to update another system.
This utility keeps a record of master file change events, including the record that was changed and the type of change that was made. The changes are then logged in a database table or ASCII (TXT, CSV) file that can be read by a third party system in order to determine which records (what data) needs to be updated in the other system(s).
Unlike the Master File Update Log, this utility does not log what data has changed. Instead, it logs only that the master file record was changed and by what type of action, so that you know which records need to be updated in the other system(s).
Configuration
In addition to selecting the specific master files that you would like to track changes to, you can select the type of log file to create. If you are using the SQL version of SpendMap, you have the option of using a SQL table in the main SpendMap SQL database (the table is called masterFileChangeLog), otherwise if you are using another one of SpendMap’s database options, changes will be tracked in a table in the /MISC folder off the main root folder of the system. The table will have either a .DBF or .TXT extension, depending on the file type you have selected.
Details of masterFileChangeLog table
The masterFileChangeLog table includes the following fields/columns:
•TABLE_NAME: The table name of the master file that was changed - This corresponds to the system’s "PRC..." table names (e.g. PRC13 is the Item Master File).
•CODE: The primary key value that was changed - This code is used to identify which record in the master file was changed.
•OLD_CODE: In the case of a rename operation, this is the original code that existed before the code was renamed. The CODE field represents the new or renamed code.
•ACTION: Is an action code indicating what type of change occurred to the record - This can be one of the following values:
A - Add
C - Change
D - Delete
R - Rename
L - Code was locked
U - Code was unlocked
•USER_ID: The user id that performed the change in SpendMap.
Note: This field will NOT be renamed in the event that a user ID is renamed.
•DATE: The date (and time for the SQL version) that the change occurred.
•TIME: For the non-SQL version, this will be the time that the change occurred.
Recommended procedure for reading contents of masterFileChangeLog table
Since SpendMap continuously writes data to the masterFileChangeLog table (as changes are made to master files), when it comes time to read the data in order to update your other system(s), do not read the data directly from this table as doing so will impose a lock on the table thereby prohibiting SpendMap from making additional entries while you complete your work. If you lock the table for more than 30 seconds, the system will fail with an error (if it tries to write to the table).
Therefore, the following is the recommended procedure for reading this table:
Non-SQL version
1.Rename the table (SpendMap will recreate it as needed). You will not be able to rename it if it is being accessed by SpendMap so you must be able to retry this action until it succeeds.
2.Do your work with the renamed table.
3.Delete the renamed table.
SQL version
1.Lock the table.
2.Copy table contents to another table.
3.Drop the table (SpendMap will recreate it as needed).
4.Do your work with the copied table.
5.Drop the copied table.
Extracting data from master file tables
Once you know which records have changed in SpendMap, you can proceed to extract the applicable data from those records in order to update your other system(s).
For details and recommended procedures, please contact SpendMap Technical Support.