GSAK does not allow null values in the database, so I don't know what you mean when you say "a global replace of UserNote with null ".
I suspect that your user notes have some character in them, perhaps only the $~ delimiter (which won't show in the user note, since it is used as a delimiter).
Using these settings in Database>Global Replace works for me (i.e. sets HasUserNote to FALSE):
![user posted image]()
Another possibility is that when writing to the database variables in your macros, you have not used the RESYNC command, and GSAK is therefore not updating the calculated fields correctly. Try running the following macro and see if that cleans things up:
It is good practice to issue the RESYNC command whenever you update a database variable (not all database variables will affect calculated variables, but if you get in the habit of using RESYNC, you don't have to worry about doing it when you do update a variable with a dependency in GSAK).
I suspect that your user notes have some character in them, perhaps only the $~ delimiter (which won't show in the user note, since it is used as a delimiter).
Using these settings in Database>Global Replace works for me (i.e. sets HasUserNote to FALSE):

Another possibility is that when writing to the database variables in your macros, you have not used the RESYNC command, and GSAK is therefore not updating the calculated fields correctly. Try running the following macro and see if that cleans things up:
GSK |
MACROSET Dialog=Replace VarName=$Replace GlobalReplace Settings=<MACRO> RESYNC RESYNCLOGS <data> VarName=$Replace [TfmReplace] cbxFields.Text=User Notes cbxWith.Text= edtDate.Text=/ / edtString.Text= rbtAdd.Checked=False rbtRemove.Checked=False rbtReplace.Checked=True rbtSwap.Checked=False chkClose.Checked=True rbtAddBefore.Checked=False chkSql.Checked=False <enddata> |
It is good practice to issue the RESYNC command whenever you update a database variable (not all database variables will affect calculated variables, but if you get in the habit of using RESYNC, you don't have to worry about doing it when you do update a variable with a dependency in GSAK).
