Help: Error java.lang.String

serisa
edited February 11, 2022 in Analytics #1
Hi All,

I am using an existing birt design for my currently reporting.
When using the previous data source, it works fine. But after I using different data source the error happens.

ReportDesign (id = 1):
- The data type of computed column "cabang" is java.lang.String, but one of its value is "null", which cannot be converted to java.lang.String.

The data type of computed column "cabang" is java.lang.String, but one of its value is "null", which cannot be converted to java.lang.String. ( 2 time(s) )
detail : org.eclipse.birt.report.data.adapter.api.AdapterException: The data type of computed column "cabang" is java.lang.String, but one of its value is "null", which cannot be converted to java.lang.String.
at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:457)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:151)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:117)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:182)
at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1685)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:76)
at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:61)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:42)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:63)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:24)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:138)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:107)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:155)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:24)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:138)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:24)
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:76)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:138)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:85)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:106)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:140)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:68)
at com.ibm.cognos.birtservice.birt.BirtEngine.executeReport(BirtEngine.java:1058)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.ibm.cognos.birtservice.common.InvokeUtils.invokeMethod(InvokeUtils.java:100)
at com.ibm.cognos.birtservice.RunBirt.executeBirtReport(RunBirt.java:143)
at com.ibm.cognos.birtservice.RunBirt.run(RunBirt.java:55)
at com.ibm.cognos.birtservice.BirtServerHandler.runReport(BirtServerHandler.java:1170)
at com.ibm.cognos.birtservice.BirtServerHandler.performRequest(BirtServerHandler.java:682)
at com.ibm.cognos.birtservice.BirtServerHandler.invokeImpl(BirtServerHandler.java:89)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:79)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:79)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.ibm.cognos.birtservice.logic.IfElseBirtHandler.invokeImpl(IfElseBirtHandler.java:222)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:79)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:673)
at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:639)
at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:623)
at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardRequest(LoadBalanceHandler.java:546)
at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToAffineNode(LoadBalanceHandler.java:505)
at com.cognos.p2plb.clerver.LoadBalanceHandler.processHighAffinityRequest(LoadBalanceHandler.java:417)
at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:369)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:79)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:126)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:79)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:149)
at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:263)
at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:146)
at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:264)
at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:324)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1663)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)


What should I do to to fix that?
Please help.

Thank You

Erisa

