Decimal Places Disappearing (literally!)

Decimal Places Disappearing (literally!)

Post by psilva6969 » Wed, 03 Sep 2003 23:21:32

I have a complicated problem and I'm running out of ideas to solve it.
I'll try to describe it shortly:
I have a D4 app (which uses BDE and SQL Links to connect to an
Informix DS 7.30 DB Server) wich previews a QuickReport 3.0.8 Prof.
On this app. I have a form for editing table data on which one of its
columns has 2 decimal places. The DB column is of type DECIMAL:

CREATE TABLE informix.rh_rf_item_sopval (
item_sop CHAR(4) NOT NULL,
codrest CHAR(1) NOT NULL,
valor_sop DECIMAL(8,2) NOT NULL,
data_act DATE NOT NULL,
codoper CHAR(8) NOT NULL

Delphi and BDE sees this column as:
ODS: SQL Data Out: INFORMIX - Column = 3, Name = valor_sop, Type =
fldFLOAT, Precision = 8, Scale = 2, Data = 0.000000 Process ID:

The decimal places are correctly stored on the DB server. The 2
relevant decimal places appear on DBgrids and DBedits correctly.
After I preview the report (QR 3.0.8) and press a button wich exports
the report to PDF (via Pragnaan export filters) and sends an e-mail
(via MAPI services, MapiLogon, MapiSendMail and MapiLogoff), the
decimal places on DBgrids and DBedits do disappear (values begin to be
retrieved TRUNCATED):
0.01 becomes 0.00, 1.55 becomes 1 and so on.

During this process, there are 3 DLLs being loaded (2 from Pragnaan
and 1 from MAPI services I presume):
IMM32.DL load
CONTAB32.DLL unload
ROUT66AB.DLL unload

The only way to see the decimal places is to close the program and
reexecute it!
Has anyone experienced such a strange situation like this?

You can e-mail me directly to XXXX@XXXXX.COM after
removing the dashes and the no spam part on this e-mail.

THX in advance for any help on this.

Decimal Places Disappearing (literally!)

Post by psilva6969 » Thu, 04 Sep 2003 18:37:35

On another NG someone suggested that this could be a display only
problem but it is not the case.

I hope so, because debugging via assembly can be the next step to
Values on "SQL monitor" come truncated (Precision = 2 but 0.01 on the
DBMS comes as 0.00 and is shown on grids as "0.00").
The problem seems to arise from the client part of Informix (or the
SQL Link SQLINF32.DLL) but I'm running out of ideas. This happens when
the outlook "choose profile" dialog appears. If this dialog fails to
appear the problem won't arise. If the dialog appears and is cancelled
the problem happens. I guess I'll follow someone's advice (break code
or reproduce code on an empty program).

Thx for any feedback.
P. Silva
P.S.: You can e-mail me directly to XXXX@XXXXX.COM after
removing the dashes and the no spam part on this e-mail.