=== modified file 'src/com/goldencode/p2j/persist/DynamicTablesHelper.java'
--- src/com/goldencode/p2j/persist/DynamicTablesHelper.java	2022-10-14 12:38:17 +0000
+++ src/com/goldencode/p2j/persist/DynamicTablesHelper.java	2022-10-18 07:43:22 +0000
@@ -832,9 +832,9 @@
             tableField.putAnnotation("col_lab", field.getColumnLabel());
          }
          
-         if (field.getCodePage() != null)
+         if (!org.apache.commons.lang3.StringUtils.isEmpty(field.getCodePage()))
          {
-            tableField.putAnnotation("codePage", field.getCodePage());
+            tableField.putAnnotation("column-codepage", field.getCodePage());
          }
 
          if (field.isSerializeHidden())

=== modified file 'src/com/goldencode/p2j/persist/TableMapper.java'
--- src/com/goldencode/p2j/persist/TableMapper.java	2022-10-07 09:02:39 +0000
+++ src/com/goldencode/p2j/persist/TableMapper.java	2022-10-18 08:44:34 +0000
@@ -102,6 +102,7 @@
 **     CA  20220601 getIndexFieldNames must return lowercased legacy names.
 **     OM  20220914 Added MAX-WIDTH support for CHARACTER fields.
 **     IAS 20221006 Added 'definedFormat' and 'definedLabel'.
+**     IAS 20221018 Fixed processing of 'now' and 'today' INITIAL attribute value.
 */
 
 /*
@@ -2874,7 +2875,7 @@
                   {
                      if ("today".equalsIgnoreCase(text))
                      {
-                        initialValue = date.today();
+                        initialValue = new character(text);
                      }
                      else
                      {
@@ -2885,7 +2886,7 @@
                   {
                      if ("now".equalsIgnoreCase(text))
                      {
-                        initialValue = datetime.now();
+                        initialValue = new character(text);
                      }
                      else if (text.toUpperCase().indexOf('T') > 0)
                      {
@@ -2902,7 +2903,7 @@
                   {
                      if ("now".equalsIgnoreCase(text))
                      {
-                        initialValue = datetimetz.now();
+                        initialValue = new character(text);
                      }
                      else if (text.toUpperCase().indexOf('T') > 0)
                      {

=== modified file 'src/com/goldencode/p2j/persist/orm/DmoMeta.java'
--- src/com/goldencode/p2j/persist/orm/DmoMeta.java	2022-09-17 01:08:47 +0000
+++ src/com/goldencode/p2j/persist/orm/DmoMeta.java	2022-10-18 08:44:59 +0000
@@ -39,6 +39,7 @@
 **                  to a better suited name.
 **     OM  20220706 The objects returned by getDatabaseIndexes() carry the legacy names, too.
 **     OM  20220914 Use MAX-WIDTH to generate custom sized varchar columns.
+**     IAS 20221018 Fixed processing of 'now' and 'today' INITIAL attribute value.
 */
 
 /*
@@ -1591,13 +1592,13 @@
                      {
                         if (bdtType == date.class)
                         {
-                           init = "today".equalsIgnoreCase(p.initial) ? date.today() : new date(p.initial);
+                           init = "today".equalsIgnoreCase(p.initial) ? new character(p.initial) : new date(p.initial);
                         }
                         else if (bdtType == datetime.class)
                         {
                            if ("now".equalsIgnoreCase(p.initial))
                            {
-                              init = datetime.now();
+                              init =  new character(p.initial);
                            }
                            else if (p.initial.toUpperCase().indexOf('T') > 0)
                            {
@@ -1614,7 +1615,7 @@
                         {
                            if ("now".equalsIgnoreCase(p.initial))
                            {
-                              init = datetimetz.now();
+                              init = new character(p.initial);
                            }
                            else if (p.initial.toUpperCase().indexOf('T') > 0)
                            {

=== modified file 'src/com/goldencode/p2j/persist/serial/XmlImport.java'
--- src/com/goldencode/p2j/persist/serial/XmlImport.java	2022-10-14 12:38:17 +0000
+++ src/com/goldencode/p2j/persist/serial/XmlImport.java	2022-10-18 08:45:19 +0000
@@ -42,6 +42,7 @@
 **     OM  20220914 Use MAX-WIDTH to generate custom sized varchar columns.
 **     IAS 20220926 Fixed READ-XMLSCHEMA support.
 **     IAS 20221014 More fixes to READ-XMLSCHEMA support.
+**     IAS 20221018 Fixed processing of 'now' and 'today' INITIAL attribute value.
 */
 
 /*
@@ -1866,19 +1867,30 @@
                               // Unable to set initial value '<value>' from XML Schema for field '<field>'.
                               return false;
                            }
-                           
-                           try
-                           {
-                              Constructor<? extends BaseDataType> ctor = 
-                                 (Constructor<? extends BaseDataType>) fwdType.getConstructor(String.class);
-                              defVal = ctor.newInstance(defaultStrVal);
-                           }
-                           catch (NoSuchMethodException | IllegalAccessException | 
-                                  InstantiationException | InvocationTargetException e)
-                           {
-                              ErrorManager.recordOrShowError(13143, defaultStrVal, fieldName);
-                              // Unable to set initial value '<value>' from XML Schema for field '<field>'.
-                              return false;
+                           if (fwdType == date.class && "today".equalsIgnoreCase(defaultStrVal))
+                           {
+                                defVal = new character("today"); 
+                           }
+                           else if ((fwdType == datetime.class || fwdType == datetimetz.class) &&
+                                     "now".equalsIgnoreCase(defaultStrVal))
+                           {
+                              defVal = new character("now"); 
+                           }
+                           else
+                           {
+                              try
+                              {
+                                 Constructor<? extends BaseDataType> ctor = 
+                                    (Constructor<? extends BaseDataType>) fwdType.getConstructor(String.class);
+                                 defVal = ctor.newInstance(defaultStrVal);
+                              }
+                              catch (NoSuchMethodException | IllegalAccessException | 
+                                     InstantiationException | InvocationTargetException e)
+                              {
+                                 ErrorManager.recordOrShowError(13143, defaultStrVal, fieldName);
+                                 // Unable to set initial value '<value>' from XML Schema for field '<field>'.
+                                 return false;
+                              }
                            }
                         }
                         

