Home
Analytics
how can I update inventory abc.rptdesign report?
cmsanchez
Hi all,
I have customized the standard report inventory_abc.rptdesign adding some parameters. My problem is that at the end of the report there is a link to update the database. This link invokes to another report that is called inventory_abc_update. rptdesign. The problem is that I can?t find the way this link works propertly, and update the databse, I only get a message that says 'problem encountered with database update, database update succesful'. I don?t understand this confusing message.
Find more posts tagged with
Comments
JasonW
Where are you seeing the message? Can you post the update report?
Jason
cmsanchez
<blockquote class='ipsBlockquote' data-author="'JasonW'" data-cid="91047" data-time="1323376112" data-date="08 December 2011 - 01:28 PM"><p>
Where are you seeing the message? Can you post the update report?<br />
<br />
Jason<br /></p></blockquote>
<br />
Hi Jason, <br />
<br />
The message appears at the end of the report, in the last page: <br />
<br />
Problem Encountered with DataBase Update<br />
<br />
DataBase Update Succesful<br />
<br />
Below I post the Report modified adding the parameter 'commoditygroup'<br />
<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<report xmlns="<a class='bbc_url' href='
http://www.eclipse.org/birt/2005/design'>http://www.eclipse.org/birt/2005/design"</a>
; version="3.2.17" id="1"><br />
<property name="createdBy">Eclipse BIRT Designer Version 2.3.2.r232_20090202 Build <2.3.2.v20090218-0730></property><br />
<property name="units">in</property><br />
<simple-property-list name="includeResource"><br />
<value>inventory</value><br />
</simple-property-list><br />
<property name="comments">Copyright (c) 2006 <<Your Company Name here>></property><br />
<html-property name="description">This template will create a report having a single header with multiple rows of data, and contains three styles of charts.</html-property><br />
<method name="initialize"><![CDATA[importPackage(Packages.com.ibm.tivoli.maximo.report.script);<br />
<br />
var timeInMs = Date.now();<br />
<br />
attkey = "st-inventor_abc_" + params["appname"]+ "_"+ timeInMs;<br />
dskey = "ds-inventor_abc_" + params["appname"]+ "_"+ timeInMs;<br />
<br />
mxReportScriptContext = MXReportScriptContext.initialize(reportContext);<br />
<br />
//mxReportScriptContext.setDefaultLogLevel("DEBUG");<br />
<br />
mxReportScriptContext.setDefaultLogFile("./temp/inventory_abc.log");<br />
<br />
scriptLogger = mxReportScriptContext.getReportScriptLogger();<br />
<br />
function sumFunction(dataSet, field){<br />
if(dataSet.isDB2())<br />
return(" sum(decimal(" + field + ", 10, 5))");<br />
else <br />
if(dataSet.isOracle())<br />
return(" sum(" + field + ")");<br />
else <br />
return(" sum(cast(( "+ field +") as decimal)) ");<br />
}]]></method><br />
<method name="afterFactory"><![CDATA[MXReportScriptContext.close();]]></method><br />
<property name="theme">MaximoSystemLibrary.maximoTheme</property><br />
<text-property name="displayName">Tivoli Maximo List Chart Template</text-property><br />
<list-property name="libraries"><br />
<structure><br />
<property name="fileName">MaximoSystemLibrary.rptlibrary</property><br />
<property name="namespace">MaximoSystemLibrary</property><br />
</structure><br />
</list-property><br />
<parameters><br />
<scalar-parameter name="where" id="25"><br />
<property name="valueType">static</property><br />
<property name="dataType">string</property><br />
<property name="isRequired">false</property><br />
<property name="controlType">text-box</property><br />
<property name="defaultValue">1=1</property><br />
<structure name="format"><br />
<property name="category">Unformatted</property><br />
</structure><br />
</scalar-parameter><br />
<scalar-parameter name="appname" id="200"><br />
<property name="valueType">static</property><br />
<property name="dataType">string</property><br />
<property name="isRequired">false</property><br />
<property name="controlType">text-box</property><br />
<structure name="format"><br />
<property name="category">Unformatted</property><br />
</structure><br />
</scalar-parameter><br />
<scalar-parameter name="paramdelimiter" id="202"><br />
<property name="hidden">true</property><br />
<property name="valueType">static</property><br />
<property name="dataType">string</property><br />
<property name="isRequired">false</property><br />
<property name="controlType">text-box</property><br />
<structure name="format"><br />
<property name="category">Unformatted</property><br />
</structure><br />
</scalar-parameter><br />
<scalar-parameter name="paramstring" id="201"><br />
<property name="hidden">true</property><br />
<property name="valueType">static</property><br />
<property name="dataType">string</property><br />
<property name="isRequired">false</property><br />
<property name="controlType">text-box</property><br />
<structure name="format"><br />
<property name="category">Unformatted</property><br />
</structure><br />
</scalar-parameter><br />
<scalar-parameter name="storeroom" id="536"><br />
<property name="valueType">static</property><br />
<property name="dataType">string</property><br />
<text-property name="promptText">storeroom</text-property><br />
<property name="isRequired">true</property><br />
<property name="controlType">text-box</property><br />
<structure name="format"><br />
<property name="category">Unformatted</property><br />
</structure><br />
</scalar-parameter><br />
<scalar-parameter name="site" id="537"><br />
<property name="valueType">static</property><br />
<property name="dataType">string</property><br />
<text-property name="promptText">site</text-property><br />
<property name="isRequired">true</property><br />
<property name="controlType">text-box</property><br />
<structure name="format"><br />
<property name="category">Unformatted</property><br />
</structure><br />
</scalar-parameter><br />
<scalar-parameter name="commoditygroup" id="538"><br />
<property name="valueType">static</property><br />
<property name="dataType">string</property><br />
<text-property name="promptText">commoditygroup</text-property><br />
<property name="isRequired">true</property><br />
<property name="controlType">text-box</property><br />
<structure name="format"><br />
<property name="category">Unformatted</property><br />
</structure><br />
</scalar-parameter><br />
</parameters><br />
<data-sources><br />
<script-data-source name="maximoDataSource" id="64" extends="MaximoSystemLibrary.maximoDataSource"/><br />
</data-sources><br />
<data-sets><br />
<script-data-set name="dataSet" id="5"><br />
<list-property name="resultSetHints"><br />
<structure><br />
<property name="position">1</property><br />
<property name="name">itemnum</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">2</property><br />
<property name="name">description</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">3</property><br />
<property name="name">abctype</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">4</property><br />
<property name="name">abcafter</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">5</property><br />
<property name="name">ccf</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">6</property><br />
<property name="name">ccfafter</property><br />
<property name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">7</property><br />
<property name="name">issueytd</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">8</property><br />
<property name="name">lastcost</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">9</property><br />
<property name="name">ytd_issuecost</property><br />
<property name="dataType">decimal</property><br />
</structure><br />
<structure><br />
<property name="position">10</property><br />
<property name="name">tot_ytdissuecost</property><br />
<property name="dataType">decimal</property><br />
</structure><br />
<structure><br />
<property name="position">11</property><br />
<property name="name">total_a</property><br />
<property name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">12</property><br />
<property name="name">total_b</property><br />
<property name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">13</property><br />
<property name="name">total_c</property><br />
<property name="dataType">integer</property><br />
</structure><br />
</list-property><br />
<list-property name="columnHints"><br />
<structure><br />
<property name="columnName">itemnum</property><br />
</structure><br />
<structure><br />
<property name="columnName">description</property><br />
</structure><br />
<structure><br />
<property name="columnName">abctype</property><br />
</structure><br />
<structure><br />
<property name="columnName">abcafter</property><br />
</structure><br />
<structure><br />
<property name="columnName">ccf</property><br />
</structure><br />
<structure><br />
<property name="columnName">ccfafter</property><br />
</structure><br />
<structure><br />
<property name="columnName">issueytd</property><br />
</structure><br />
<structure><br />
<property name="columnName">lastcost</property><br />
</structure><br />
<structure><br />
<property name="columnName">ytd_issuecost</property><br />
</structure><br />
<structure><br />
<property name="columnName">tot_ytdissuecost</property><br />
</structure><br />
<structure><br />
<property name="columnName">total_a</property><br />
</structure><br />
<structure><br />
<property name="columnName">total_b</property><br />
</structure><br />
<structure><br />
<property name="columnName">total_c</property><br />
</structure><br />
</list-property><br />
<structure name="cachedMetaData"><br />
<list-property name="resultSet"><br />
<structure><br />
<property name="position">1</property><br />
<property name="name">itemnum</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">2</property><br />
<property name="name">description</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">3</property><br />
<property name="name">abctype</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">4</property><br />
<property name="name">abcafter</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">5</property><br />
<property name="name">ccf</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">6</property><br />
<property name="name">ccfafter</property><br />
<property name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">7</property><br />
<property name="name">issueytd</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">8</property><br />
<property name="name">lastcost</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">9</property><br />
<property name="name">ytd_issuecost</property><br />
<property name="dataType">decimal</property><br />
</structure><br />
<structure><br />
<property name="position">10</property><br />
<property name="name">tot_ytdissuecost</property><br />
<property name="dataType">decimal</property><br />
</structure><br />
<structure><br />
<property name="position">11</property><br />
<property name="name">total_a</property><br />
<property name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">12</property><br />
<property name="name">total_b</property><br />
<property name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">13</property><br />
<property name="name">total_c</property><br />
<property name="dataType">integer</property><br />
</structure><br />
</list-property><br />
</structure><br />
<property name="dataSource">maximoDataSource</property><br />
<list-property name="parameters"><br />
<structure><br />
<property name="name">myUpd</property><br />
<property name="dataType">string</property><br />
<property name="position">1</property><br />
<property name="isInput">true</property><br />
<property name="isOutput">true</property><br />
</structure><br />
</list-property><br />
<method name="open"><![CDATA[maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());<br />
maximoDataSet.open();<br />
<br />
****_ytd = 0;<br />
temp_ytd = 0;<br />
<br />
var request = reportContext.getHttpServletRequest();<br />
<br />
if( BirtComp.notEqual(request, null) ) {<br />
var session = request.getSession();<br />
session.setAttribute(dskey, this.getDataSource().getName());<br />
session.setAttribute("where", params["where"].value);<br />
}<br />
<br />
params["paramdelimiter"] = "||";<br />
params["paramstring"] = attkey + params["paramdelimiter"] + dskey;<br />
<br />
if( BirtComp.notEqual(params["storeroom"],null) && BirtComp.notEqual(params["storeroom"], "") ) {<br />
params["where"]+= " and " + MXReportSqlFormat.createParamWhereClause("inventory.location", params["storeroom"]);<br />
}<br />
<br />
if( BirtComp.notEqual(params["site"], null) && BirtComp.notEqual(params["site"], "") ) {<br />
params["where"]+= " and " + MXReportSqlFormat.createParamWhereClause("inventory.siteid", params["site"]);<br />
}<br />
<br />
if( BirtComp.notEqual(params["commoditygroup"], null) && BirtComp.notEqual(params["commoditygroup"], "") ) {<br />
params["where"]+= " and " + MXReportSqlFormat.createParamWhereClause("item.commoditygroup", params["commoditygroup"]);<br />
}<br />
<br />
var sqlJoin = " inner join item on inventory.itemnum = item.itemnum and inventory.itemsetid = item.itemsetid "<br />
+ " and (inventory.abctype not in('N', 'NA') or inventory.abctype is null) "<br />
+ " inner join invcost on inventory.location = invcost.location and inventory.itemnum = invcost.itemnum "<br />
+ " and inventory.itemsetid = invcost.itemsetid and inventory.siteid = invcost.siteid "<br />
;<br />
<br />
var sqlTotalIssueCost = " ( select sum(inventory.issueytd * invcost.lastcost) as tot_ytdissuecost "<br />
+ " from inventory " + sqlJoin + " where " + params["where"] + " ) "<br />
;<br />
<br />
<br />
if(!(maximoDataSet.isOracle())) sqlTotalIssueCost += " as totytdissuecost ";<br />
<br />
var sqlText = " select inventory.itemnum, item.description, inventory.abctype, inventory.ccf, "<br />
+ " inventory.issueytd, invcost.lastcost, (inventory.issueytd * invcost.lastcost) as ytd_issuecost, "<br />
+ " tot_ytdissuecost, inventory.itemsetid from inventory " <br />
+ sqlJoin + "," + sqlTotalIssueCost + " where " + params["where"]<br />
+ " order by ytd_issuecost desc "<br />
;<br />
<br />
scriptLogger.debug("sql Query ==> " + sqlText);<br />
<br />
maximoDataSet.setQuery(sqlText);<br />
<br />
<br />
orgIdDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), "orgIdDataSet");<br />
orgIdDataSet.open();<br />
var orgIdSql = " select site.orgid from site where siteid = '" + (params["site"].replace(/[=!,]/,"")) + "'";<br />
<br />
orgIdDataSet.setQuery(orgIdSql);<br />
<br />
if(orgIdDataSet.fetch()){<br />
orgid = orgIdDataSet.getString("orgid");<br />
}<br />
orgIdDataSet.close();<br />
<br />
<br />
abcAfterDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), "abcAfterDataSet");<br />
abcAfterDataSet.open();<br />
<br />
<br />
<br />
var abcAfterSql=new String();<br />
<br />
if(abcAfterDataSet.isOracle()){<br />
abcAfterSql = " select * from "<br />
+ " (select " + sumFunction(abcAfterDataSet, "maxvars.varvalue") + " as a_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT') and orgid = '" + orgid + "' ) ";<br />
abcAfterSql += ", (select " + sumFunction(abcAfterDataSet, "maxvars.varvalue") + " as b_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT') and orgid = '" + orgid + "' ) ";<br />
abcAfterSql += ", (select " + sumFunction(abcAfterDataSet, "maxvars.varvalue") + " as c_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT', 'C_BREAKPOINT') and orgid = '" + orgid + "' ) "<br />
;<br />
}<br />
<br />
if(abcAfterDataSet.isDB2()){<br />
abcAfterSql = " select a_abcafter, b_abcafter, c_abcafter from ";<br />
abcAfterSql += " (select sum(decimal((a_abcafter),10,5)) as a_abcafter from ( select(maxvars.varvalue) as a_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT') and orgid = '" + orgid + "' ) as a) atable, "; <br />
abcAfterSql += " (select sum(decimal((b_abcafter),10,5)) as b_abcafter from ( select(maxvars.varvalue) as b_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT') and orgid = '" + orgid + "' ) as
btable, "; <br />
abcAfterSql += " (select sum(decimal((c_abcafter),10,5)) as c_abcafter from ( select(maxvars.varvalue) as c_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT', 'C_BREAKPOINT') and orgid = '" + orgid + "' ) as c) ctable "; <br />
}<br />
<br />
if(abcAfterDataSet.isSQLServer()){<br />
abcAfterSql = " select a_abcafter, b_abcafter, c_abcafter from ";<br />
abcAfterSql += " (select sum(cast((a_abcafter) as float)) as a_abcafter from ( select(maxvars.varvalue) as a_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT') and orgid = '" + orgid + "' ) as a) atable, "; <br />
abcAfterSql += " (select sum(cast((b_abcafter) as float)) as b_abcafter from ( select(maxvars.varvalue) as b_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT') and orgid = '" + orgid + "' ) as
btable, "; <br />
abcAfterSql += " (select sum(cast((c_abcafter) as float)) as c_abcafter from ( select(maxvars.varvalue) as c_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT', 'C_BREAKPOINT') and orgid = '" + orgid + "' ) as c) ctable "; <br />
}<br />
<br />
abcAfterDataSet.setQuery(abcAfterSql);<br />
<br />
if(abcAfterDataSet.fetch()){<br />
a_abcafter = abcAfterDataSet.getFloat("a_abcafter");<br />
b_abcafter = abcAfterDataSet.getFloat("b_abcafter");<br />
c_abcafter = abcAfterDataSet.getFloat("c_abcafter");<br />
}<br />
abcAfterDataSet.close();<br />
<br />
ccfAfterDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), "ccfAfterDataSet");<br />
ccfAfterDataSet.open();<br />
<br />
var ccfAfterSql = " select * from "<br />
+ " (select " + sumFunction(ccfAfterDataSet, "maxvars.varvalue") + " as a_ccfafter from maxvars where maxvars.varname in ('A_CCF') and orgid = '" + orgid + "' ) ";<br />
<br />
if(!(ccfAfterDataSet.isOracle())) ccfAfterSql += " as a, ";<br />
else ccfAfterSql += " , ";<br />
<br />
ccfAfterSql += " (select " + sumFunction(ccfAfterDataSet, "maxvars.varvalue") + " as b_ccfafter from maxvars where maxvars.varname in ('B_CCF') and orgid = '" + orgid + "' ) ";<br />
<br />
if(!(ccfAfterDataSet.isOracle())) ccfAfterSql += " as b, ";<br />
else ccfAfterSql += " , ";<br />
<br />
ccfAfterSql += " (select " + sumFunction(ccfAfterDataSet, "maxvars.varvalue") + " as c_ccfafter from maxvars where maxvars.varname in ('C_CCF') and orgid = '" + orgid + "' ) ";<br />
<br />
if(!(ccfAfterDataSet.isOracle())) ccfAfterSql += " as c ";<br />
<br />
ccfAfterDataSet.setQuery(ccfAfterSql);<br />
<br />
if(ccfAfterDataSet.fetch()){<br />
a_ccfafter = ccfAfterDataSet.getFloat("a_ccfafter");<br />
b_ccfafter = ccfAfterDataSet.getFloat("b_ccfafter");<br />
c_ccfafter = ccfAfterDataSet.getFloat("c_ccfafter");<br />
}<br />
ccfAfterDataSet.close();]]></method><br />
<method name="fetch"><![CDATA[if (!maximoDataSet.fetch())<br />
return (false);<br />
<br />
tot_ytdissuecost = maximoDataSet.getFloat("tot_ytdissuecost")<br />
ytd_issuecost = maximoDataSet.getFloat("ytd_issuecost");<br />
<br />
****_ytd = (ytd_issuecost/tot_ytdissuecost) + temp_ytd;<br />
temp_ytd = ****_ytd;<br />
<br />
if(****_ytd <= a_abcafter){<br />
abcafter = "A";<br />
ccfafter = a_ccfafter;<br />
}<br />
else if (****_ytd >= b_abcafter){<br />
abcafter = "C";<br />
ccfafter = c_ccfafter;<br />
}<br />
else{<br />
abcafter = "B";<br />
ccfafter = b_ccfafter;<br />
}<br />
<br />
row["itemnum"] = maximoDataSet.getString("itemnum");<br />
row["description"] = maximoDataSet.getString("description");<br />
//row["abctype"] = maximoDataSet.getString("abctype");<br />
row["abcbefore"] = maximoDataSet.getString("abctype");<br />
row["abcafter"] = abcafter;<br />
row["ccf"] = maximoDataSet.getString("ccf");<br />
row["ccfafter"] = ccfafter ;<br />
row["issueytd"] = maximoDataSet.getString("issueytd");<br />
row["lastcost"] = maximoDataSet.getFloat("lastcost");<br />
row["ytd_issuecost"] = ytd_issuecost;<br />
row["tot_ytdissuecost"] = tot_ytdissuecost;<br />
<br />
<br />
var request = reportContext.getHttpServletRequest();<br />
<br />
if(BirtComp.notEqual(request,null)) {<br />
var session = request.getSession();<br />
var updStmtList = session.getAttribute(attkey);<br />
<br />
if (scriptLogger.isDebugEnabled()) {<br />
scriptLogger.debug("["+ maximoDataSet.getName() + "] >>> BirtComp.equalTo(updStmtList,null) : '" + BirtComp.equalTo(updStmtList,null) + "'");<br />
}<br />
<br />
if(BirtComp.equalTo(updStmtList,null)) {<br />
updStmtList = new Array;<br />
}<br />
<br />
var updateQuery = "update inventory set inventory.abctype = '" + abcafter + "', inventory.ccf = " + ccfafter<br />
+ " where " + params["where"] + " and (inventory.abctype not in('N', 'NA') or inventory.abctype is null) "<br />
+ " and inventory.itemnum = '" + maximoDataSet.getString("itemnum") + "'"<br />
+ " and inventory.itemsetid = '" + maximoDataSet.getString("itemsetid") + "'"<br />
;<br />
<br />
updStmtList.push(updateQuery);<br />
<br />
session.setAttribute(attkey, updStmtList);<br />
}<br />
<br />
return (true);]]></method><br />
</script-data-set><br />
<script-data-set name="graphDataSet" id="535"><br />
<list-property name="resultSetHints"><br />
<structure><br />
<property name="position">1</property><br />
<property name="name">abctype</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">2</property><br />
<property name="name">sumbefore</property><br />
<property name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">3</property><br />
<property name="name">sumafter</property><br />
<property name="dataType">integer</property><br />
</structure><br />
</list-property><br />
<list-property name="columnHints"><br />
<structure><br />
<property name="columnName">abctype</property><br />
</structure><br />
<structure><br />
<property name="columnName">sumbefore</property><br />
</structure><br />
<structure><br />
<property name="columnName">sumafter</property><br />
</structure><br />
</list-property><br />
<structure name="cachedMetaData"><br />
<list-property name="resultSet"><br />
<structure><br />
<property name="position">1</property><br />
<property name="name">abctype</property><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="position">2</property><br />
<property name="name">sumbefore</property><br />
<property name="dataType">integer</property><br />
</structure><br />
<structure><br />
<property name="position">3</property><br />
<property name="name">sumafter</property><br />
<property name="dataType">integer</property><br />
</structure><br />
</list-property><br />
</structure><br />
<property name="dataSource">maximoDataSource</property><br />
<method name="open"><![CDATA[graphDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());<br />
graphDataSet.open();<br />
<br />
<br />
var where = new String();<br />
where= " 1=1 ";<br />
<br />
if( BirtComp.notEqual(params["storeroom"], null) && BirtComp.notEqual(params["storeroom"], "") ) {<br />
where += " and " + MXReportSqlFormat.createParamWhereClause("inventory.location", params["storeroom"]);<br />
}<br />
<br />
if( BirtComp.notEqual(params["site"], null) && BirtComp.notEqual(params["site"], "") ) {<br />
where += " and " + MXReportSqlFormat.createParamWhereClause("inventory.siteid", params["site"]);<br />
}<br />
<br />
if( BirtComp.notEqual(params["commoditygroup"], null) && BirtComp.notEqual(params["commoditygroup"], "") ) {<br />
where += " and " + MXReportSqlFormat.createParamWhereClause("item.commoditygroup", params["commoditygroup"]);<br />
}<br />
<br />
var sqlText = new String();<br />
var abcAfterSql = new String();<br />
var sqlJoin = new String();<br />
var sqlTotalIssueCost = new String();<br />
<br />
<br />
var sqlJoin = " inner join item on inventory.itemnum = item.itemnum and inventory.itemsetid = item.itemsetid "<br />
+ " and (inventory.abctype not in('N', 'NA') or inventory.abctype is null) "<br />
+ " inner join invcost on inventory.location = invcost.location and inventory.itemnum = invcost.itemnum "<br />
+ " and inventory.itemsetid = invcost.itemsetid and inventory.siteid = invcost.siteid "<br />
;<br />
<br />
var sqlTotalIssueCost = " ( select sum(inventory.issueytd * invcost.lastcost) as tot_ytdissuecost "<br />
+ " from inventory " + sqlJoin + " where " + where + " ) "<br />
;<br />
<br />
<br />
if(!(graphDataSet.isOracle())) sqlTotalIssueCost += " as totytdissuecost ";<br />
<br />
var firstQuery = "select count(abctype) as totalbef, abctype, 0 as zerovalue from ( "<br />
+ " select inventory.itemnum, item.description, inventory.abctype, inventory.ccf, "<br />
+ " inventory.issueytd, invcost.lastcost, (inventory.issueytd * invcost.lastcost) as ytd_issuecost, "<br />
+ " tot_ytdissuecost, inventory.itemsetid from inventory " <br />
+ sqlJoin + "," + sqlTotalIssueCost + " where " + where<br />
+ " and inventory.abctype is not null ";<br />
<br />
var nullQuery = " union all select abctype, count(itemnum) as totalbef, 0 as totalaft from ( "<br />
+ " select inventory.itemnum, item.description, inventory.abctype, inventory.ccf, "<br />
+ " inventory.issueytd, invcost.lastcost, (inventory.issueytd * invcost.lastcost) as ytd_issuecost, "<br />
+ " tot_ytdissuecost, inventory.itemsetid from inventory " <br />
+ sqlJoin + "," + sqlTotalIssueCost + " where " + where<br />
+ " and inventory.abctype is null ";<br />
<br />
<br />
if(!(graphDataSet.isSQLServer())) firstQuery += " order by abctype, ytd_issuecost desc "<br />
;<br />
<br />
var abcAfterSql=new String();<br />
<br />
if(graphDataSet.isOracle()){<br />
abcAfterSql = " select * from "<br />
+ " (select " + sumFunction(graphDataSet, "maxvars.varvalue") + " as a_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT') and orgid = '" + orgid + "' ) ";<br />
abcAfterSql += ", (select " + sumFunction(graphDataSet, "maxvars.varvalue") + " as b_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT') and orgid = '" + orgid + "' ) ";<br />
abcAfterSql += ", (select " + sumFunction(graphDataSet, "maxvars.varvalue") + " as c_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT', 'C_BREAKPOINT') and orgid = '" + orgid + "' ) "<br />
;<br />
}<br />
<br />
if(graphDataSet.isDB2()){<br />
abcAfterSql = " select a_abcafter, b_abcafter, c_abcafter from ";<br />
abcAfterSql += " (select sum(decimal((a_abcafter),10,5)) as a_abcafter from ( select(maxvars.varvalue) as a_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT') and orgid = '" + orgid + "' ) as a) atable, "; <br />
abcAfterSql += " (select sum(decimal((b_abcafter),10,5)) as b_abcafter from ( select(maxvars.varvalue) as b_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT') and orgid = '" + orgid + "' ) as
btable, "; <br />
abcAfterSql += " (select sum(decimal((c_abcafter),10,5)) as c_abcafter from ( select(maxvars.varvalue) as c_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT', 'C_BREAKPOINT') and orgid = '" + orgid + "' ) as c) ctable "; <br />
}<br />
<br />
if(graphDataSet.isSQLServer()){<br />
abcAfterSql = " select a_abcafter, b_abcafter, c_abcafter from ";<br />
abcAfterSql += " (select sum(cast((a_abcafter) as float)) as a_abcafter from ( select(maxvars.varvalue) as a_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT') and orgid = '" + orgid + "' ) as a) atable, "; <br />
abcAfterSql += " (select sum(cast((b_abcafter) as float)) as b_abcafter from ( select(maxvars.varvalue) as b_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT') and orgid = '" + orgid + "' ) as
btable, "; <br />
abcAfterSql += " (select sum(cast((c_abcafter) as float)) as c_abcafter from ( select(maxvars.varvalue) as c_abcafter from maxvars where maxvars.varname in ('A_BREAKPOINT', 'B_BREAKPOINT', 'C_BREAKPOINT') and orgid = '" + orgid + "' ) as c) ctable "; <br />
}<br />
<br />
<br />
var secondQuery = " select (inventory.issueytd * invcost.lastcost/tot_ytdissuecost) as svalue, invcost.lastcost, inventory.itemnum, "<br />
+ " inventory.abctype, inventory.issueytd, (inventory.issueytd * invcost.lastcost) as ytd_issuecost, tot_ytdissuecost "<br />
+ " from inventory "<br />
+ sqlJoin + "," + sqlTotalIssueCost + " where " + where<br />
+ " group by inventory.itemnum, inventory.abctype, inventory.ccf, inventory.issueytd, invcost.lastcost, (inventory.issueytd * invcost.lastcost), tot_ytdissuecost, inventory.itemsetid ";<br />
<br />
if(!(graphDataSet.isSQLServer())) secondQuery += " order by ytd_issuecost desc ";<br />
<br />
if(graphDataSet.isOracle()){<br />
<br />
var sqlText = "select abctype, totalbef, totalaft from ( " + firstQuery <br />
+ " ) group by abctype order by abctype) firstt, ( select count(newabctype) as totalaft, newabctype from ( "<br />
+ " select case when totalafter<=a_abcafter then 'A' when totalafter>b_abcafter then 'C' else 'B' end as newabctype "<br />
+ " from( select inv.itemnum, sum(inv2.svalue) as totalafter from ( "<br />
+ secondQuery + ") inv, ( "+ secondQuery + ") inv2 "<br />
+ " where inv.svalue<=inv2.svalue or inv.itemnum=inv2.itemnum "<br />
+ " group by inv.itemnum, inv.svalue "<br />
+ " order by inv.svalue desc "<br />
+ " ) cumultable, (" + abcAfterSql + " )) group by newabctype) secondt where abctype=newabctype "<br />
+ nullQuery + " ) group by abctype order by abctype "<br />
;<br />
}<br />
if(graphDataSet.isDB2()){<br />
var sqlText = "select abctype, totalbef, totalaft from ( " + firstQuery <br />
+ " ) as firsttab group by abctype order by abctype) firstt, ( select count(newabctype) as totalaft, newabctype from ( "<br />
+ " select case when totalafter<=a_abcafter then 'A' when totalafter>b_abcafter then 'C' else 'B' end as newabctype "<br />
+ " from( select inv.itemnum, sum(inv2.svalue) as totalafter from ( "<br />
+ secondQuery + ") inv, ( "+ secondQuery + ") inv2 "<br />
+ " where inv.svalue<=inv2.svalue or inv.itemnum=inv2.itemnum "<br />
+ " group by inv.itemnum, inv.svalue "<br />
+ " order by inv.svalue desc "<br />
+ " ) cumultable, (" + abcAfterSql + " ) as sumtab) sumtab2 group by newabctype) secondt where abctype=newabctype "<br />
+ nullQuery + " ) nulltab group by abctype order by abctype "<br />
;<br />
<br />
}<br />
<br />
if(graphDataSet.isSQLServer()) {<br />
<br />
var sqlText = "select abctype, totalbef, totalaft from ( " + firstQuery <br />
+ " ) as firsttab group by abctype ) firstt, ( select count(newabctype) as totalaft, newabctype from ( "<br />
+ " select case when totalafter<=a_abcafter then 'A' when totalafter>b_abcafter then 'C' else 'B' end as newabctype "<br />
+ " from( select inv.itemnum, sum(inv2.svalue) as totalafter from ( "<br />
+ secondQuery + ") inv, ( "+ secondQuery + ") inv2 "<br />
+ " where inv.svalue<=inv2.svalue or inv.itemnum=inv2.itemnum "<br />
+ " group by inv.itemnum, inv.svalue "<br />
+ " ) cumultable, (" + abcAfterSql + " ) as sumtab) sumtab2 group by newabctype) secondt where abctype=newabctype " <br />
+ nullQuery + ") as nulltab group by abctype " <br />
;<br />
<br />
}<br />
<br />
<br />
graphDataSet.setQuery(sqlText);]]></method><br />
<method name="fetch"><![CDATA[if (!graphDataSet.fetch())<br />
return (false);<br />
<br />
row["abctype"] = graphDataSet.getString("abctype");<br />
row["sumbefore"] = graphDataSet.getInteger("totalbef");<br />
row["sumafter"] = graphDataSet.getInteger("totalaft"); <br />
<br />
return (true);]]></method><br />
</script-data-set><br />
</data-sets><br />
<page-setup><br />
<simple-master-page name="maximoLandscape" id="47" extends="MaximoSystemLibrary.maximoLandscape"><br />
<overridden-values><br />
<ref-entry baseId="304" name="NewGrid2" id="304"/><br />
<ref-entry baseId="305" id="305"/><br />
<ref-entry baseId="306" id="306"/><br />
<ref-entry baseId="307" id="307"/><br />
<ref-entry baseId="308" id="308"/><br />
<ref-entry baseId="340" name="NewImage1" id="340"/><br />
<ref-entry baseId="309" id="309"/><br />
<ref-entry baseId="310" name="NewImage" id="310"/><br />
<ref-entry baseId="322" name="NewGrid" id="322"/><br />
<ref-entry baseId="323" id="323"/><br />
<ref-entry baseId="324" id="324"/><br />
<ref-entry baseId="325" id="325"/><br />
<ref-entry baseId="326" id="326"/><br />
<ref-entry baseId="328" name="NewText" id="328"/><br />
<ref-entry baseId="327" id="327"/><br />
<ref-entry baseId="329" name="NewGrid1" id="329"/><br />
<ref-entry baseId="330" id="330"/><br />
<ref-entry baseId="331" id="331"/><br />
<ref-entry baseId="332" id="332"/><br />
<ref-entry baseId="333" id="333"/><br />
<ref-entry baseId="334" id="334"/><br />
<ref-entry baseId="335" name="NewAutoText" id="335"/><br />
<ref-entry baseId="336" id="336"/><br />
<ref-entry baseId="337" name="NewText1" id="337"/><br />
<ref-entry baseId="338" id="338"/><br />
<ref-entry baseId="339" name="NewAutoText1" id="339"/><br />
</overridden-values><br />
</simple-master-page><br />
</page-setup><br />
<body><br />
<data id="487"><br />
<structure name="stringFormat"><br />
<property name="category">></property><br />
<property name="pattern">></property><br />
</structure><br />
<property name="resultSetColumn">abctype</property><br />
</data><br />
<table id="7"><br />
<property name="width">100%</property><br />
<property name="pageBreakInterval">50</property><br />
<column id="83"><br />
<property name="width">0.9in</property><br />
</column><br />
<column id="79"><br />
<property name="width">2.6in</property><br />
</column><br />
<column id="91"><br />
<property name="width">0.8in</property><br />
</column><br />
<column id="578"><br />
<property name="width">0.9in</property><br />
</column><br />
<column id="568"><br />
<property name="width">0.8in</property><br />
</column><br />
<column id="558"><br />
<property name="width">0.9in</property><br />
</column><br />
<column id="548"><br />
<property name="width">0.9in</property><br />
</column><br />
<column id="87"><br />
<property name="width">0.9in</property><br />
</column><br />
<column id="17"><br />
<property name="width">1.2in</property><br />
</column><br />
<column id="18"><br />
<property name="width">0.1in</property><br />
</column><br />
<header><br />
<row id="180"><br />
<property name="style">title</property><br />
<cell id="181"><br />
<property name="colSpan">10</property><br />
<property name="rowSpan">1</property><br />
<label id="341"><br />
<text-property name="text" key="inventory_abc.reportname"></text-property><br />
</label><br />
</cell><br />
</row><br />
<row id="173"><br />
<property name="height">0.08in</property><br />
<cell id="174"><br />
<property name="colSpan">10</property><br />
<property name="rowSpan">1</property><br />
<property name="borderBottomColor">#000000</property><br />
<property name="borderBottomStyle">solid</property><br />
<property name="borderBottomWidth">thin</property><br />
</cell><br />
</row><br />
<row id="166"><br />
<cell id="167"><br />
<property name="colSpan">10</property><br />
<property name="rowSpan">1</property><br />
<property name="borderBottomColor">#000000</property><br />
<property name="borderBottomStyle">solid</property><br />
<property name="borderBottomWidth">thin</property><br />
<grid id="109"><br />
<property name="width">100%</property><br />
<column id="110"><br />
<property name="width">1in</property><br />
<property name="style">reportheaderlabel</property><br />
</column><br />
<column id="111"><br />
<property name="width">8.875in</property><br />
<property name="style">reportheaderdata</property><br />
</column><br />
<row id="141"><br />
<property name="height">0.06in</property><br />
<cell id="142"/><br />
<cell id="143"><br />
<property name="paddingLeft">2px</property><br />
</cell><br />
</row><br />
<row id="112"><br />
<cell id="113"><br />
<label id="118"><br />
<text-property name="text" key="storeroom_colon">Parameter 1:</text-property><br />
</label><br />
</cell><br />
<cell id="114"><br />
<property name="paddingLeft">2px</property><br />
<data id="344"><br />
<list-property name="boundDataColumns"><br />
<structure><br />
<property name="name">storeroom</property><br />
<expression name="expression">params["storeroom"].replace(/[=!,]/,"")</expression><br />
<property name="dataType">string</property><br />
</structure><br />
</list-property><br />
<property name="resultSetColumn">storeroom</property><br />
</data><br />
</cell><br />
</row><br />
<row id="115"><br />
<cell id="116"><br />
<label id="119"><br />
<text-property name="text" key="site_colon">Parameter 2:</text-property><br />
</label><br />
</cell><br />
<cell id="117"><br />
<property name="paddingLeft">2px</property><br />
<data id="532"><br />
<list-property name="boundDataColumns"><br />
<structure><br />
<property name="name">site</property><br />
<expression name="expression">params["site"].replace(/[=!,]/,"")</expression><br />
<property name="dataType">string</property><br />
</structure><br />
</list-property><br />
<property name="resultSetColumn">site</property><br />
</data><br />
</cell><br />
</row><br />
<row id="825"><br />
<cell id="826"><br />
<label id="827"><br />
<text-property name="text" key="commoditygroup_colon">Parameter 1:</text-property><br />
</label><br />
</cell><br />
<cell id="828"><br />
<property name="paddingLeft">2px</property><br />
<data id="829"><br />
<list-property name="boundDataColumns"><br />
<structure><br />
<property name="name">commoditygroup</property><br />
<expression name="expression">params["commoditygroup"].replace(/[=!,]/,"")</expression><br />
<property name="dataType">string</property><br />
</structure><br />
</list-property><br />
<property name="resultSetColumn">commoditygroup</property><br />
</data><br />
</cell><br />
</row><br />
<row id="126"><br />
<property name="height">0.06in</property><br />
<cell id="127"/><br />
<cell id="128"><br />
<property name="paddingLeft">2px</property><br />
</cell><br />
</row><br />
</grid><br />
</cell><br />
</row><br />
<row id="144"><br />
<property name="height">0.06in</property><br />
<cell id="145"><br />
<property name="colSpan">10</property><br />
<property name="rowSpan">1</property><br />
</cell><br />
</row><br />
</header><br />
<group id="364"><br />
<property name="groupName">chartGroup</property><br />
<property name="interval">none</property><br />
<property name="sortDirection">asc</property><br />
<expression name="keyExpr">row["chart_key"]</expression><br />
<structure name="toc"><br />
<expression name="expressionValue">""</expression><br />
</structure><br />
<property name="repeatHeader">false</property><br />
<property name="hideDetail">false</property><br />
<property name="pageBreakAfter">auto</property><br />
<property name="pageBreakBefore">auto</property><br />
<header><br />
<row id="387"><br />
<property name="style">chart</property><br />
<cell id="388"><br />
<property name="colSpan">10</property><br />
<property name="rowSpan">1</property><br />
<table id="637"><br />
<property name="width">100%</property><br />
<property name="dataSet">dataSet</property><br />
<list-property name="boundDataColumns"><br />
<structure><br />
<property name="name">itemnum</property><br />
<expression name="expression">dataSetRow["itemnum"]</expression><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="name">description</property><br />
<expression name="expression">dataSetRow["description"]</expression><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="name">abctype</property><br />
<expression name="expression">dataSetRow["abctype"]</expression><br />
<property name="dataType">string</property><br />
</structure><br />
<structure><br />
<property name="name">abcafter</property><br />
&
JasonW
Can you zip both reports and post it in the reply? Do you get anything in the log file?
Jason