When "Add All Fields" is used to pull in the persistent field definitions, the fields that do not allow null have "required" set "True" and the ones that allow null have "required" set False. I then select all the fields and set "required" to false. When I run the program, I get messages like "TransactionNo must have a value.". When I check I find that the persistent field "Required" value has reverted to "True". I am not sure when this is happening.
There was another post from someone in this forum who described the same or similar problem but I don't understand how they fixed it:
"I found a combination where it would work. The reason is that the internal TDataSetProvider uses the field list of the internal TOracleDataSet to identify mandatory columns. I had to set those columns to not required too and not only the fields of my TClientDataSet descendent."