Home » Archived » BIRT » good fit for BIRT?
| good fit for BIRT? [message #41803] |
Tue, 31 May 2005 18:28  |
Eclipse User |
|
|
|
Hello,
I just discovered BIRT today and have spent a few hours poking around. I'm
looking for a reporting tool that can handle complex government forms, such
as the one attached. (Sorry about the attachments being screen shots.
The real PDF is too big to be posted on the newserver.)
I'm assuming that - right now - the answer is no. But
do you think it might eventually work through the development of BIRT
extensions? (Another way to think about the question is whether or not
complex forms is a fit for where you think BIRT is heading.)
A little background might be useful here. I'm a Java developer and have
inherited these reports as part of my responsibilities. The output of these
forms is essential to the system, but it is also the most brittle part. The
brittleness stems from two reasons: (1) the original programmer lacked a
good understanding of the commercial reporting tool and (2) there is simply
no way for me to get into the code to extend the tool for our distinct
needs. And so I do crazy stuff such as intercepting the PDF code in a
custom servlet, calculating text matrixes and drawing underlines or
adjusting coordinates. It was fun to hack the PDF, but it
is not a good long-term solution.
I've spent a lot of time researching tools to create these forms, and I
haven't found anything that was a really good fit. I've asked around on
other projects who are doing similar complex gov't forms and there is no
standard. They just make-do with what they've got and pass it off as a
great custom-built solution. If BIRT could be extended to handle this type
of report (form), it could tap into a big pent-up demand. I agree 100% with
the point in the PPT (slide 4) that embedded reporting is a "key J2EE
application development pain-point" !!!
I'm very interested to hear your thoughts about this. Thanks in advance.
Chris
|
|
| |
| Re: good fit for BIRT? [message #42394 is a reply to message #42366] |
Thu, 02 June 2005 21:58   |
Eclipse User |
|
|
|
Originally posted by: qauck.msn.com
Chris,
What's the datasource type for your application? If that's just a
standard Master-Detail relation table, Birt can absolutely fullfill this
requirement. Feel free to check the "Group" feature for table and the
aggregation functoins in the expression builder.
HTH.
Chris Downey wrote:
> Well I just found something that could help me answer this... the Release
> 1.0 Requirements. In the meantime, does anybody have some thoughts on
> this?
>
>
> "Chris Downey" <cdowney@gmail.com> wrote in message
> news:d7iop7$hd4$2@news.eclipse.org...
>
>>Hello,
>>
>>I just discovered BIRT today and have spent a few hours poking around.
>>I'm
>>looking for a reporting tool that can handle complex government forms,
>>such
>>as the one attached. (Sorry about the attachments being screen shots.
>>The real PDF is too big to be posted on the newserver.)
>>
>>I'm assuming that - right now - the answer is no. But
>>do you think it might eventually work through the development of BIRT
>>extensions? (Another way to think about the question is whether or not
>>complex forms is a fit for where you think BIRT is heading.)
>>
>>A little background might be useful here. I'm a Java developer and have
>>inherited these reports as part of my responsibilities. The output of
>>these
>>forms is essential to the system, but it is also the most brittle part.
>>The
>>brittleness stems from two reasons: (1) the original programmer lacked a
>>good understanding of the commercial reporting tool and (2) there is
>>simply
>>no way for me to get into the code to extend the tool for our distinct
>>needs. And so I do crazy stuff such as intercepting the PDF code in a
>>custom servlet, calculating text matrixes and drawing underlines or
>>adjusting coordinates. It was fun to hack the PDF, but it
>>is not a good long-term solution.
>>
>>I've spent a lot of time researching tools to create these forms, and I
>>haven't found anything that was a really good fit. I've asked around on
>>other projects who are doing similar complex gov't forms and there is no
>>standard. They just make-do with what they've got and pass it off as a
>>great custom-built solution. If BIRT could be extended to handle this
>>type
>>of report (form), it could tap into a big pent-up demand. I agree 100%
>>with
>>the point in the PPT (slide 4) that embedded reporting is a "key J2EE
>>application development pain-point" !!!
>>
>>
>>
>>I'm very interested to hear your thoughts about this. Thanks in advance.
>>
>>
>>
>>
>>
>>Chris
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
|
|
|
| Re: good fit for BIRT? [message #42423 is a reply to message #42394] |
Fri, 03 June 2005 00:22   |
Eclipse User |
|
|
|
Shawn,
Thanks for the tips. We're pulling from Oracle using the thin driver.
Chris
"Shawn Qualia" <qauck@msn.com> wrote in message
news:d7odg7$chm$1@news.eclipse.org...
> Chris,
>
> What's the datasource type for your application? If that's just a
> standard Master-Detail relation table, Birt can absolutely fullfill this
> requirement. Feel free to check the "Group" feature for table and the
> aggregation functoins in the expression builder.
>
> HTH.
>
> Chris Downey wrote:
> > Well I just found something that could help me answer this... the
Release
> > 1.0 Requirements. In the meantime, does anybody have some thoughts on
> > this?
> >
> >
> > "Chris Downey" <cdowney@gmail.com> wrote in message
> > news:d7iop7$hd4$2@news.eclipse.org...
> >
> >>Hello,
> >>
> >>I just discovered BIRT today and have spent a few hours poking around.
> >>I'm
> >>looking for a reporting tool that can handle complex government forms,
> >>such
> >>as the one attached. (Sorry about the attachments being screen shots.
> >>The real PDF is too big to be posted on the newserver.)
> >>
> >>I'm assuming that - right now - the answer is no. But
> >>do you think it might eventually work through the development of BIRT
> >>extensions? (Another way to think about the question is whether or not
> >>complex forms is a fit for where you think BIRT is heading.)
> >>
> >>A little background might be useful here. I'm a Java developer and have
> >>inherited these reports as part of my responsibilities. The output of
> >>these
> >>forms is essential to the system, but it is also the most brittle part.
> >>The
> >>brittleness stems from two reasons: (1) the original programmer lacked
a
> >>good understanding of the commercial reporting tool and (2) there is
> >>simply
> >>no way for me to get into the code to extend the tool for our distinct
> >>needs. And so I do crazy stuff such as intercepting the PDF code in a
> >>custom servlet, calculating text matrixes and drawing underlines or
> >>adjusting coordinates. It was fun to hack the PDF, but it
> >>is not a good long-term solution.
> >>
> >>I've spent a lot of time researching tools to create these forms, and I
> >>haven't found anything that was a really good fit. I've asked around on
> >>other projects who are doing similar complex gov't forms and there is no
> >>standard. They just make-do with what they've got and pass it off as a
> >>great custom-built solution. If BIRT could be extended to handle this
> >>type
> >>of report (form), it could tap into a big pent-up demand. I agree 100%
> >>with
> >>the point in the PPT (slide 4) that embedded reporting is a "key J2EE
> >>application development pain-point" !!!
> >>
> >>
> >>
> >>I'm very interested to hear your thoughts about this. Thanks in
advance.
> >>
> >>
> >>
> >>
> >>
> >>Chris
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
|
|
|
| Re: good fit for BIRT? [message #42502 is a reply to message #41803] |
Fri, 03 June 2005 05:02   |
Eclipse User |
|
|
|
Hi Chris,
The following design files are created according to your attached
screenshots.
Cheers.
Regards,
Nina
-------------------Form1---------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!-- Written by Eclipse BIRT 1.0 -->
<report xmlns=" http://www.eclipse.org/birt/2005/design" version="1">
<property name="createdBy">Eclipse BIRT Designer Version 1.0.0 Build
<20050531-0733></property>
<property name="units">in</property>
<data-sources>
<script-data-source name="Data Source"/>
</data-sources>
<data-sets>
<script-data-set name="Data Set">
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CompanyName</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">Date</property>
<property name="dataType">date-time</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">Installation</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">Location</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">Title</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">Element</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">CategoryCode</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">ProjectNumber</property>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">CompanyName</property>
</structure>
<structure>
<property name="columnName">Date</property>
</structure>
<structure>
<property name="columnName">Installation</property>
</structure>
<structure>
<property name="columnName">Location</property>
</structure>
<structure>
<property name="columnName">Title</property>
</structure>
<structure>
<property name="columnName">Element</property>
</structure>
<structure>
<property name="columnName">CategoryCode</property>
</structure>
<structure>
<property name="columnName">ProjectNumber</property>
</structure>
</list-property>
<method name="open"><![CDATA[i = 0;
sourcedata = new Array(8);
sourcedata[0] = "AR";
sourcedata[1] = "3/1/2005";
sourcedata[2] = "St Petersburg AFRC";
sourcedata[3] = "St.Petersburg, FL";
sourcedata[4] = "St. Petersburg AFRC Phase II";
sourcedata[5] = "0505978A";
sourcedata[6] = 171;
sourcedata[7] = "CAR 07-111N";]]></method>
<method name="fetch"><![CDATA[if ( i < 1 ){
row["CompanyName"] = sourcedata[0];
row["Date"] = sourcedata[1];
row["Installation"] = sourcedata[2];
row["Location"] = sourcedata[3];
row["Title"] = sourcedata[4];
row["Element"] = sourcedata[5];
row["CategoryCode"] = sourcedata[6];
row["ProjectNumber"] = sourcedata[7];
i++;
return true;
} else
return false;]]></method>
</script-data-set>
<script-data-set name="Data Set1">
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">FacilityLine</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">Facilities</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">U/M</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">Quantity</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">UnitCost</property>
<property name="dataType">float</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">FacilityLine</property>
</structure>
<structure>
<property name="columnName">Facilities</property>
</structure>
<structure>
<property name="columnName">U/M</property>
</structure>
<structure>
<property name="columnName">Quantity</property>
</structure>
<structure>
<property name="columnName">UnitCost</property>
</structure>
</list-property>
<method name="open"><![CDATA[i = 0;
sourcedata = new Array( new Array(5),
new Array(5),
new Array(5),
new Array(5),
new Array(5),
new Array(5),
new Array(5),
new Array(5),
new Array(5));
sourcedata[0][0] = "PRIMARY FACILITIES";
sourcedata[0][1] = "Training Building";
sourcedata[0][2] = "SF";
sourcedata[0][3] = 216424;
sourcedata[0][4] = 96.34;
sourcedata[1][0] = "PRIMARY FACILITIES";
sourcedata[1][1] = "Maintenance Building";
sourcedata[1][2] = "SF";
sourcedata[1][3] = 6718;
sourcedata[1][4] = 107.16;
sourcedata[2][0] = "PRIMARY FACILITIES";
sourcedata[2][1] = "Unheadted Storage";
sourcedata[2][2] = "SF";
sourcedata[2][3] = 7920;
sourcedata[2][4] = 64.52;
sourcedata[3][0] = "PRIMARY FACILITIES";
sourcedata[3][1] = "Antiterrorism/Force Protection";
sourcedata[3][2] = "LS";
sourcedata[3][3] = 0;
sourcedata[3][4] = 0;
sourcedata[4][0] = "PRIMARY FACILITIES";
sourcedata[4][1] = "Land Acquisition";
sourcedata[4][2] = "SF";
sourcedata[4][3] = 261360;
sourcedata[4][4] = 9.57;
sourcedata[5][0] = "SUPPORTING FACILITIES";
sourcedata[5][1] = "Telecommunications";
sourcedata[5][2] = "LS";
sourcedata[5][3] = 0;
sourcedata[5][4] = 0;
sourcedata[6][0] = "SUPPORTING FACILITIES";
sourcedata[6][1] = "Site Prep/Utilities/Landscaping";
sourcedata[6][2] = "LS";
sourcedata[6][3] = 0;
sourcedata[6][4] = 0;
sourcedata[7][0] = "SUPPORTING FACILITIES";
sourcedata[7][1] = "Energy Management System";
sourcedata[7][2] = "LS";
sourcedata[7][3] = 0;
sourcedata[7][4] = 0;
sourcedata[8][0] = "SUPPORTING FACILITIES";
sourcedata[8][1] = "Force Protection";
sourcedata[8][2] = "LS";
sourcedata[8][3] = 0;
sourcedata[8][4] = 0;]]></method>
<method name="fetch"><![CDATA[if (i < 8)
{
row["FacilityLine"] = sourcedata[i][0];
row["Facilities"] = sourcedata[i][1];
row["U/M"] = sourcedata[i][2];
row["Quantity"] = sourcedata[i][3];
row["UnitCost"] = sourcedata[i][4];
i ++;
return true;
}
else
return false;]]></method>
</script-data-set>
</data-sets>
<styles>
<style name="Border">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">thin</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">thin</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">thin</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">thin</property>
</style>
<style name="Font">
<property name="fontFamily">Arial</property>
<property name="fontSize">smaller</property>
<property name="fontWeight">normal</property>
</style>
<style name="Data">
<property name="fontFamily">monospace</property>
</style>
<style name="Number">
<property name="fontFamily">monospace</property>
<property name="textAlign">right</property>
<expression name="mapTestExpr">row["Quantity"]</expression>
<list-property name="mapRules">
<structure>
<property name="operator">eq</property>
<expression name="value1">0</expression>
<text-property name="display">-</text-property>
</structure>
</list-property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage">
<property name="type">a4</property>
<property name="leftMargin">0.34in</property>
<property name="bottomMargin">1in</property>
<property name="rightMargin">0.34in</property>
<page-footer>
<text>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<value-of>new
Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<grid>
<property name="width">100%</property>
<property name="dataSet">Data Set</property>
<column>
<property name="width">1.33in</property>
</column>
<column>
<property name="width">4.97in</property>
</column>
<column>
<property name="width">1.55in</property>
</column>
<row>
<cell>
<property name="style">Border</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.2cm</property>
<property name="paddingBottom">0.2cm</property>
<property name="textAlign">left</property>
<text-property name="text">1.
COMPONENT</text-property>
</label>
<data>
<property name="style">Data</property>
<property name="paddingBottom">0.2cm</property>
<expression
name="valueExpr">row["CompanyName"]</expression>
</data>
</cell>
<cell>
<property name="style">Border</property>
<label>
<property name="style">Font</property>
<property name="fontFamily">Arial</property>
<property name="fontSize">large</property>
<property name="fontWeight">bold</property>
<property name="textAlign">center</property>
<text-property name="text">FY 2007 MILITARY
CONSTRUCTION PROJECT DATA</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.2cm</property>
<property name="paddingBottom">0.2cm</property>
<text-property name="text">2. DATE</text-property>
</label>
<data>
<property name="style">Data</property>
<property name="paddingBottom">0.2cm</property>
<structure name="dateTimeFormat">
<property name="category">Custom</property>
<property name="pattern">MMM dd</property>
</structure>
<expression
name="valueExpr">row["Date"]</expression>
</data>
</cell>
</row>
</grid>
<grid>
<property name="width">100%</property>
<property name="dataSet">Data Set</property>
<column>
<property name="width">4.3in</property>
</column>
<column>
<property name="width">3.55in</property>
</column>
<row>
<cell>
<property name="style">Border</property>
<property name="borderBottomColor">#000000</property>
<property name="borderBottomStyle">none</property>
<property name="borderBottomWidth">thin</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.2cm</property>
<text-property name="text">3. INSTALLATION AND
LOCATION</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<property name="borderBottomColor">#000000</property>
<property name="borderBottomStyle">none</property>
<property name="borderBottomWidth">thin</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.2cm</property>
<text-property name="text">4. PROJECT
TITLE</text-property>
</label>
</cell>
</row>
<row>
<cell>
<property name="style">Border</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<text>
<property name="style">Data</property>
<property name="contentType">html</property>
<text-property
name="content"><![CDATA[<VALUE-OF>row["Installation"]</VALUE-OF ><br>
<VALUE-OF>row["Location"]</VALUE-OF>]]></text-property >
</text>
</cell>
<cell>
<property name="style">Border</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<property name="verticalAlign">middle</property>
<data>
<property name="style">Data</property>
<expression
name="valueExpr">row["Title"]</expression>
</data>
</cell>
</row>
</grid>
<grid>
<property name="width">100%</property>
<property name="dataSet">Data Set</property>
<column>
<property name="width">1.9in</property>
</column>
<column>
<property name="width">1.9in</property>
</column>
<column>
<property name="width">1.9in</property>
</column>
<column>
<property name="width">2.15in</property>
</column>
<row>
<cell>
<property name="style">Border</property>
<property name="borderBottomColor">#000000</property>
<property name="borderBottomStyle">none</property>
<property name="borderBottomWidth">thin</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.2cm</property>
<property name="paddingBottom">0.2cm</property>
<text-property name="text">5. PROGRAM
ELEMENT</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<property name="borderBottomColor">#000000</property>
<property name="borderBottomStyle">none</property>
<property name="borderBottomWidth">thin</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.2cm</property>
<property name="paddingBottom">0.2cm</property>
<text-property name="text">6. CATEGORY
CODE</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<property name="borderBottomColor">#000000</property>
<property name="borderBottomStyle">none</property>
<property name="borderBottomWidth">thin</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.2cm</property>
<property name="paddingBottom">0.2cm</property>
<text-property name="text">7. PROJECT
NUMBER</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<property name="borderBottomColor">#000000</property>
<property name="borderBottomStyle">none</property>
<property name="borderBottomWidth">thin</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.2cm</property>
<property name="paddingBottom">0.2cm</property>
<text-property name="text">8. PROJECT COST
($000)</text-property>
</label>
</cell>
</row>
<row>
<cell>
<property name="style">Border</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<data>
<property name="style">Data</property>
<expression
name="valueExpr">row["Element"]</expression>
</data>
</cell>
<cell>
<property name="style">Border</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<data>
<property name="style">Data</property>
<expression
name="valueExpr">row["CategoryCode"]</expression>
</data>
</cell>
<cell>
<property name="style">Border</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<data>
<property name="style">Data</property>
<expression
name="valueExpr">row["ProjectNumber"]</expression>
</data>
</cell>
<cell>
<property name="style">Border</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
</cell>
</row>
</grid>
<table>
<property name="width">100%</property>
<property name="dataSet">Data Set1</property>
<column>
<property name="width">4in</property>
</column>
<column>
<property name="width">0.5in</property>
</column>
<column>
<property name="width">1in</property>
</column>
<column>
<property name="width">0.95in</property>
</column>
<column>
<property name="width">1.4in</property>
</column>
<header>
<row>
<cell>
<property name="colSpan">5</property>
<property name="rowSpan">1</property>
<property name="style">Border</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">none</property>
<property name="borderTopWidth">thin</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.1cm</property>
<property name="textAlign">center</property>
<text-property name="text">9. COST
ESTIMATES</text-property>
</label>
</cell>
</row>
<row>
<cell>
<property name="colSpan">1</property>
<property name="rowSpan">1</property>
<property name="style">Border</property>
<property name="verticalAlign">middle</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="textAlign">center</property>
<text-property name="text">ITEM</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<property name="verticalAlign">middle</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="textAlign">center</property>
<text-property name="text">U/M</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<property name="verticalAlign">middle</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="textAlign">center</property>
<text-property
name="text">QUANTITY</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<property name="verticalAlign">middle</property>
<label>
<property name="style">Font</property>
<property name="paddingTop">0.2cm</property>
<property name="textAlign">center</property>
<text-property name="text">UNIT
COST</text-property>
</label>
</cell>
<cell>
<property name="style">Border</property>
<text>
<property name="style">Font</property>
<property name="textAlign">center</property>
<property name="contentType">plain</property>
<text-property name="content"><![CDATA[COST
($000)]]></text-property>
</text>
</cell>
</row>
</header>
<group>
<property name="groupName">FacilityLine</property>
<property name="interval">none</property>
<property name="sortDirection">asc</property>
<expression name="keyExpr">row["FacilityLine"]</expression>
<header>
<row>
<cell>
<property
name="borderLeftColor">#000000</property>
<property
name="borderLeftStyle">solid</property>
<property
name="borderLeftWidth">thin</property>
<property
name="borderRightColor">#000000</property>
<property
name="borderRightStyle">solid</property>
<property
name="borderRightWidth">thin</property>
<property name="paddingTop">0.2cm</property>
<property name="paddingLeft">0.4cm</property>
<property name="paddingBottom">0.2cm</property>
<data>
<property name="style">Data</property>
<property
name="textUnderline">underline</property>
<expression
name="valueExpr">row["FacilityLine"]</expression>
</data>
</cell>
<cell>
<property
name="borderRightColor">#000000</property>
<property
name="borderRightStyle">solid</property>
<property
name="borderRightWidth">thin</property>
</cell>
<cell>
<property
name="borderRightColor">#000000</property>
<property
name="borderRightStyle">solid</property>
<property
name="borderRightWidth">thin</property>
</cell>
<cell>
<property
name="borderRightColor">#000000</property>
<property
name="borderRightStyle">solid</property>
<property
name="borderRightWidth">thin</property>
</cell>
<cell>
<property
name="borderRightColor">#000000</property>
<property
name="borderRightStyle">solid</property>
<property
name="borderRightWidth">thin</property>
<data>
<property name="style">Data</property>
<property
name="textUnderline">underline</property>
<structure name="numberFormat">
<property
name="category">Custom</property>
<property name="pattern">###</property>
</structure>
<property name="textAlign">right</property>
<expression
name="valueExpr">Total.sum(row["Quantity"]*row["UnitCost "]/1000)</expression>
</data>
</cell>
</row>
</header>
<footer>
<row>
<cell/>
<cell/>
<cell/>
<cell/>
<cell/>
</row>
</footer>
</group>
<detail>
<row>
<cell>
<property name="borderLeftColor">#000000</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">thin</property>
<property name="paddingLeft">0.8cm</property>
<data>
<property name="style">Data</property>
<expression
name="valueExpr">row["Facilities"]</expression>
</data>
</cell>
<cell>
<property name="borderLeftColor">#000000</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">thin</property>
<property name="textAlign">center</property>
<data>
<property name="style">Data</property>
<expression
name="valueExpr">row["U/M"]</expression>
</data>
</cell>
<cell>
<property name="borderLeftColor">#000000</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">thin</property>
<property name="textAlign">right</property>
<data>
<property name="style">Number</property>
<structure name="numberFormat">
<property name="category">Custom</property>
<property name="pattern">###,##0</property>
</structure>
<expression
name="valueExpr">row["Quantity"]</expression>
</data>
</cell>
<cell>
<property name="borderLeftColor">#000000</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">thin</property>
<property name="textAlign">right</property>
<data>
<property name="style">Number</property>
<structure name="numberFormat">
<property
name="category">Currency</property>
<property name="pattern">###0.00</property>
</structure>
<expression
name="valueExpr">row["UnitCost"]</expression>
</data>
</cell>
<cell>
<property name="borderLeftColor">#000000</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">thin</property>
<property
name="borderRightColor">#000000</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">thin</property>
<property name="textAlign">right</property>
<data>
<property name="style">Data</property>
<structure name="numberFormat">
<property name="category">Custom</property>
<property name="pattern">###</property>
</structure>
<property name="textAlign">right</property>
<property name="display">inline</property>
<expression
name="valueExpr">row["Quantity"]*row["UnitCost"]/1000</expression >
</data>
</cell>
</row>
</detail>
<footer>
<row>
<cell>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">thin</property>
</cell>
<cell>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">thin</property>
</cell>
<cell>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">thin</property>
</cell>
<cell>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">thin</property>
</cell>
<cell>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">thin</property>
</cell>
</row>
</footer>
</table>
</body>
</report>
------------------------------Form2------------------------- -------------
<?xml version="1.0" encoding="UTF-8"?>
<!-- Written by Eclipse BIRT 1.0 -->
<report xmlns=" http://www.eclipse.org/birt/2005/design" version="1">
<property name="createdBy">Eclipse BIRT Designer Version 1.0.0 Build
<20050531-0733></property>
<property name="units">in</property>
<data-sources>
<script-data-source name="Data Source"/>
</data-sources>
<data-sets>
<script-data-set name="Data Set">
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">Equipment</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">Procure</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">Year</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">Cost</property>
<property name="dataType">float</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">Equipment</property>
</structure>
<structure>
<property name="columnName">Procure</property>
</structure>
<structure>
<property name="columnName">Year</property>
</structure>
<structure>
<property name="columnName">Cost</property>
</structure>
</list-property>
<method name="open"><![CDATA[i = 0;
sourcedata = new Array( new Array(4),
new Array(4),
new Array(4));
sourcedata[0][0] = "Kitchen Equipment";
sourcedata[0][1] = "OMAR";
sourcedata[0][2] = 2002;
sourcedata[0][3] = 150.00;
sourcedata[1][0] = "Furniture";
sourcedata[1][1] = "OMAR";
sourcedata[1][2] = 2003;
sourcedata[1][3] = 871.00;
sourcedata[2][0] = "Caging";
sourcedata[2][1] = "OMAR";
sourcedata[2][2] = 2002;
sourcedata[2][3] = 955.00;]]></method>
<method name="fetch"><![CDATA[if (i < 3)
{
row["Equipment"] = sourcedata[i][0];
row["Procure"] = sourcedata[i][1];
row["Year"] = sourcedata[i][2];
row["Cost"] = sourcedata[i][3];
i ++;
return true;
}
else
return false;]]></method>
</script-data-set>
<script-data-set name="Data Set1">
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">Type</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">BasisStandard</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">RecentlyUsed</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">a</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">b</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">c</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">d</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">e</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">Award</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">Start</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">Completioin</property>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">Type</property>
</structure>
<structure>
<property name="columnName">BasisStandard</property>
</structure>
<structure>
<property name="columnName">RecentlyUsed</property>
</structure>
<structure>
<property name="columnName">a</property>
</structure>
<structure>
<property name="columnName">b</property>
</structure>
<structure>
<property name="columnName">c</property>
</structure>
<structure>
<property name="columnName">d</property>
</structure>
<structure>
<property name="columnName">e</property>
</structure>
<structure>
<property name="columnName">Award</property>
</structure>
<structure>
<property name="columnName">Start</property>
</structure>
<structure>
<property name="columnName">Completioin</property>
</structure>
</list-property>
<method name="open"><![CDATA[i = 0;
sourcedata = new Array(11);
sourcedata[0] = "Design - Bid - Build";
sourcedata[1] = null;
sourcedata[2] = null;
sourcedata[3] = null;
sourcedata[4] = null;
sourcedata[5] = null;
sourcedata[6] = null;
sourcedata[7] = null;
sourcedata[8] = null;
sourcedata[9] = null;
sourcedata[10] = null;]]></method>
<method name="fetch"><![CDATA[if ( i < 1 ){
row["Type"] = sourcedata[0];
row["BasisStandard"] = sourcedata[1];
row["RecentlyUsed"] = sourcedata[2];
row["a"] = sourcedata[3];
row["b"] = sourcedata[4];
row["c"] = sourcedata[5];
row["d"]
|
|
|
| Re: good fit for BIRT? [message #42607 is a reply to message #42502] |
Fri, 03 June 2005 07:29   |
Eclipse User |
|
|
|
Hi Nina,
Thank you very much! I'm excited to try it out (still need to setup BIRT).
I've been reading the BIRT Report Object Model Overview and am growing more
and more impressed. Given what you've done below and a paragraph on page 12
regarding support for pixel-accuracy in reproducing gov't forms, I now
understand that BIRT will support such forms even though it is not its
primary focus. I was especially excited to discover that BIRT supports
RTF - you don't want to know what I had to do in order to "inject"
underlines into an already-generated PDF.
My next steps will be to experiment with BIRT starting with what you've
generously provided below. I'm also thinking that I'd like to contribute to
the project as both a user and developer. Can you tell me a little about
your role with BIRT?
thanks -
Chris
"Nina Li" <nli@actuate.com> wrote in message
news:b06cabc416e7a6f84973f76bee9ba592$1@www.eclipse.org...
> Hi Chris,
>
> The following design files are created according to your attached
> screenshots.
> Cheers.
>
> Regards,
> Nina
>
> -------------------Form1---------------------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- Written by Eclipse BIRT 1.0 -->
> <report xmlns=" http://www.eclipse.org/birt/2005/design" version="1">
> <property name="createdBy">Eclipse BIRT Designer Version 1.0.0 Build
> <20050531-0733></property>
> <property name="units">in</property>
> <data-sources>
> <script-data-source name="Data Source"/>
> </data-sources>
> <data-sets>
> <script-data-set name="Data Set">
> <property name="dataSource">Data Source</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">CompanyName</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">Date</property>
> <property name="dataType">date-time</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">Installation</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">Location</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property name="name">Title</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">6</property>
> <property name="name">Element</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">7</property>
> <property name="name">CategoryCode</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">8</property>
> <property name="name">ProjectNumber</property>
> <property name="dataType">string</property>
> </structure>
> </list-property>
> <list-property name="columnHints">
> <structure>
> <property name="columnName">CompanyName</property>
> </structure>
> <structure>
> <property name="columnName">Date</property>
> </structure>
> <structure>
> <property name="columnName">Installation</property>
> </structure>
> <structure>
> <property name="columnName">Location</property>
> </structure>
> <structure>
> <property name="columnName">Title</property>
> </structure>
> <structure>
> <property name="columnName">Element</property>
> </structure>
> <structure>
> <property name="columnName">CategoryCode</property>
> </structure>
> <structure>
> <property name="columnName">ProjectNumber</property>
> </structure>
> </list-property>
> <method name="open"><![CDATA[i = 0;
>
> sourcedata = new Array(8);
>
> sourcedata[0] = "AR";
> sourcedata[1] = "3/1/2005";
> sourcedata[2] = "St Petersburg AFRC";
> sourcedata[3] = "St.Petersburg, FL";
> sourcedata[4] = "St. Petersburg AFRC Phase II";
> sourcedata[5] = "0505978A";
> sourcedata[6] = 171;
> sourcedata[7] = "CAR 07-111N";]]></method>
> <method name="fetch"><![CDATA[if ( i < 1 ){
> row["CompanyName"] = sourcedata[0];
> row["Date"] = sourcedata[1];
> row["Installation"] = sourcedata[2];
> row["Location"] = sourcedata[3];
> row["Title"] = sourcedata[4];
> row["Element"] = sourcedata[5];
> row["CategoryCode"] = sourcedata[6];
> row["ProjectNumber"] = sourcedata[7];
> i++;
> return true;
> } else
> return false;]]></method>
> </script-data-set>
> <script-data-set name="Data Set1">
> <property name="dataSource">Data Source</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">FacilityLine</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">Facilities</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">U/M</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">Quantity</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property name="name">UnitCost</property>
> <property name="dataType">float</property>
> </structure>
> </list-property>
> <list-property name="columnHints">
> <structure>
> <property name="columnName">FacilityLine</property>
> </structure>
> <structure>
> <property name="columnName">Facilities</property>
> </structure>
> <structure>
> <property name="columnName">U/M</property>
> </structure>
> <structure>
> <property name="columnName">Quantity</property>
> </structure>
> <structure>
> <property name="columnName">UnitCost</property>
> </structure>
> </list-property>
> <method name="open"><![CDATA[i = 0;
>
> sourcedata = new Array( new Array(5),
> new Array(5),
> new Array(5),
> new Array(5),
> new Array(5),
> new Array(5),
> new Array(5),
> new Array(5),
> new Array(5));
>
> sourcedata[0][0] = "PRIMARY FACILITIES";
> sourcedata[0][1] = "Training Building";
> sourcedata[0][2] = "SF";
> sourcedata[0][3] = 216424;
> sourcedata[0][4] = 96.34;
>
> sourcedata[1][0] = "PRIMARY FACILITIES";
> sourcedata[1][1] = "Maintenance Building";
> sourcedata[1][2] = "SF";
> sourcedata[1][3] = 6718;
> sourcedata[1][4] = 107.16;
>
> sourcedata[2][0] = "PRIMARY FACILITIES";
> sourcedata[2][1] = "Unheadted Storage";
> sourcedata[2][2] = "SF";
> sourcedata[2][3] = 7920;
> sourcedata[2][4] = 64.52;
>
> sourcedata[3][0] = "PRIMARY FACILITIES";
> sourcedata[3][1] = "Antiterrorism/Force Protection";
> sourcedata[3][2] = "LS";
> sourcedata[3][3] = 0;
> sourcedata[3][4] = 0;
>
> sourcedata[4][0] = "PRIMARY FACILITIES";
> sourcedata[4][1] = "Land Acquisition";
> sourcedata[4][2] = "SF";
> sourcedata[4][3] = 261360;
> sourcedata[4][4] = 9.57;
>
> sourcedata[5][0] = "SUPPORTING FACILITIES";
> sourcedata[5][1] = "Telecommunications";
> sourcedata[5][2] = "LS";
> sourcedata[5][3] = 0;
> sourcedata[5][4] = 0;
>
> sourcedata[6][0] = "SUPPORTING FACILITIES";
> sourcedata[6][1] = "Site Prep/Utilities/Landscaping";
> sourcedata[6][2] = "LS";
> sourcedata[6][3] = 0;
> sourcedata[6][4] = 0;
>
> sourcedata[7][0] = "SUPPORTING FACILITIES";
> sourcedata[7][1] = "Energy Management System";
> sourcedata[7][2] = "LS";
> sourcedata[7][3] = 0;
> sourcedata[7][4] = 0;
>
> sourcedata[8][0] = "SUPPORTING FACILITIES";
> sourcedata[8][1] = "Force Protection";
> sourcedata[8][2] = "LS";
> sourcedata[8][3] = 0;
> sourcedata[8][4] = 0;]]></method>
> <method name="fetch"><![CDATA[if (i < 8)
> {
> row["FacilityLine"] = sourcedata[i][0];
> row["Facilities"] = sourcedata[i][1];
> row["U/M"] = sourcedata[i][2];
> row["Quantity"] = sourcedata[i][3];
> row["UnitCost"] = sourcedata[i][4];
> i ++;
> return true;
> }
> else
> return false;]]></method>
> </script-data-set>
> </data-sets>
> <styles>
> <style name="Border">
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">thin</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">thin</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">thin</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">thin</property>
> </style>
> <style name="Font">
> <property name="fontFamily">Arial</property>
> <property name="fontSize">smaller</property>
> <property name="fontWeight">normal</property>
> </style>
> <style name="Data">
> <property name="fontFamily">monospace</property>
> </style>
> <style name="Number">
> <property name="fontFamily">monospace</property>
> <property name="textAlign">right</property>
> <expression name="mapTestExpr">row["Quantity"]</expression>
> <list-property name="mapRules">
> <structure>
> <property name="operator">eq</property>
> <expression name="value1">0</expression>
> <text-property name="display">-</text-property>
> </structure>
> </list-property>
> </style>
> </styles>
> <page-setup>
> <simple-master-page name="Simple MasterPage">
> <property name="type">a4</property>
> <property name="leftMargin">0.34in</property>
> <property name="bottomMargin">1in</property>
> <property name="rightMargin">0.34in</property>
> <page-footer>
> <text>
> <property name="contentType">html</property>
> <text-property name="content"><![CDATA[<value-of>new
> Date()</value-of>]]></text-property>
> </text>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <grid>
> <property name="width">100%</property>
> <property name="dataSet">Data Set</property>
> <column>
> <property name="width">1.33in</property>
> </column>
> <column>
> <property name="width">4.97in</property>
> </column>
> <column>
> <property name="width">1.55in</property>
> </column>
> <row>
> <cell>
> <property name="style">Border</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.2cm</property>
> <property name="paddingBottom">0.2cm</property>
> <property name="textAlign">left</property>
> <text-property name="text">1.
> COMPONENT</text-property>
> </label>
> <data>
> <property name="style">Data</property>
> <property name="paddingBottom">0.2cm</property>
> <expression
> name="valueExpr">row["CompanyName"]</expression>
> </data>
> </cell>
> <cell>
> <property name="style">Border</property>
> <label>
> <property name="style">Font</property>
> <property name="fontFamily">Arial</property>
> <property name="fontSize">large</property>
> <property name="fontWeight">bold</property>
> <property name="textAlign">center</property>
> <text-property name="text">FY 2007 MILITARY
> CONSTRUCTION PROJECT DATA</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.2cm</property>
> <property name="paddingBottom">0.2cm</property>
> <text-property name="text">2. DATE</text-property>
> </label>
> <data>
> <property name="style">Data</property>
> <property name="paddingBottom">0.2cm</property>
> <structure name="dateTimeFormat">
> <property name="category">Custom</property>
> <property name="pattern">MMM dd</property>
> </structure>
> <expression
> name="valueExpr">row["Date"]</expression>
> </data>
> </cell>
> </row>
> </grid>
> <grid>
> <property name="width">100%</property>
> <property name="dataSet">Data Set</property>
> <column>
> <property name="width">4.3in</property>
> </column>
> <column>
> <property name="width">3.55in</property>
> </column>
> <row>
> <cell>
> <property name="style">Border</property>
> <property name="borderBottomColor">#000000</property>
> <property name="borderBottomStyle">none</property>
> <property name="borderBottomWidth">thin</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.2cm</property>
> <text-property name="text">3. INSTALLATION AND
> LOCATION</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="borderBottomColor">#000000</property>
> <property name="borderBottomStyle">none</property>
> <property name="borderBottomWidth">thin</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.2cm</property>
> <text-property name="text">4. PROJECT
> TITLE</text-property>
> </label>
> </cell>
> </row>
> <row>
> <cell>
> <property name="style">Border</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <text>
> <property name="style">Data</property>
> <property name="contentType">html</property>
> <text-property
> name="content"><![CDATA[<VALUE-OF>row["Installation"]</VALUE-OF ><br>
> <VALUE-OF>row["Location"]</VALUE-OF>]]></text-property >
> </text>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <property name="verticalAlign">middle</property>
> <data>
> <property name="style">Data</property>
> <expression
> name="valueExpr">row["Title"]</expression>
> </data>
> </cell>
> </row>
> </grid>
> <grid>
> <property name="width">100%</property>
> <property name="dataSet">Data Set</property>
> <column>
> <property name="width">1.9in</property>
> </column>
> <column>
> <property name="width">1.9in</property>
> </column>
> <column>
> <property name="width">1.9in</property>
> </column>
> <column>
> <property name="width">2.15in</property>
> </column>
> <row>
> <cell>
> <property name="style">Border</property>
> <property name="borderBottomColor">#000000</property>
> <property name="borderBottomStyle">none</property>
> <property name="borderBottomWidth">thin</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.2cm</property>
> <property name="paddingBottom">0.2cm</property>
> <text-property name="text">5. PROGRAM
> ELEMENT</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="borderBottomColor">#000000</property>
> <property name="borderBottomStyle">none</property>
> <property name="borderBottomWidth">thin</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.2cm</property>
> <property name="paddingBottom">0.2cm</property>
> <text-property name="text">6. CATEGORY
> CODE</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="borderBottomColor">#000000</property>
> <property name="borderBottomStyle">none</property>
> <property name="borderBottomWidth">thin</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.2cm</property>
> <property name="paddingBottom">0.2cm</property>
> <text-property name="text">7. PROJECT
> NUMBER</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="borderBottomColor">#000000</property>
> <property name="borderBottomStyle">none</property>
> <property name="borderBottomWidth">thin</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.2cm</property>
> <property name="paddingBottom">0.2cm</property>
> <text-property name="text">8. PROJECT COST
> ($000)</text-property>
> </label>
> </cell>
> </row>
> <row>
> <cell>
> <property name="style">Border</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <data>
> <property name="style">Data</property>
> <expression
> name="valueExpr">row["Element"]</expression>
> </data>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <data>
> <property name="style">Data</property>
> <expression
> name="valueExpr">row["CategoryCode"]</expression>
> </data>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <data>
> <property name="style">Data</property>
> <expression
> name="valueExpr">row["ProjectNumber"]</expression>
> </data>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> </cell>
> </row>
> </grid>
> <table>
> <property name="width">100%</property>
> <property name="dataSet">Data Set1</property>
> <column>
> <property name="width">4in</property>
> </column>
> <column>
> <property name="width">0.5in</property>
> </column>
> <column>
> <property name="width">1in</property>
> </column>
> <column>
> <property name="width">0.95in</property>
> </column>
> <column>
> <property name="width">1.4in</property>
> </column>
> <header>
> <row>
> <cell>
> <property name="colSpan">5</property>
> <property name="rowSpan">1</property>
> <property name="style">Border</property>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">none</property>
> <property name="borderTopWidth">thin</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.1cm</property>
> <property name="textAlign">center</property>
> <text-property name="text">9. COST
> ESTIMATES</text-property>
> </label>
> </cell>
> </row>
> <row>
> <cell>
> <property name="colSpan">1</property>
> <property name="rowSpan">1</property>
> <property name="style">Border</property>
> <property name="verticalAlign">middle</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="textAlign">center</property>
> <text-property
name="text">ITEM</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="verticalAlign">middle</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="textAlign">center</property>
> <text-property name="text">U/M</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="verticalAlign">middle</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="textAlign">center</property>
> <text-property
> name="text">QUANTITY</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <property name="verticalAlign">middle</property>
> <label>
> <property name="style">Font</property>
> <property name="paddingTop">0.2cm</property>
> <property name="textAlign">center</property>
> <text-property name="text">UNIT
> COST</text-property>
> </label>
> </cell>
> <cell>
> <property name="style">Border</property>
> <text>
> <property name="style">Font</property>
> <property name="textAlign">center</property>
> <property name="contentType">plain</property>
> <text-property name="content"><![CDATA[COST
> ($000)]]></text-property>
> </text>
> </cell>
> </row>
> </header>
> <group>
> <property name="groupName">FacilityLine</property>
> <property name="interval">none</property>
> <property name="sortDirection">asc</property>
> <expression
name="keyExpr">row["FacilityLine"]</expression>
> <header>
> <row>
> <cell>
> <property
> name="borderLeftColor">#000000</property>
> <property
> name="borderLeftStyle">solid</property>
> <property
> name="borderLeftWidth">thin</property>
> <property
> name="borderRightColor">#000000</property>
> <property
> name="borderRightStyle">solid</property>
> <property
> name="borderRightWidth">thin</property>
> <property name="paddingTop">0.2cm</property>
> <property name="paddingLeft">0.4cm</property>
> <property
name="paddingBottom">0.2cm</property>
> <data>
> <property name="style">Data</property>
> <property
> name="textUnderline">underline</property>
> <expression
> name="valueExpr">row["FacilityLine"]</expression>
> </data>
> </cell>
> <cell>
> <property
> name="borderRightColor">#000000</property>
> <property
> name="borderRightStyle">solid</property>
> <property
> name="borderRightWidth">thin</property>
> </cell>
> <cell>
> <property
> name="borderRightColor">#000000</property>
> <property
> name="borderRightStyle">solid</property>
> <property
> name="borderRightWidth">thin</property>
> </cell>
> <cell>
> <property
> name="borderRightColor">#000000</property>
> <property
> name="borderRightStyle">solid</property>
> <property
> name="borderRightWidth">thin</property>
> </cell>
> <cell>
> <property
> name="borderRightColor">#000000</property>
> <property
> name="borderRightStyle">solid</property>
> <property
> name="borderRightWidth">thin</property>
> <data>
> <property name="style">Data</property>
> <property
> name="textUnderline">underline</property>
> <structure name="numberFormat">
> <property
> name="category">Custom</property>
> <property
name="pattern">###</property>
> </structure>
> <property
name="textAlign">right</property>
> <expression
>
name="valueExpr">Total.sum(row["Quantity"]*row["UnitCost "]/1000)</expression
>
> </data>
> </cell>
> </row>
> </header>
> <footer>
> <row>
> <cell/>
> <cell/>
> <cell/>
> <cell/>
> <cell/>
> </row>
> </footer>
> </group>
> <detail>
> <row>
> <cell>
> <property
name="borderLeftColor">#000000</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">thin</property>
> <property name="paddingLeft">0.8cm</property>
> <data>
> <property name="style">Data</property>
> <expression
> name="valueExpr">row["Facilities"]</expression>
> </data>
> </cell>
> <cell>
> <property
name="borderLeftColor">#000000</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">thin</property>
> <property name="textAlign">center</property>
> <data>
> <property name="style">Data</property>
> <expression
> name="valueExpr">row["U/M"]</expression>
> </data>
> </cell>
> <cell>
> <property
name="borderLeftColor">#000000</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">thin</property>
> <property name="textAlign">right</property>
> <data>
> <property name="style">Number</property>
> <structure name="numberFormat">
> <property
name="category">Custom</property>
> <property
name="pattern">###,##0</property>
> </structure>
> <expression
> name="valueExpr">row["Quantity"]</expression>
> </data>
> </cell>
> <cell>
> <property
name="borderLeftColor">#000000</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">thin</property>
> <property name="textAlign">right</property>
> <data>
> <property name="style">Number</property>
> <structure name="numberFormat">
> <property
> name="category">Currency</property>
> <property
name="pattern">###0.00</property>
> </structure>
> <expression
> name="valueExpr">row["UnitCost"]</expression>
> </data>
> </cell>
> <cell>
> <property
name="borderLeftColor">#000000</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">thin</property>
> <property
> name="borderRightColor">#000000</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">thin</property>
> <property name="textAlign">right</property>
> <data>
> <property name="style">Data</property>
> <structure name="numberFormat">
> <property
name="category">Custom</property>
> <property name="pattern">###</property>
> </structure>
> <property name="textAlign">right</property>
> <property name="display">inline</property>
> <expression
> name="valueExpr">row["Quantity"]*row["UnitCost"]/1000</expression >
> </data>
> </cell>
> </row>
> </detail>
> <footer>
> <row>
> <cell>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">thin</property>
> </cell>
> <cell>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">thin</property>
> </cell>
> <cell>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">thin</property>
> </cell>
> <cell>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">thin</property>
> </cell>
> <cell>
> <property name="borderTopColor">#000000</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">thin</property>
> </cell>
> </row>
> </footer>
> </table>
> </body>
> </report>
>
>
>
>
> ------------------------------Form2------------------------- -------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- Written by Eclipse BIRT 1.0 -->
> <report xmlns=" http://www.eclipse.org/birt/2005/design" version="1">
> <property name="createdBy">Eclipse BIRT Designer Version 1.0.0 Build
> <20050531-0733></property>
> <property name="units">in</property>
> <data-sources>
> <script-data-source name="Data Source"/>
> </data-sources>
> <data-sets>
> <script-data-set name="Data Set">
> <property name="dataSource">Data Source</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">Equipment</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">Procure</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name">Year</property>
> <property name="dataType">integer</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property name="name">Cost</property>
> <property name="dataType">float</property>
> </structure>
> </list-property>
> <list-property name="columnHints">
> <structure>
> <property name="columnName">Equipment</property>
> </structure>
> <structure>
> <property name="columnName">Procure</property>
> </structure>
> <structure>
> <property name="columnName">Year</property>
> </structure>
> <structure>
> <property name="columnName">Cost</property>
> </structure>
> </list-property>
> <method name="open"><![CDATA[i = 0;
> sourcedata = new Array( new Array(4),
> new Array(4),
> new Array(4));
>
> sourcedata[0][0] = "Kitchen Equipment";
> sourcedata[0][1] = "OMAR";
> sourcedata[0][2] = 2002;
> sourcedata[0][3] = 150.00;
>
> sourcedata[1][0] = "Furniture";
> sourcedata[1][1] = "OMAR";
> sourcedata[1][2] = 2003;
> sourcedata[1][3] = 871.00;
>
> sourcedata[2][0] = "Caging";
> sourcedata[2][1] = "OMAR";
> sourcedata[2][2] = 2002;
> sourcedata[2][3] = 955.00;]]></method>
> <method name="fetch"><![CDATA[if (i < 3)
> {
> row["Equipment"] = sourcedata[i][0];
> row["Procure"] = sourcedata[i][1];
> row["Year"] = sourcedata[i][2];
> row["Cost"] = sourcedata[i][3];
> i ++;
> return true;
> }
> else
> return false;]]></method>
> </script-data-set>
> <script-data-set name="Data Set1">
> <property name="dataSource">Data Source</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property name="name">Type</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property name="name">BasisStandard</property>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property name="name&qu
|
|
|
| Re: good fit for BIRT? [message #42760 is a reply to message #42607] |
Fri, 03 June 2005 11:54  |
Eclipse User |
|
|
|
Chris,
As Nina has demonstrated, BIRT can definitely be used to create the type of
forms you're interested in doing.
However, in BIRT 1.0 the output types are limited to HTML and PDF. Also,
because we are using Apache FOP to do PDF generation, we inherit some
limitations in that area from FOP. You may want to check out the limitations
section of the FAQ to get a better sense for those:
http://www.eclipse.org/birt/index.php?page=faq/limitations.h tml
The ROM documentation you read describes the full capability set that is
ultimately planned for BIRT. The 1.0 release provides a subset of those
capabilities, and the requirements document you found for 1.0 is the best
source for a high level description of the capabilities specific to 1.0.
By the way, Nina and I are both involved with the project as BIRT
committers.
regards,
Mark
"Chris Downey" <cdowney@gmail.com> wrote in message
news:d7pes6$i77$1@news.eclipse.org...
> Hi Nina,
>
> Thank you very much! I'm excited to try it out (still need to setup
BIRT).
>
> I've been reading the BIRT Report Object Model Overview and am growing
more
> and more impressed. Given what you've done below and a paragraph on page
12
> regarding support for pixel-accuracy in reproducing gov't forms, I now
> understand that BIRT will support such forms even though it is not its
> primary focus. I was especially excited to discover that BIRT supports
> RTF - you don't want to know what I had to do in order to "inject"
> underlines into an already-generated PDF.
>
> My next steps will be to experiment with BIRT starting with what you've
> generously provided below. I'm also thinking that I'd like to contribute
to
> the project as both a user and developer. Can you tell me a little about
> your role with BIRT?
>
> thanks -
>
> Chris
|
|
|
Goto Forum:
Current Time: Sun Nov 09 14:07:43 EST 2025
Powered by FUDForum. Page generated in 0.14806 seconds
|