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||Dynamics GP Technical Name|
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 this tels us the table does not exist, 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.
Beat also noted there is a script that may be obtained from GP support, a support ticket needs raising. That screipt, 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.