Kbase P143438: 4GL/ABL: What does the number at the end of the .d file dumped by the Data Administration Tool indic
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  23/03/2009 |
|
Status: Unverified
GOAL:
4GL/ABL: What does the number at the end of the .d file dumped by the Data Administration Tool indicate?
GOAL:
Does the number at the end of the .d file dumped by the Data Administration Tool indicate the number of character in the file?
GOAL:
How is the number at the end of the .d file dumped by the Data Administration Tool calculated?
GOAL:
Where is the source file of the code that shows that calculation?
GOAL:
Why is the number at the end of the .d file dumped by the Data Administration Tool sometimes indicated as '?' i.e. unknown ?
FACT(s) (Environment):
All Supported Operating Systems
Progress 8.x
Progress 9.x
OpenEdge 10.x
FIX:
The number at the end of the .d file trailer is not the count of characters in the file. It is the value returned by the SEEK function after outputting the period and the carriage return and a line feed character after the last period character just before the 'PCS' string that appears at the .d file trailer. This value includes invisible characters like the Carriage Returns and line feeds. It is the number of the bytes in that file since its beginning up to that position plus one.
Since text file formats differ on each machine, the SEEK function does not necessarily return a number that is meaningful except to the SEEK function and the SEEK statement. This value is calculated by the SEEK function after outputting the period and a SKIP character at the end of the .d file just before outputting the 'PCS' string line.
The source code of this calculation is the dmptrail.i include file which is called from the _dmpdata.p procedure. Both of these files are in the DLC\src\prodict\dump directory.
The value returned by the SEEK function in this context is sometime unknown ? value due to some error. For example, when the file is too large causing the value to exceed the maximum valid integer number.