I just upgraded a customer from Sage 300 2018 to Sage 300 2021. After upgrading they pointed out that many of their "Locked" periods were now unlocked.
In their old database in the CSFSCST table there are NO lock records for 2020, 2018 and 2016.
I had them look at their old installation, which still exists on their old server, and the Fiscal calendar reports that 2020, 2018 and 2016 are indeed locked.
Looking at the database on the new server which was upgraded to 2021, the upgrade process has inserted the missing records for 2020, 2018 and 2016 into the CSFSCST table and by default set all of the locks on the inserted records to "Unlocked"
Clearly there is a consistency problem here that someone has overlooked.
I ran the following sql script to fix each of the databases and lock all periods for years 2020 and back.
update C set C.STATUS1=0, C.STATUS2=0,C.STATUS3=0,C.STATUS4=0,C.STATUS5=0,C.STATUS6=0,C.STATUS7=0,C.STATUS8=0,C.STATUS9=0,C.STATUS10=0,C.STATUS11=0,C.STATUS12=0,C.STATUS13=0 from SAMINC.dbo.CSFSCST C WHERE (C.FSCYEAR < '2021')
Hopefully someone from the Sage development team will see this and take note.