SQL does not create default value

SQL does not create a default value

Hi,
Neither of these SQL commands (entered with tools/SQL, then checked by view/refesh , right click tablename / edit)
sets a default value.
What is wrong?

<<>>

CREATE CACHED TABLE TESTC4

( ID1 INT GENERATED BY DEFAULT AS IDENTITY,

  TC1 INT DEFAULT 3,

  TC2 VARCHAR(10) DEFAULT 'THREE',

  TC3 INT  

);

<<>>

ALTER TABLE TESTC6

ADD TC7 VARCHAR(10)

DEFAULT ‘STUFF’;

It comes from bypassing the GUI when you define the table. If you look at your database using an archive manager (you can see the table definition in the database/script file) you will find that the defaults are recorded in the table definition. If you add records to the table the defaults are used.

But the defaults appear blank if you edit the table using the base GUI. If you add a different default in the GUI then it will be used while the database is open but when it is closed and reopened the original default will be used. You can use an archive manager to edit the default in the database/script file or by an ALTER TABLE command in the SQL tool.

Thank you for your answer.

So, the GUI saves a default “in the data” but direct SQL commands save a default “in the table definition”. The table GUI editor looks only at “the data” default and not the separate “table definition” default.

What can I use as “an archive manager” to see the “table definition” since the GUI does not show it?
Note: view/refresh tables (even after a save) does not seem to make an SQL default appear in the table GUI editor.
Do do both types behave functionally the same?
How do these 2 methods compare to the default from the comboBox of a form?

This issue is mentioned in:
Creating Tables.
page 41 of BH40-BaseHandbook
as follows:

Default values: The term “Default value” in the GUI does not mean what the database user generally understands as a default value. The GUI displays a certain value visibly, which is saved with the data. The default value in a database is stored in the table definition. It is then written into the field whenever this is empty in a new data record. SQL default values do not appear when editing table properties.

thanks again.