Report not working after upgrade from 9.x to 11.05
I've assumed a development of a product which incorporates ReportBuilder
and I recently upgraded it from 9.x to 11.05 so I'm not that familiar
with the product as of yet.
A customer recently reported a bug where a report which ran in 9.x does
not run in 11.05. This report uses customer derived DataPipelines
linked to the main table. One of these linked pipelines performs summaries.
The problem appears to be a change in naming conventions for when I run
it within Delphi, I am getting a Field not found error when trying to
resolve a DBText field as well as some TppVariable fields.
I'm still working through trying to understand what is going on (I
rebuilt the packages to enable debug) but have yet figured it out.
The following screen shot shows what appears to be the change in naming
conventions for the DataFields for the Data Pipeline which implements
the sums and it this field where I get the exception on unknown field name.
http://img.photobucket.com/albums/v213/ArvinGirl/RBuilder/report_error_old_new.jpg
and I recently upgraded it from 9.x to 11.05 so I'm not that familiar
with the product as of yet.
A customer recently reported a bug where a report which ran in 9.x does
not run in 11.05. This report uses customer derived DataPipelines
linked to the main table. One of these linked pipelines performs summaries.
The problem appears to be a change in naming conventions for when I run
it within Delphi, I am getting a Field not found error when trying to
resolve a DBText field as well as some TppVariable fields.
I'm still working through trying to understand what is going on (I
rebuilt the packages to enable debug) but have yet figured it out.
The following screen shot shows what appears to be the change in naming
conventions for the DataFields for the Data Pipeline which implements
the sums and it this field where I get the exception on unknown field name.
http://img.photobucket.com/albums/v213/ArvinGirl/RBuilder/report_error_old_new.jpg
This discussion has been closed.
Comments
Are the datapipelines/datasets being created inside ReportBuilder using the
data workspace (DADE) or do they reside outside the report on a form or
datamodule?
If the queries and pipelines are in Delphi note that the report simply
retrieves the field names from the query. If those field names do not match
the name saved down with the template, an error will occur. If the field
names in the datasets have changed (or new datasets have been created) the
templates will need to be updated to reflect these changes.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
After a week of research (and rebuilding RBuilder to support more
efficient debug) I've discovered the problem.
The problem is in daMagicSQL, TdaMagicSQL.UpdateSQLFieldNames
In 11.05 the code is
procedure TdaMagicSQL.UpdateSQLFieldNames;
var
liIndex: Integer;
lField: TdaField;
begin
for liIndex := 0 to FMagicFields.Count - 1 do
begin
lField := TdaField(FMagicFields[liIndex]);
lField.SQLFieldName := GetMagicAlias(lField);
end;
end
while in 9.03 the code is
procedure TdaMagicSQL.UpdateSQLFieldNames;
var
liIndex: Integer;
lField: TdaField;
begin
for liIndex := 0 to FMagicFieldCount - 1 do
begin
lField := SelectFields[liIndex];
lField.SQLFieldName := GetMagicAlias(lField);
end;
for liIndex := 0 to CalcFieldCount - 1 do
begin
lField := CalcFields[liIndex];
lField.SQLFieldName := GetMagicAlias(lField);
end;
end;
It is the lines:
for liIndex := 0 to CalcFieldCount - 1 do
begin
lField := CalcFields[liIndex];
lField.SQLFieldName := GetMagicAlias(lField);
end;
in the 9.03 code which is correctly renaming the SQLFieldName which
allows the report to run correctly.
Any idea why this was removed for 11.05?
Try updating to RB 11.06 and then re-test.
If you still have an issue, please create an example project that we can
build and run here using the debugger. Use standard Delphi components and
ReportBuilder. If possible use the DBDemos data. Send in zip format to
support@ and we can check it out here.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Thanks for providing the example.
In my testing here, I can build and run the project without any issues. No
errors/exceptions are displayed.
I am using D2007 and DBISAM 4.25 Build 4.
Try updating your DBISAM version.
Make sure you are using RB 11.06 and do not have corrupt installation
Try downloading the latest install from our web site and prior to
installation, follow these steps.
http://www.digital-metaphors.com/rbWiki/General/Installation/Cleaning_Up_a_Corrupt_Install
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
these issues). One for 9.03, the the other for 11.06
I build the sample on 9.03 and it works.
I build the sample on 11.06 it doesn't.
The application where this problem was discovered (by a customer) was
built on a separate machine.
CC: Tom Jacobs (Exact Software)
CC: ElevateSoft Support (FYI only)
I took the trouble to try the sample app out in the configuration as you
described.
Clean install of Delphi, RBuilder, and DBISAM 4.26 Build 3 on D2007
(even though I use D7)
RBuilder and DBISAM are the only components installed.
I still have the same issue demonstrated.
What do I have to do to escalate this?
Mark
Thanks for the feedback.
This is in the queue to be researched further. I will post a follow up here.
Please post to a single destination. Please do not crosspost and do not post
to the newsgroups and then also send to support@.
Best regards,
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com