diff --git a/foxbin2prg.prg b/foxbin2prg.prg index d35ecdf..9bcdc3d 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -226,8 +226,9 @@ * 01/04/2020 FDBOZZO v1.19.51 Bug Fix: La conversión de tablas falla si algún campo contiene una palabra reservada como UNIQUE (DAJU78) * 01/04/2020 FDBOZZO v1.19.51 Bug Fix: No se respetan las propiedades de VCX/SCX con nombre "note" (Tracy Pearson) -* 14/02/2021 Lutz Scheffler conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) +* 14/02/2021 Lutz Scheffler conversion prg -> dbf, fields with .NULL. value are incorectly recreated * minor translations +* 14/02/2021 Lutz Scheffler conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) * 14/02/2021 Lutz Scheffler inserted option UseFilesPerDBC to split DBC processing from vcx / scx * xx/xx/2021 Lutz Scheffler inserted option UseDBFPerDBC to create tables by selecting DBC only * @@ -25187,8 +25188,20 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE lcFieldType = loField._Type llNoCPTran = CAST( loField._NoCPTran as Logical) +*!* Changed by: Lutz Scheffler 14.2.2021 +*!* change date="{^2021-02-14,20:35:00}" +* Does not recreate .NULL. Field values +* CAST(.. does not tronsform ".NULL." to .NULL. +* so we test field for NULL flag and is cValue is ".NULL.", we use .NULL. + llNull = CAST( loField._Null as Logical) + DO CASE + CASE m.llNull AND UPPER(m.lcValue)=='.NULL.' && .NULL. + luValue = .NULL. + +*!* /Changed by: Lutz Scheffler 14.2.2021 + CASE lcFieldType == 'L' && Logical (Boolean) luValue = CAST(lcValue as Logical)