After upgrading a Dynamics GP system from GP2015 => GP2016 => GP(18.4) the following error occurred on opening some enquiry windows in GP;
A get/change operation on table ‘syWindowDefaults’ cannot find the table.
Invalid object name ‘SY01407’
The above window is used for the “The Default Inquiry Sort options for Payables, Receivables and Bank Reconciliation”, a feature introduced in 18.4 version of Dynamics GP.
According to the linked documentation, this feature saves some of the field settings and window sizes for windows:
Receivables Transaction Inquiry - Customer (Inquiry > Sales > Transaction by Customer)
Receivables Transaction Inquiry - Document (Inquiry > Sales > Transaction by Document)
Payables Transaction Inquiry - Vendor (Inquiry > Purchasing > Transaction by Vendor)
Payables Transaction Inquiry - Document (Inquiry > Purchasing > Transaction by Document)
Checkbook Register Inquiry (Inquiry > Financial > Checkbook Register)
Checkbook Balance Inquiry (Inquiry > Financial > Checkbook Balance)
Sales Order Processing Item Inquiry (Inquiry > Sales > Sales Items)
The information for the feature is stored in the following table:
Dynamics GP table name: SY01407
Dynamics GP Technical Name: syWindowDefaults
Checking in the database to see if the table was in SQL server, proved it was not:
select * from DYNAMICS..SY01407
Msg 208, Level 16, State 1, Line 1
Invalid object name 'DYNAMICS..SY01407'.
So it would seem this table got missed when the GP installer/upgrade scripts were created!
There is evidence of other people having similar experience on the forums, Inquiry error message missing table SY01407
Creating building table SY01407 and its associated database objects
Being a new table it is easy to build as you don’t need to worry about pre-existing data. Do so using the Dynamics GP SQL Maintenance window as user sa.
Microsoft Dynamics GP>>Maintenance>>SQL
Select Database DYNAMICS
Product Microsoft Dynamics GP
Locate the table in the list (“System Window Defaults”) and select it (you will see 1 object selected as shown below)
Select the checkboxes to “Create Table” and “Create Auto Procedure”
Then select Process button, the missing table will be created along with some stored procedures and now the error messages should stop occurring as the defaults feature should start to function.
Thanks to Beat Bucher for confirming the issue for me and confirming I could use the above window to build the missing database object.
He noted there is also a script you can obtain from GP support if you raise a ticket, that effectively does the same thing as the GP client does above.
Resulting database objects created
Although this will get you running, it may be a sign of other issues with the upgrade. It is always important to run a dummy upgrade and perform User Acceptance Testing on it to ensure everything is ok before doing the upgrade of the production environment.