Running GP Utilities updates correctly on some companies, but one company in particular keeps failing at a particular table. The table is SY70300 Report Options Names
There doesn't appear to be any data in this table. I've tried to drop the table, recreate with a table that has already completed the update, etc.
Nothing that I've tried will get me through this table update.
Derek, I suspect you are correct. The table was empty and was likely failing to increment due to the lack of data in the table. After following up with the client, it was determined that this was a company that had been set up but never used, and would not be needed going forward. That being the case, I just skipped this in the upgrade and removed the company. Thanks for your follow up on this, it's good to learn something new either way!
I'd need a dexsql.log to verify, but in the cases I've seen with this eror and table/column, it usually is a result of this script:
begin declare @SubGrpInd numeric(19,9) select @SubGrpInd = max(RTGRSBIN)+ 1 from SY70300 INSERT INTO SY70300 (RTGRSBIN,RTPACHIN,RPTGRIND,RPTGRNMS,RTCFGWIN) VALUES(@SubGrpInd,5,8,'Demo',1) end
What happens is the script is going into the SY70300 table and getting the maximum RTGRSBIN value, then adding 1 to it, and assigning that value to the @SubGrpInd variable, which is what it is attempting to insert into the SY07300 table, along with a couple other values.
If the SY07300 table is empty, there isn't any RTGRSBIN value to add 1 to, thus the @SubGrpInd variable is given a NULL value, and the table doesn't allow NULL values to be inserted into it, thus the error.
The SY70300 table is a Report Options Names table, it gets populated with default data from an .out file, then may also have additional information from your own environment. The sample company database I have at 18.4.1368 has a total of between 214 records in this table.
The SY70300 table gets populated via an .out file, so we'd want to verify whether the SY70300 table in this company database is empty or not, by running this script:
Select count(*) from SY70300
If it is empty, you could probably copy the records from another company database's SY70300 table then run this script before launching Utilities and continuing the upgrade:
Delete DU000030 where Status <> 0 and Status <> 15
If this still doesn't work, I'd recommend opening a support case, if you haven't already done so. Upgrade issues aren't really what the forums were designed to troubleshoot as they can be a bit more complex for forums back and forth.
Thanks
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 290,524 Super User 2024 Season 2
Martin Dráb 228,493 Most Valuable Professional
nmaenpaa 101,148