Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BIRT » (no subject)
(no subject) [message #683451] Mon, 13 June 2011 19:10 Go to next message
Robert Aust is currently offline Robert AustFriend
Messages: 17
Registered: July 2009
Junior Member
Hello,

I'm am a bit confused about the correct usage of variables and their scopes.
I defined a variable V_REP_VAR as "Report Variable" in the outline on
designer with a default-value of '<default>'.

When I use this variable in javascript expression builder it is
automatically inserted as "vars['V_REP_VAR']" which correctly gives me
the default-value.

But using the reportContext-methods does not deliver the value.
Is there a connection between the 'vars[..]'-Array and the
reportContext-methods 'getGlobalVariable(..)' and
'getGlobalPersistentVariable(..)' ?

I have some EventHandlers in Java in my report, that need this variable,
but cannot access 'vars[..]' obviously.

Here's my sample :

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
<property name="units">in</property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<property name="imageDPI">96</property>
<data-sources>
<oda-data-source
extensionID="org.eclipse.birt.report.data.oda.jdbc" name="DS_SAMPLE" id="7">
<list-property name="privateDriverProperties">
<ex-property>
<name>contentBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>metadataBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
</list-property>
<property
name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver</property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<styles>
<style name="report" id="4">
<property name="fontFamily">sans-serif</property>
<property name="fontSize">10pt</property>
</style>
<style name="crosstab-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab" id="6">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<page-footer>
<text id="3">
<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 id="10">
<list-property name="boundDataColumns">
<structure>
<property name="name">Column Binding</property>
<expression name="expression"
type="javascript">'...getGlobalVariable=['+reportContext.getGlobalVariable('V_REP_VAR')+']';</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CB2</property>
<expression name="expression"
type="javascript">'...PersistentGlobalVariable=['+reportContext.getPersistentGlobalVariable('V_REP_VAR')+']';</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<column id="11"/>
<column id="12"/>
<column id="13"/>
<row id="14">
<cell id="15"/>
<cell id="16"/>
<cell id="17"/>
</row>
<row id="18">
<cell id="19">
<text-data id="29">
<expression
name="valueExpr">'...vars=['+vars["V_REP_VAR"]+']'</expression>
<property name="contentType">plain</property>
</text-data>
</cell>
<cell id="20">
<data id="27">
<property name="resultSetColumn">Column
Binding</property>
</data>
</cell>
<cell id="21">
<data id="28">
<property name="resultSetColumn">CB2</property>
</data>
</cell>
</row>
<row id="33">
<method name="onCreate"><![CDATA[vars['V_REP_VAR'] =
'<newValue>'
reportContext.setGlobalVariable('V_REP_VAR', '<anotherValue>');
reportContext.setPersistentGlobalVariable('V_REP_VAR',
'<anotherPersistentValue>');]]></method>
<cell id="34">
<text-data id="37">
<expression
name="valueExpr">'...vars=['+vars["V_REP_VAR"]+']'</expression>
<property name="contentType">plain</property>
</text-data>
</cell>
<cell id="35">
<text-data id="40">
<expression
name="valueExpr">'...getGlobalVariable['+reportContext.getGlobalVariable('V_REP_VAR')+']'</expression>
<property name="contentType">plain</property>
</text-data>
</cell>
<cell id="36">
<text-data id="41">
<expression
name="valueExpr">'...getPersistentGlobalVariable['+reportContext.getPersistentGlobalVariable('V_REP_VAR')+']'</expression>
<property name="contentType">plain</property>
</text-data>
</cell>
</row>
</grid>
</body>
<property name="pageVariables">
<variable-element name="V_REP_VAR">
<expression name="value"
type="javascript">'&lt;default>'</expression>
<property name="type">report</property>
</variable-element>
</property>
</report>

Thanks for any help!
Robert
(no subject) [message #683486 is a reply to message #683451] Mon, 13 June 2011 20:45 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Robert

try:
reportContext.getPageVariable("V_REP_VAR");

to access the report level variables. global and globalpersistent
variables are a way to store variables for access in script and
expressions. persistent means it will write the value to a rptdocument
to store the value across phases (run then render). Report Variables
can be used in similar fashion but were primarily designed to be used in
autotext elements on the master page (eg page n of m).

Jason

On 6/13/2011 3:10 PM, Robert Aust wrote:
>
> Hello,
>
> I'm am a bit confused about the correct usage of variables and their
> scopes.
> I defined a variable V_REP_VAR as "Report Variable" in the outline on
> designer with a default-value of '<default>'.
>
> When I use this variable in javascript expression builder it is
> automatically inserted as "vars['V_REP_VAR']" which correctly gives me
> the default-value.
>
> But using the reportContext-methods does not deliver the value.
> Is there a connection between the 'vars[..]'-Array and the
> reportContext-methods 'getGlobalVariable(..)' and
> 'getGlobalPersistentVariable(..)' ?
>
> I have some EventHandlers in Java in my report, that need this variable,
> but cannot access 'vars[..]' obviously.
>
> Here's my sample :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
> <property name="units">in</property>
> <property name="iconFile">/templates/blank_report.gif</property>
> <property name="bidiLayoutOrientation">ltr</property>
> <property name="imageDPI">96</property>
> <data-sources>
> <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc"
> name="DS_SAMPLE" id="7">
> <list-property name="privateDriverProperties">
> <ex-property>
> <name>contentBidiFormatStr</name>
> <value>ILYNN</value>
> </ex-property>
> <ex-property>
> <name>metadataBidiFormatStr</name>
> <value>ILYNN</value>
> </ex-property>
> </list-property>
> <property
> name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver</property>
>
> <property name="odaURL">jdbc:classicmodels:sampledb</property>
> <property name="odaUser">ClassicModels</property>
> </oda-data-source>
> </data-sources>
> <styles>
> <style name="report" id="4">
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">10pt</property>
> </style>
> <style name="crosstab-cell" id="5">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="crosstab" id="6">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> </styles>
> <page-setup>
> <simple-master-page name="Simple MasterPage" id="2">
> <page-footer>
> <text id="3">
> <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 id="10">
> <list-property name="boundDataColumns">
> <structure>
> <property name="name">Column Binding</property>
> <expression name="expression"
> type="javascript">'...getGlobalVariable=['+reportContext.getGlobalVariable('V_REP_VAR')+']';</expression>
>
> <property name="dataType">string</property>
> </structure>
> <structure>
> <property name="name">CB2</property>
> <expression name="expression"
> type="javascript">'...PersistentGlobalVariable=['+reportContext.getPersistentGlobalVariable('V_REP_VAR')+']';</expression>
>
> <property name="dataType">string</property>
> </structure>
> </list-property>
> <column id="11"/>
> <column id="12"/>
> <column id="13"/>
> <row id="14">
> <cell id="15"/>
> <cell id="16"/>
> <cell id="17"/>
> </row>
> <row id="18">
> <cell id="19">
> <text-data id="29">
> <expression name="valueExpr">'...vars=['+vars["V_REP_VAR"]+']'</expression>
> <property name="contentType">plain</property>
> </text-data>
> </cell>
> <cell id="20">
> <data id="27">
> <property name="resultSetColumn">Column Binding</property>
> </data>
> </cell>
> <cell id="21">
> <data id="28">
> <property name="resultSetColumn">CB2</property>
> </data>
> </cell>
> </row>
> <row id="33">
> <method name="onCreate"><![CDATA[vars['V_REP_VAR'] = '<newValue>'
> reportContext.setGlobalVariable('V_REP_VAR', '<anotherValue>');
> reportContext.setPersistentGlobalVariable('V_REP_VAR',
> '<anotherPersistentValue>');]]></method>
> <cell id="34">
> <text-data id="37">
> <expression name="valueExpr">'...vars=['+vars["V_REP_VAR"]+']'</expression>
> <property name="contentType">plain</property>
> </text-data>
> </cell>
> <cell id="35">
> <text-data id="40">
> <expression
> name="valueExpr">'...getGlobalVariable['+reportContext.getGlobalVariable('V_REP_VAR')+']'</expression>
>
> <property name="contentType">plain</property>
> </text-data>
> </cell>
> <cell id="36">
> <text-data id="41">
> <expression
> name="valueExpr">'...getPersistentGlobalVariable['+reportContext.getPersistentGlobalVariable('V_REP_VAR')+']'</expression>
>
> <property name="contentType">plain</property>
> </text-data>
> </cell>
> </row>
> </grid>
> </body>
> <property name="pageVariables">
> <variable-element name="V_REP_VAR">
> <expression name="value" type="javascript">'&lt;default>'</expression>
> <property name="type">report</property>
> </variable-element>
> </property>
> </report>
>
> Thanks for any help!
> Robert
>
(no subject) [message #683877 is a reply to message #683486] Tue, 14 June 2011 15:17 Go to previous message
Robert Aust is currently offline Robert AustFriend
Messages: 17
Registered: July 2009
Junior Member
Hi Jason,

that worked, Thanks!
I didn't think of trying 'getPageVariable'...was looking for something
more 'global'.

Robert


Am 13.06.2011 22:45, schrieb Jason Weathersby:
> Robert
>
> try:
> reportContext.getPageVariable("V_REP_VAR");
>
> to access the report level variables. global and globalpersistent
> variables are a way to store variables for access in script and
> expressions. persistent means it will write the value to a rptdocument
> to store the value across phases (run then render). Report Variables can
> be used in similar fashion but were primarily designed to be used in
> autotext elements on the master page (eg page n of m).
>
> Jason
>
> On 6/13/2011 3:10 PM, Robert Aust wrote:
>>
>> Hello,
>>
>> I'm am a bit confused about the correct usage of variables and their
>> scopes.
>> I defined a variable V_REP_VAR as "Report Variable" in the outline on
>> designer with a default-value of '<default>'.
>>
>> When I use this variable in javascript expression builder it is
>> automatically inserted as "vars['V_REP_VAR']" which correctly gives me
>> the default-value.
>>
>> But using the reportContext-methods does not deliver the value.
>> Is there a connection between the 'vars[..]'-Array and the
>> reportContext-methods 'getGlobalVariable(..)' and
>> 'getGlobalPersistentVariable(..)' ?
>>
>> I have some EventHandlers in Java in my report, that need this variable,
>> but cannot access 'vars[..]' obviously.
>>
>> Here's my sample :
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
>> id="1">
>> <property name="createdBy">Eclipse BIRT Designer Version
>> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
>> <property name="units">in</property>
>> <property name="iconFile">/templates/blank_report.gif</property>
>> <property name="bidiLayoutOrientation">ltr</property>
>> <property name="imageDPI">96</property>
>> <data-sources>
>> <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc"
>> name="DS_SAMPLE" id="7">
>> <list-property name="privateDriverProperties">
>> <ex-property>
>> <name>contentBidiFormatStr</name>
>> <value>ILYNN</value>
>> </ex-property>
>> <ex-property>
>> <name>metadataBidiFormatStr</name>
>> <value>ILYNN</value>
>> </ex-property>
>> </list-property>
>> <property
>> name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver</property>
>>
>>
>> <property name="odaURL">jdbc:classicmodels:sampledb</property>
>> <property name="odaUser">ClassicModels</property>
>> </oda-data-source>
>> </data-sources>
>> <styles>
>> <style name="report" id="4">
>> <property name="fontFamily">sans-serif</property>
>> <property name="fontSize">10pt</property>
>> </style>
>> <style name="crosstab-cell" id="5">
>> <property name="borderBottomColor">#CCCCCC</property>
>> <property name="borderBottomStyle">solid</property>
>> <property name="borderBottomWidth">1pt</property>
>> <property name="borderLeftColor">#CCCCCC</property>
>> <property name="borderLeftStyle">solid</property>
>> <property name="borderLeftWidth">1pt</property>
>> <property name="borderRightColor">#CCCCCC</property>
>> <property name="borderRightStyle">solid</property>
>> <property name="borderRightWidth">1pt</property>
>> <property name="borderTopColor">#CCCCCC</property>
>> <property name="borderTopStyle">solid</property>
>> <property name="borderTopWidth">1pt</property>
>> </style>
>> <style name="crosstab" id="6">
>> <property name="borderBottomColor">#CCCCCC</property>
>> <property name="borderBottomStyle">solid</property>
>> <property name="borderBottomWidth">1pt</property>
>> <property name="borderLeftColor">#CCCCCC</property>
>> <property name="borderLeftStyle">solid</property>
>> <property name="borderLeftWidth">1pt</property>
>> <property name="borderRightColor">#CCCCCC</property>
>> <property name="borderRightStyle">solid</property>
>> <property name="borderRightWidth">1pt</property>
>> <property name="borderTopColor">#CCCCCC</property>
>> <property name="borderTopStyle">solid</property>
>> <property name="borderTopWidth">1pt</property>
>> </style>
>> </styles>
>> <page-setup>
>> <simple-master-page name="Simple MasterPage" id="2">
>> <page-footer>
>> <text id="3">
>> <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 id="10">
>> <list-property name="boundDataColumns">
>> <structure>
>> <property name="name">Column Binding</property>
>> <expression name="expression"
>> type="javascript">'...getGlobalVariable=['+reportContext.getGlobalVariable('V_REP_VAR')+']';</expression>
>>
>>
>> <property name="dataType">string</property>
>> </structure>
>> <structure>
>> <property name="name">CB2</property>
>> <expression name="expression"
>> type="javascript">'...PersistentGlobalVariable=['+reportContext.getPersistentGlobalVariable('V_REP_VAR')+']';</expression>
>>
>>
>> <property name="dataType">string</property>
>> </structure>
>> </list-property>
>> <column id="11"/>
>> <column id="12"/>
>> <column id="13"/>
>> <row id="14">
>> <cell id="15"/>
>> <cell id="16"/>
>> <cell id="17"/>
>> </row>
>> <row id="18">
>> <cell id="19">
>> <text-data id="29">
>> <expression
>> name="valueExpr">'...vars=['+vars["V_REP_VAR"]+']'</expression>
>> <property name="contentType">plain</property>
>> </text-data>
>> </cell>
>> <cell id="20">
>> <data id="27">
>> <property name="resultSetColumn">Column Binding</property>
>> </data>
>> </cell>
>> <cell id="21">
>> <data id="28">
>> <property name="resultSetColumn">CB2</property>
>> </data>
>> </cell>
>> </row>
>> <row id="33">
>> <method name="onCreate"><![CDATA[vars['V_REP_VAR'] = '<newValue>'
>> reportContext.setGlobalVariable('V_REP_VAR', '<anotherValue>');
>> reportContext.setPersistentGlobalVariable('V_REP_VAR',
>> '<anotherPersistentValue>');]]></method>
>> <cell id="34">
>> <text-data id="37">
>> <expression
>> name="valueExpr">'...vars=['+vars["V_REP_VAR"]+']'</expression>
>> <property name="contentType">plain</property>
>> </text-data>
>> </cell>
>> <cell id="35">
>> <text-data id="40">
>> <expression
>> name="valueExpr">'...getGlobalVariable['+reportContext.getGlobalVariable('V_REP_VAR')+']'</expression>
>>
>>
>> <property name="contentType">plain</property>
>> </text-data>
>> </cell>
>> <cell id="36">
>> <text-data id="41">
>> <expression
>> name="valueExpr">'...getPersistentGlobalVariable['+reportContext.getPersistentGlobalVariable('V_REP_VAR')+']'</expression>
>>
>>
>> <property name="contentType">plain</property>
>> </text-data>
>> </cell>
>> </row>
>> </grid>
>> </body>
>> <property name="pageVariables">
>> <variable-element name="V_REP_VAR">
>> <expression name="value" type="javascript">'&lt;default>'</expression>
>> <property name="type">report</property>
>> </variable-element>
>> </property>
>> </report>
>>
>> Thanks for any help!
>> Robert
>>
>
Previous Topic:Toggle table visibility
Next Topic:Automated execution of reports
Goto Forum:
  


Current Time: Wed Nov 26 02:04:30 GMT 2014

Powered by FUDForum. Page generated in 0.02377 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software