Uniface IDF stores last-modified timestamps (UTIMESTAMP) and last-compiled timestamp (UCOMPSTAMP) with the data, which by default UD6 stores with the XML.
To avoid having timestamps stored in the XML files is a bit more complex than it seems at first glance, and best left until after you have UD6 initially working (with timestamps stored in XML).
There are 4 (or 5 if using Uniface 9.6) parts to removing timestamps from the source code:
- remove the last updated time (UTIMESTAMP)
- when the record is read into IDF, fill the missing UTIMESTAMP with something, eg: the date/time stamp
on the XML file
- remove the last compiled time (UCOMPSTAMP)
- when the record is read into IDF, fill the missing UCOMPSTAMP with something, eg: the date/time
stamp on the compiled .frm file
- if using Uniface 9.6 then there are known cases where the IDF will write a file with a UTIMESTAMP or a
UCOMPSTAMP that is 'not current'. eg: the timestamp is 13:04:01 but the current time is 13:04:02. If
UD6 discards the UTIMESTAMP or UCOMPSTAMP then supplies the 'actual' file time/date stamp when the
record is 'read' by the IDF - then Uniface considers that the record has 'changed' and will 'reload' it
resulting in a delay (or in the case of 'test' a compiled form a dialog box). To prevent this we can 'cache'
in memory the 'false time' and pass that back to Uniface in subsequent reads rather than the 'accurate
time'.
Note: for UD6 to read the timestamps from the compiled components, they need to be stored 'locally' to the UD6 instance.
Here are some example settings:
USYS$UD6_PARAMS = compiledate cache file, makefiles enable wait filename .\makefile.mak, asnfile
.\UD6.asn, notimestamp all, nocompstamp enable, forcedate cache file, mmf files 1024, config
C:\usys72\Bin, option pack C:\usys72\Bin\mhgfp140.dll
Initial TIMESTAMPs.
If you configure UD6 to remove the TIMESTAMPs from the XML files, when you import your source, all the timestamps will now be the import time/date.
If you are using UD6 on Windows to import your source, you can use the forcedate cache set
setting to automatically set the last modified date/time of the XML file to the date/time Uniface supplies in the UTIMESTAMP field:
USYS$UD6_PARAMS = compiledate cache file, makefiles enable wait filename .\makefile.mak, asnfile
.\UD6.asn, notimestamp all, nocompstamp enable, forcedate cache set, mmf files 1024, config
C:\usys72\Bin, option pack C:\usys72\Bin\mhgfp140.dll
Only use the forcedate cache set
setting during import. After the import is complete, change the setting to forcedate cache file
Steps to installing UD6
Step 1 |
Modify your configuration file(s) to load UD6 DLL. |
Step 2 |
Modify ASN [SETTINGS] and [DRIVER_SETTINGS]. |
Step 3 |
UD6 configuration files. |
Step 4 |
Modify ASN [PATHS] and [ENTITIES]. |
Step 5 |
Initialise the UD6/CMtool repository. |
Step 6 |
Prepare repository export. |
Step 7 |
Import repository into UD6/CMtool. |
Step 9 |
Uniface 10.2.2 Example. |
$Revision: 1.4 $ $Date: 2018/06/11 12:55:21 $ | [go to top] |