Comments

  • kclark
    kclark E
    edited December 31, 1969 #2
    It looks like it has something to do with the computed column. Either it's not there or not returning the correct value. Could you post the rptdesign so I could take a look?
    Warning No formatter is installed for the format ipb
  • serisa
    edited April 4, 2013 #3
    Hi Clark,

    Thanks for replying.
    Ya i have seen the computed column and the expression inside it. But I don't understand what happen or is it must change because now it takes data from different data source. In before I use mysql database, but now I want use Informix as the data source.
    Herewith I attached the design.

    Thank You

    Erisa
  • serisa
    edited December 31, 1969 #4
  • kclark
    kclark E
    edited December 31, 1969 #5
    Can you try zipping it then attaching it?
    Warning No formatter is installed for the format ipb
  • serisa
    edited December 31, 1969 #6
    I have try and still cannot Clark.
    Can I sent you in the other way?

    Thank you

    Erisa
  • kclark
    kclark E
    edited December 31, 1969 #7
    You can post the xml here on or pastebin
    Warning No formatter is installed for the format ipb
  • serisa
    edited December 31, 1969 #8
    <?xml version="1.0" encoding="UTF-8"?>
    <report xmlns="http://www.eclipse.org/birt/2005/design&quot; version="3.2.15" id="1">
    <property name="createdBy">Eclipse BIRT Designer Version 2.2.1.r221_v20070924 Build &lt;2.2.0.v20070924-1550></property>
    <property name="units">in</property>
    <property name="comments">Copyright (c) 2011 </property>
    <html-property name="description">Creates a blank report with no predefined content.</html-property>
    <text-property name="displayName">Blank Report</text-property>
    <property name="iconFile">/templates/blank_report.gif</property>
    <parameters>
    <cascading-parameter-group name="provider-cabang" id="634">
    <property name="dataSet">provider</property>
    <property name="dataSetMode">single</property>
    <parameters>
    <scalar-parameter name="cabang" id="708">
    <property name="valueType">dynamic</property>
    <property name="dataType">string</property>
    <property name="isRequired">true</property>
    <property name="controlType">list-box</property>
    <property name="dataSetName">provider</property>
    <expression name="valueExpr">row["cabang"]</expression>
    <expression name="labelExpr">row["cabang"]</expression>
    <property name="defaultValue">Ambon-0024.btn.co.id</property>
    <structure name="format">
    <property name="category">Unformatted</property>
    </structure>
    </scalar-parameter>
    </parameters>
    </cascading-parameter-group>
    <parameter-group name="DateRange" id="331">
    <text-property name="displayName">Date Range</text-property>
    <parameters>
    <scalar-parameter name="StartDate" id="332">
    <text-property name="helpText">Start Date</text-property>
    <property name="valueType">static</property>
    <property name="dataType">dateTime</property>
    <property name="paramType">simple</property>
    <text-property name="promptText">Start Date</text-property>
    <property name="controlType">text-box</property>
    <property name="distinct">true</property>
    <structure name="format">
    <property name="category">Unformatted</property>
    </structure>
    </scalar-parameter>
    <scalar-parameter name="EndDate" id="333">
    <text-property name="helpText">End Date</text-property>
    <property name="valueType">static</property>
    <property name="dataType">dateTime</property>
    <property name="paramType">simple</property>
    <text-property name="promptText">End Date</text-property>
    <property name="controlType">text-box</property>
    <property name="distinct">true</property>
    <structure name="format">
    <property name="category">Unformatted</property>
    </structure>
    </scalar-parameter>
    </parameters>
    </parameter-group>
    </parameters>
    <data-sources>
    <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="reporter" id="303">
    <property name="odaDriverClass">com.ibm.db2.jcc.DB2Driver</property>
    <property name="odaURL">jdbc:db2://192.168.12.4:50000/REPORTER</property>
    <property name="odaUser">Administrator</property>
    <encrypted-property name="odaPassword" encryptionID="base64">ZGh1aHd1aGR1Ync=</encrypted-property>
    </oda-data-source>
    <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="ncim" id="304">
    <property name="odaDriverClass">com.informix.jdbc.IfxDriver</property>
    <property name="odaURL">jdbc:informix-sqli://192.168.12.16:9088/itnm:INFORMIXSERVER=ITNM;DELIMIDENT=YIFX_LOCK_MODE_WAIT=-1</property>
    <property name="odaUser">ncim</property>
    <encrypted-property name="odaPassword" encryptionID="base64">ZGluZWZuIGV3IGZuamtldw==</encrypted-property>
    </oda-data-source>
    </data-sources>
    <data-sets>
    <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="events" id="345">
    <list-property name="computedColumns">
    <structure>
    <property name="name">ipadd</property>
    <expression name="expression">row["NODE"].substring(0, (row["NODE"].indexOf(' ')));</expression>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="name">DurationMIN</property>
    <expression name="expression">DateTimeSpan.minutes(row["FIRSTOCCURRENCE"], row["LASTOCCURRENCE"]);</expression>
    <property name="dataType">integer</property>
    </structure>
    <structure>
    <property name="name">DurationDAY</property>
    <expression name="expression">new String((DateTimeSpan.days(row["FIRSTOCCURRENCE"], row["LASTOCCURRENCE"])) + " days ");</expression>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="name">DurationHRS</property>
    <expression name="expression">DateTimeSpan.hours(row["FIRSTOCCURRENCE"], row["LASTOCCURRENCE"]);</expression>
    <property name="dataType">integer</property>
    </structure>
    <structure>
    <property name="name">DurationHRSLEFT</property>
    <expression name="expression">new String(row["DurationHRS"]%24 + " hours ");</expression>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="name">DurationMINLEFT</property>
    <expression name="expression">new String(row["DurationMIN"]%60 + " minutes");</expression>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="name">Duration</property>
    <expression name="expression">new String(row["DurationDAY"] + row["DurationHRSLEFT"] + row["DurationMINLEFT"]);</expression>
    <property name="dataType">string</property>
    </structure>
    </list-property>
    <list-property name="columnHints">
    <structure>
    <property name="columnName">NODE</property>
    <property name="displayName">NODE</property>
    </structure>
    <structure>
    <property name="columnName">NODEALIAS</property>
    <property name="displayName">NODEALIAS</property>
    </structure>
    <structure>
    <property name="columnName">ALERTGROUP</property>
    <property name="displayName">ALERTGROUP</property>
    </structure>
    <structure>
    <property name="columnName">ALERTKEY</property>
    <property name="displayName">ALERTKEY</property>
    </structure>
    <structure>
    <property name="columnName">SUMMARY</property>
    <property name="displayName">SUMMARY</property>
    </structure>
    <structure>
    <property name="columnName">TALLY</property>
    <property name="displayName">TALLY</property>
    </structure>
    <structure>
    <property name="columnName">IDENTIFIER</property>
    <property name="displayName">IDENTIFIER</property>
    </structure>
    <structure>
    <property name="columnName">FIRSTOCCURRENCE</property>
    <property name="displayName">FIRSTOCCURRENCE</property>
    </structure>
    <structure>
    <property name="columnName">LASTOCCURRENCE</property>
    <property name="displayName">LASTOCCURRENCE</property>
    </structure>
    <structure>
    <property name="columnName">LASTMODIFIED</property>
    <property name="displayName">LASTMODIFIED</property>
    </structure>
    <structure>
    <property name="columnName">ipadd</property>
    <property name="displayName">ipadd</property>
    </structure>
    </list-property>
    <structure name="cachedMetaData">
    <list-property name="resultSet">
    <structure>
    <property name="position">1</property>
    <property name="name">NODE</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">2</property>
    <property name="name">NODEALIAS</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">3</property>
    <property name="name">ALERTGROUP</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">4</property>
    <property name="name">ALERTKEY</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">5</property>
    <property name="name">SUMMARY</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">6</property>
    <property name="name">TALLY</property>
    <property name="dataType">integer</property>
    </structure>
    <structure>
    <property name="position">7</property>
    <property name="name">IDENTIFIER</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">8</property>
    <property name="name">FIRSTOCCURRENCE</property>
    <property name="dataType">date-time</property>
    </structure>
    <structure>
    <property name="position">9</property>
    <property name="name">LASTOCCURRENCE</property>
    <property name="dataType">date-time</property>
    </structure>
    <structure>
    <property name="position">10</property>
    <property name="name">LASTMODIFIED</property>
    <property name="dataType">date-time</property>
    </structure>
    <structure>
    <property name="position">11</property>
    <property name="name">ipadd</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">12</property>
    <property name="name">DurationMIN</property>
    <property name="dataType">integer</property>
    </structure>
    <structure>
    <property name="position">13</property>
    <property name="name">DurationDAY</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">14</property>
    <property name="name">DurationHRS</property>
    <property name="dataType">integer</property>
    </structure>
    <structure>
    <property name="position">15</property>
    <property name="name">DurationHRSLEFT</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">16</property>
    <property name="name">DurationMINLEFT</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">17</property>
    <property name="name">Duration</property>
    <property name="dataType">string</property>
    </structure>
    </list-property>
    </structure>
    <property name="dataSource">reporter</property>
    <list-property name="resultSet">
    <structure>
    <property name="position">1</property>
    <property name="name">NODE</property>
    <property name="nativeName">NODE</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">2</property>
    <property name="name">NODEALIAS</property>
    <property name="nativeName">NODEALIAS</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">3</property>
    <property name="name">ALERTGROUP</property>
    <property name="nativeName">ALERTGROUP</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">4</property>
    <property name="name">ALERTKEY</property>
    <property name="nativeName">ALERTKEY</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">5</property>
    <property name="name">SUMMARY</property>
    <property name="nativeName">SUMMARY</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">6</property>
    <property name="name">TALLY</property>
    <property name="nativeName">TALLY</property>
    <property name="dataType">integer</property>
    <property name="nativeDataType">4</property>
    </structure>
    <structure>
    <property name="position">7</property>
    <property name="name">IDENTIFIER</property>
    <property name="nativeName">IDENTIFIER</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">8</property>
    <property name="name">FIRSTOCCURRENCE</property>
    <property name="nativeName">FIRSTOCCURRENCE</property>
    <property name="dataType">date-time</property>
    <property name="nativeDataType">93</property>
    </structure>
    <structure>
    <property name="position">9</property>
    <property name="name">LASTOCCURRENCE</property>
    <property name="nativeName">LASTOCCURRENCE</property>
    <property name="dataType">date-time</property>
    <property name="nativeDataType">93</property>
    </structure>
    <structure>
    <property name="position">10</property>
    <property name="name">LASTMODIFIED</property>
    <property name="nativeName">LASTMODIFIED</property>
    <property name="dataType">date-time</property>
    <property name="nativeDataType">93</property>
    </structure>
    </list-property>
    <property name="queryText">select ADMINISTRATOR.REPORTER_STATUS.NODE,
    ADMINISTRATOR.REPORTER_STATUS.NODEALIAS,
    ADMINISTRATOR.REPORTER_STATUS.ALERTGROUP,
    ADMINISTRATOR.REPORTER_STATUS.ALERTKEY,
    ADMINISTRATOR.REPORTER_STATUS.SUMMARY,
    ADMINISTRATOR.REPORTER_STATUS.TALLY,
    ADMINISTRATOR.REPORTER_STATUS.IDENTIFIER,
    ADMINISTRATOR.REPORTER_STATUS.FIRSTOCCURRENCE,
    ADMINISTRATOR.REPORTER_STATUS.LASTOCCURRENCE,
    ADMINISTRATOR.REPORTER_STATUS.LASTMODIFIED
    from ADMINISTRATOR.REPORTER_STATUS
    where ADMINISTRATOR.REPORTER_STATUS.TALLY > 3 and
    ADMINISTRATOR.REPORTER_STATUS.IDENTIFIER like '%btn.co.id%'</property>
    <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
    <model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design&quot; xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel"&gt;
    <Version>1.0</Version>
    <design:ResultSets derivedMetaData="true">
    <design:resultSetDefinitions>
    <design:resultSetColumns>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>NODE</design:name>
    <design:position>1</design:position>
    <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
    <design:precision>64</design:precision>
    <design:scale>0</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>NODE</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>NODE</design:label>
    <design:formattingHints>
    <design:displaySize>64</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>NODEALIAS</design:name>
    <design:position>2</design:position>
    <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
    <design:precision>64</design:precision>
    <design:scale>0</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>NODEALIAS</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>NODEALIAS</design:label>
    <design:formattingHints>
    <design:displaySize>64</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>ALERTGROUP</design:name>
    <design:position>3</design:position>
    <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
    <design:precision>255</design:precision>
    <design:scale>0</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>ALERTGROUP</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>ALERTGROUP</design:label>
    <design:formattingHints>
    <design:displaySize>255</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>ALERTKEY</design:name>
    <design:position>4</design:position>
    <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
    <design:precision>255</design:precision>
    <design:scale>0</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>ALERTKEY</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>ALERTKEY</design:label>
    <design:formattingHints>
    <design:displaySize>255</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>SUMMARY</design:name>
    <design:position>5</design:position>
    <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
    <design:precision>255</design:precision>
    <design:scale>0</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>SUMMARY</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>SUMMARY</design:label>
    <design:formattingHints>
    <design:displaySize>255</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>TALLY</design:name>
    <design:position>6</design:position>
    <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
    <design:precision>10</design:precision>
    <design:scale>0</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>TALLY</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>TALLY</design:label>
    <design:formattingHints>
    <design:displaySize>11</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>IDENTIFIER</design:name>
    <design:position>7</design:position>
    <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
    <design:precision>255</design:precision>
    <design:scale>0</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>IDENTIFIER</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>IDENTIFIER</design:label>
    <design:formattingHints>
    <design:displaySize>255</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>FIRSTOCCURRENCE</design:name>
    <design:position>8</design:position>
    <design:nativeDataTypeCode>93</design:nativeDataTypeCode>
    <design:precision>26</design:precision>
    <design:scale>6</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>FIRSTOCCURRENCE</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>FIRSTOCCURRENCE</design:label>
    <design:formattingHints>
    <design:displaySize>26</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>LASTOCCURRENCE</design:name>
    <design:position>9</design:position>
    <design:nativeDataTypeCode>93</design:nativeDataTypeCode>
    <design:precision>26</design:precision>
    <design:scale>6</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>LASTOCCURRENCE</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>LASTOCCURRENCE</design:label>
    <design:formattingHints>
    <design:displaySize>26</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    <design:resultColumnDefinitions>
    <design:attributes>
    <design:name>LASTMODIFIED</design:name>
    <design:position>10</design:position>
    <design:nativeDataTypeCode>93</design:nativeDataTypeCode>
    <design:precision>26</design:precision>
    <design:scale>6</design:scale>
    <design:nullability>Nullable</design:nullability>
    <design:uiHints>
    <design:displayName>LASTMODIFIED</design:displayName>
    </design:uiHints>
    </design:attributes>
    <design:usageHints>
    <design:label>LASTMODIFIED</design:label>
    <design:formattingHints>
    <design:displaySize>26</design:displaySize>
    </design:formattingHints>
    </design:usageHints>
    </design:resultColumnDefinitions>
    </design:resultSetColumns>
    </design:resultSetDefinitions>
    </design:ResultSets>
    </model:DesignValues>]]></xml-property>
    </oda-data-set>
    <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="interfaces" id="346">
    <list-property name="computedColumns">
    <structure>
    <property name="name">cabang</property>
    <expression name="expression">row["entityName"].substring(0,row["entityName"].indexOf('['))</expression>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="name">provider</property>
    <expression name="expression">row["upper(interfaces.ifAlias)"].substr(row["upper(interfaces.ifAlias)"].indexOf(' '))</expression>
    <property name="dataType">string</property>
    </structure>
    </list-property>
    <list-property name="columnHints">
    <structure>
    <property name="columnName">ipAddress</property>
    <property name="displayName">ipAddress</property>
    </structure>
    <structure>
    <property name="columnName">upper(interfaces.ifAlias)</property>
    <property name="displayName">upper(interfaces.ifAlias)</property>
    </structure>
    <structure>
    <property name="columnName">displayLabel</property>
    <property name="displayName">displayLabel</property>
    </structure>
    <structure>
    <property name="columnName">entityName</property>
    <property name="displayName">entityName</property>
    </structure>
    </list-property>
    <list-property name="filter">
    <structure>
    <property name="operator">eq</property>
    <expression name="expr">row["cabang"]</expression>
    <simple-property-list name="value1">
    <value>params["cabang"]</value>
    </simple-property-list>
    </structure>
    </list-property>
    <structure name="cachedMetaData">
    <list-property name="resultSet">
    <structure>
    <property name="position">1</property>
    <property name="name">ipAddress</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">2</property>
    <property name="name">upper(interfaces.ifAlias)</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">3</property>
    <property name="name">displayLabel</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">4</property>
    <property name="name">entityName</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">5</property>
    <property name="name">cabang</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">6</property>
    <property name="name">provider</property>
    <property name="dataType">string</property>
    </structure>
    </list-property>
    </structure>
    <property name="dataSource">ncim</property>
    <list-property name="resultSet">
    <structure>
    <property name="position">1</property>
    <property name="name">ipAddress</property>
    <property name="nativeName">ipAddress</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">2</property>
    <property name="name">upper(interfaces.ifAlias)</property>
    <property name="nativeName">upper(interfaces.ifAlias)</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">3</property>
    <property name="name">displayLabel</property>
    <property name="nativeName">displayLabel</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">4</property>
    <property name="name">entityName</property>
    <property name="nativeName">entityName</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    </list-property>
    <property name="queryText">select distinct interfaces.ipAddress,
    upper(interfaces.ifAlias),
    interfaces.displayLabel,
    interfaces.entityName
    from interfaces
    where interfaces.ipAddress is not null
    and interfaces.ifAlias like 'WAN%'
    </property>
    </oda-data-set>
    <joint-data-set name="joins_ds" id="455">
    <list-property name="filter">
    <structure>
    <property name="operator">between</property>
    <expression name="expr">row["events::FIRSTOCCURRENCE"]</expression>
    <simple-property-list name="value1">
    <value>params["StartDate"]</value>
    </simple-property-list>
    <expression name="value2">params["EndDate"]</expression>
    </structure>
    </list-property>
    <structure name="cachedMetaData">
    <list-property name="resultSet">
    <structure>
    <property name="position">1</property>
    <property name="name">interfaces::ipAddress</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">2</property>
    <property name="name">interfaces::upper(interfaces.ifAlias)</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">3</property>
    <property name="name">interfaces::displayLabel</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">4</property>
    <property name="name">interfaces::entityName</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">5</property>
    <property name="name">interfaces::cabang</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">6</property>
    <property name="name">interfaces::provider</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">7</property>
    <property name="name">events::NODE</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">8</property>
    <property name="name">events::NODEALIAS</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">9</property>
    <property name="name">events::ALERTGROUP</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">10</property>
    <property name="name">events::ALERTKEY</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">11</property>
    <property name="name">events::SUMMARY</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">12</property>
    <property name="name">events::TALLY</property>
    <property name="dataType">integer</property>
    </structure>
    <structure>
    <property name="position">13</property>
    <property name="name">events::IDENTIFIER</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">14</property>
    <property name="name">events::FIRSTOCCURRENCE</property>
    <property name="dataType">date-time</property>
    </structure>
    <structure>
    <property name="position">15</property>
    <property name="name">events::LASTOCCURRENCE</property>
    <property name="dataType">date-time</property>
    </structure>
    <structure>
    <property name="position">16</property>
    <property name="name">events::LASTMODIFIED</property>
    <property name="dataType">date-time</property>
    </structure>
    <structure>
    <property name="position">17</property>
    <property name="name">events::ipadd</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">18</property>
    <property name="name">events::DurationMIN</property>
    <property name="dataType">integer</property>
    </structure>
    <structure>
    <property name="position">19</property>
    <property name="name">events::DurationDAY</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">20</property>
    <property name="name">events::DurationHRS</property>
    <property name="dataType">integer</property>
    </structure>
    <structure>
    <property name="position">21</property>
    <property name="name">events::DurationHRSLEFT</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">22</property>
    <property name="name">events::DurationMINLEFT</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">23</property>
    <property name="name">events::Duration</property>
    <property name="dataType">string</property>
    </structure>
    </list-property>
    </structure>
    <simple-property-list name="dataSets">
    <value>interfaces</value>
    <value>events</value>
    </simple-property-list>
    <list-property name="joinConditions">
    <structure>
    <property name="joinType">left-out</property>
    <property name="joinOperator">eq</property>
    <property name="leftDataSet">interfaces</property>
    <property name="rightDataSet">events</property>
    <expression name="leftExpression">dataSetRow["ipAddress"]</expression>
    <expression name="rightExpression">dataSetRow["ipadd"]</expression>
    </structure>
    </list-property>
    </joint-data-set>
    <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="provider" id="578">
    <list-property name="computedColumns">
    <structure>
    <property name="name">prov</property>
    <expression name="expression">row["upper(interfaces.ifAlias)"].substr(row["upper(interfaces.ifAlias)"].indexOf(' '))</expression>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="name">provider</property>
    <expression name="expression">if (row["prov"].charAt(1)=="("){
    row["prov"].substring(row["prov"].indexOf('(')+1,row["prov"].indexOf(')'))
    }
    else {
    if (row["prov"].charAt(1)==" "){
    row["prov"].substr(row["prov"].indexOf(" ")+1)
    }
    else {
    row["prov"]
    }
    }</expression>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="name">cabang</property>
    <expression name="expression">row["entityName"].substring(0,row["entityName"].indexOf('['))</expression>
    <property name="dataType">string</property>
    </structure>
    </list-property>
    <list-property name="columnHints">
    <structure>
    <property name="columnName">upper(interfaces.ifAlias)</property>
    <property name="displayName">upper(interfaces.ifAlias)</property>
    </structure>
    <structure>
    <property name="columnName">entityName</property>
    <property name="displayName">entityName</property>
    </structure>
    </list-property>
    <structure name="cachedMetaData">
    <list-property name="resultSet">
    <structure>
    <property name="position">1</property>
    <property name="name">upper(interfaces.ifAlias)</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">2</property>
    <property name="name">entityName</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">3</property>
    <property name="name">prov</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">4</property>
    <property name="name">provider</property>
    <property name="dataType">string</property>
    </structure>
    <structure>
    <property name="position">5</property>
    <property name="name">cabang</property>
    <property name="dataType">string</property>
    </structure>
    </list-property>
    </structure>
    <property name="dataSource">ncim</property>
    <list-property name="resultSet">
    <structure>
    <property name="position">1</property>
    <property name="name">upper(interfaces.ifAlias)</property>
    <property name="nativeName">upper(interfaces.ifAlias)</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    <structure>
    <property name="position">2</property>
    <property name="name">entityName</property>
    <property name="nativeName">entityName</property>
    <property name="dataType">string</property>
    <property name="nativeDataType">12</property>
    </structure>
    </list-property>
    <property name="queryText">select upper(interfaces.ifAlias),
    interfaces.entityName
    from interfaces
    where interfaces.ifAlias like 'WAN%'
    order by interfaces.ifAlias</property>
    </oda-data-set>
    <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="countevent" id="707">
    <list-property name="columnHints">
    <structure>
    <property name="columnName">IDENTIFIER</property>
    <property name="displayName">IDENTIFIER</property>
    </structure>
    <structure>
    <property name="columnName">SERIAL</property>
    <property name="displayName">SERIAL</property>
    </structure>
    <structure>
    <property name="columnName">NODE</property>
    <property name="displayName">NODE</property>
    </structure>
    <structure>
    <property name="columnName">NODEALIAS</property>
    <property name="displayName">NODEALIAS</property>
    </structure>
    <structure>
    <property name="columnName">MANAGER</property>
    <property name="displayName">MANAGER</property>
    </structure>
    <structure>
    <property name="columnName">AGENT</property>
    <property name="displayName">AGENT</property>
    </structure>
    <structure>
    <property name="columnName">ALERTGROUP</property>
    <property name="displayName">ALERTGROUP</property>
    </structure>
    <structure>
    <property name="columnName">ALERTKEY</property>
    <property name="displayName">ALERTKEY</property>
    </structure>
    <structure>
    <property name="columnName">SEVERITY</property>
    <property name="displayName">SEVERITY</property>
    </structure>
    <structure>
    <property name="columnName">SUMMARY</property>
    <property name="displayName">SUMMARY</property>
    </structure>
    <structure>
    <property name="columnName">STATECHANGE</property>
    <property name="displayName">STATECHANGE</property>
    </structure>
    <structure>
    <property name="columnName">FIRSTOCCURRENCE</property>
    <property name="displayName">FIRSTOCCURRENCE</property>
    </structure>
    <structure>
    <property name="columnName">LASTOCCURRENCE</property>
    <property name="displayName">LASTOCCURRENCE</property>
    </structure>
    <structure>
    <property name="columnName">LASTMODIFIED</property>
    <property name="displayName">LASTMODIFIED</property>
    </structure>
    <structure>
    <property name="columnName">POLL</property>
    <property name="displayName">POLL</property>
    </structure>
    <structure>
    <property name="columnName">TYPE</property>
    <property name="displayName">TYPE</property>
    </structure>
    <structure>
    <property name="columnName">TALLY</property>
    <property name="displayName">TALLY</property>
    </structure>
    <structure>
    <property name="columnName">CLASS</property>
    <property name="displayName">CLASS</property>
    </structure>
    <structure>
    <property name="columnName">GRADE</property>
    <property name="displayName">GRADE</property>
    </structure>
    <structure>
    <property name="columnName">LOCATION</property>
    <property name="displayName">LOCATION</property>
    </structure>
    <structure>
    <property name="columnName">OWNERUID</property>
    <property name="displayName">OWNERUID</property>
    </structure>
    <structure>
    <property name="columnName">OWNERGID</property>
    <property name="displayName">OWNERGID</property>
    </structure>
    <structure>
    <property name="columnName">ACKNOWLEDGED</property>
    <property name="displayName">ACKNOWLEDGED</property>
    </structure>
    <structure>
    <property name="columnName">FLASH</property>
    <property name="displayName">FLASH</property>
    </structure>
    <structure>
    <property name="columnName">EVENTID</property>
    <property name="displayName">EVENTID</property>
    </structure>
    <structure>
    <property name="columnName">EXPIRETIME</property>
    <property name="displayName">EXPIRETIME</property>
    </structure>
    <structure>
    <property name="columnName">PROCESSREQ</property>
    <property name="displayName">PROCESSREQ</property>
    </structure>
    <structure>
    <property name="columnName">SUPPRESSESCL</property>
    <property name="displayName">SUPPRESSESCL</property>
    </structure>
    <structure>
    <property name="columnName">CUSTOMER</property>
    <property name="displayName">CUSTOMER</property>
    </structure>
    <structure>
  • Shasha
    edited December 31, 1969 #9
    Hi,

    Try to check for null value before converting it to string. As null value cannot be converted to string and will through error like this only
  • serisa
    edited December 31, 1969 #10
    Hi Shasha,

    This is the first time i in touch with birt report, so I dont know much about birt design. So the first I can do is checking the computed column "cabang". I check the data set and see computed column "cabang" inside the the data set. I check the expression (formula) for "cabang". It takes data from "entity name" in interface column (ncim database). So I check whether "entity name" exist in the informix database, and it exists. (it means not null value right?)
    I just think i have to customize the expression from computed column "cabang" based the format of databse. But I dont know how to custom it. Or am i wrong?

    The expression is like this :
    Expression: row["entityName"].substring(0,row["entityName"].indexOf('['))

    I attached the screenshot of the database. Please take a look.

    Thank You
  • Shasha
    edited December 31, 1969 #11
    Just check row["entityName"] for null

    if( row["entityName"]!=null)
    {
    row["entityName"].substring(0,row["entityName"].indexOf('['))
    }
  • serisa
    edited December 31, 1969 #12
    Hi Sasha,

    Sorry, i just realize the database is not attached.
    I already check it (i want to attached it, but failed).
    0 row where entity name is null

    Thank you
  • Shasha
    edited December 31, 1969 #13
    Hi Serisa,

    u wont see null values. I was referring to blank values or empty string values.
    I gave you the expression just add that.

    i.e replace

    new String(row["Percentage"].toString().substring(0, (row["Percentage"].toString().indexOf('.')+3)))

    by

    if(row["Percentage"]!=null)
    {
    new String(row["Percentage"].toString().substring(0, (row["Percentage"].toString().indexOf('.')+3)))
    }
    else
    {
    ""
    }