xsl-list
[Top] [All Lists]

RE: Re: Re: How to Calculate Running Total using Variable w ithin FOR-LOOP?

2003-12-07 08:22:15
Dimitre,

Thank you for helping me.  I am sorry for not removed excess code from my
stylesheet.  I thought you were asking for more xml, not less xsl.

I have examined your example code provided in your last email, and it
appears that my code is structured very similarly to it.  It is difficult
for me to see where and how the running total is stored during execution.

I'm assuming that downloading fxsl, I'll be able to see the templates scan1
and scanl1 referred to below.  Is that true?  I really need a working
example to understand how to apply it to my situation.

Thank you again for patiently working with me.

Bill

-----Original Message-----
From: Dimitre Novatchev
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Sent: 12/6/2003 2:07 AM
Subject: [xsl] Re: Re: How to Calculate Running Total using Variable within
FOR-LOOP?

Bill,

I am sorry, this is way too big and it seems to me that 90% of the code
is
not related to the actual problem.

I know how to solve this class of problems and would like to help, once
you
produce the minimal possible example.

Generally, one can use a recursive named templade to do the additions
and
get the running total at every step.

Below is an example which takes a list of numbers and produces a the
running
total at every step.

This is a simple example that I understand and, hopefully, could be
helpfull
in your case.

If you provide a very simple example of yours the solution of which will
solve your problem, then I will definitely give it a try.

Here's my example:

numList.xml:
========
<nums>
  <num>01</num>
  <num>02</num>
  <num>03</num>
  <num>04</num>
  <num>05</num>
  <num>06</num>
  <num>07</num>
  <num>08</num>
  <num>09</num>
  <num>10</num>
</nums>

Transformation (testScanl.xsl):
=====================
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:myAdd="f:myAdd"
xmlns:myParam="f:myParam"

  <xsl:import href="scanlDVC.xsl"/>
  <xsl:output omit-xml-declaration="yes" indent="yes"/>

  <!-- To be applied on: numList.xml -->
  <myAdd:myAdd/>

  <myParam:myParam>0</myParam:myParam>

  <xsl:template match="/">

    <xsl:variable name="vFun" select="document('')/*/myAdd:*[1]"/>
    <xsl:variable name="vZero" select="document('')/*/myParam:*[1]"/>


    <xsl:call-template name="scanl">
      <xsl:with-param name="pFun" select="$vFun"/>
      <xsl:with-param name="pQ0" select="$vZero" />
      <xsl:with-param name="pList" select="/*/num"/>
    </xsl:call-template>

    - - - - - - - - - - -

     <xsl:call-template name="scanl1">
      <xsl:with-param name="pFun" select="$vFun"/>
      <xsl:with-param name="pList" select="/*/num"/>
    </xsl:call-template>

  </xsl:template>

  <xsl:template match="myAdd:*">
    <xsl:param name="pArg1" select="0"/>
    <xsl:param name="pArg2" select="0"/>

    <xsl:value-of select="$pArg1 + $pArg2"/>
  </xsl:template>

</xsl:stylesheet>

Result:
=====
<el>0</el>
<el>1</el>
<el>3</el>
<el>6</el>
<el>10</el>
<el>15</el>
<el>21</el>
<el>28</el>
<el>36</el>
<el>45</el>
<el>55</el>

    - - - - - - - - - - -

     <el>01</el>
<el>3</el>
<el>6</el>
<el>10</el>
<el>15</el>
<el>21</el>
<el>28</el>
<el>36</el>
<el>45</el>
<el>55</el>


This will not tell you how exactly the problem is solved, but it is
enough
to say that the scanl template is general and can solve all problems in
this
class. It needs that one specify the step operation as a tempate and
pass a
it (a template reference to it) as a parameter.

scanl applies the step operation on the already accumulated value and
the
head of the list, saves the current result (the running total), then
calls
itself with the tail (rest) of the list, the same step operation and the
latest accumulated value.

The step operation in your case (as I understand it) will be a template
that
essentially multiplies two children of the head of the list (e.g. price
and
quantity) and adds the result to the accumulated running total.

=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL




"Ficke, Bill" <Bill(_dot_)Ficke(_at_)austinenergy(_dot_)com> wrote in message
news:92EFB80E551BD511B39500D0B7B0CDCC0A993F8D(_at_)ohms(_dot_)electric(_dot_)ci(_dot_)austin(_dot_)tx
.us...
Dimitre,

Thank you for helping.  I've reposted the xml and xsl at the bottom of
this
message. You should be able to apply the style sheet to this xml
without
error.

The included code should illustrate what I need to accomplish with
this
report.  I've added some comments to the code skeleton below so you
can
gain
a quick understanding of the program's structure.  I think the
structure
is
where the problem lies because it affects the scope of variables.

You should be able to apply the style sheet to this xml without error.

Please see below to examine a summary of how the report is set up:

Report Layout:
Batch Detail Report Header

Pre-Billing Header
Pre-Billing Report Details
Hourly SubTotal
Units SubTotal
SubTotal
Specialty SubTotal
Report Total 922.44
Savings
Pre-Billing Report
Hourly SubTotal
Units SubTotal
SubTotal
Specialty SubTotal
Report Total 797.88
Savings
Batch Total 922.44 + 797.88


Code Skeleton (I've included the key components to understand the
logic):
Batch Detail Report Header
<xsl:for-each>
Pre-Billing Header
<xsl:for-each>
Pre-Billing Report Details
</xsl:for-each>

<!--Calulate and Set Hourly Subtotal Variable-->
<xsl:variable name="Hourly">
<xsl:call-template
name="Hourly"></xsl:call-template>
</xsl:variable>

<!--Calulate and Set Subtotal Variable-->
<xsl:variable name="Lesser">
<xsl:call-template name="Lesser">
<xsl:with-param name="Hourly"
select="$Hourly"/>
</xsl:call-template>
</xsl:variable>

<!--Calulate and Set Savings Subtotal Variable-->
<xsl:variable name="Savings">
<xsl:call-template name="Savings">
<xsl:with-param name="Hourly"
select="$Hourly"/>
</xsl:call-template>
</xsl:variable>

<!--Calulate and Set Specialty Subtotal Variable-->
<xsl:variable name="Specialty">
<xsl:call-template
name="Specialty"></xsl:call-template>
</xsl:variable>

<!--Calulate and Set Specialty Subtotal Variable-->
<!--Notice that it requires input from above variables-->
<xsl:variable name="GrandTotal">
<xsl:call-template name="GrandTotal">
<xsl:with-param name="Hourly"
select="$Hourly"/>
<xsl:with-param name="Lesser"
select="$Lesser"/>
<xsl:with-param name="Specialty"
select="$Specialty"/>
</xsl:call-template>
</xsl:variable>

<!--PROBLEM AREA:  Since this is being set within a loop,
the value is lost with each iteration.  So, it really isn't a running
total.
That is what I need.
<xsl:variable name="running-total" select="$running-total +
$GrandTotal"/>

<!--Display Subtotal Variables-->
<!--Hourly SubTotal-->
<xsl:value-of select="format-number($Hourly, '$#,##0.00')"/>
<!--Units SubTotal-->
<xsl:value-of

select="format-number(sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCO
ST),
'$#,##0.00')"/>
<!--SubTotal-->
<xsl:value-of select="format-number($Lesser, '$#,##0.00')">
<!--Specialty SubTotal-->
<xsl:value-of select="format-number($Specialty,
'$#,##0.00')"/>
<!--Report Total-->
<xsl:value-of select="format-number($GrandTotal,
'$#,##0.00')">
<!--Savings-->
<xsl:value-of select="format-number($Savings, '$#,##0.00')">
</xsl:for-each>

<!--Batch Total PROBLEM AREA:  Because of loop, this is not
in the same scope as above, thus yielding 0 -->
<xsl:value-of select="format-number($running-total,
'$#,##0.00')"/>

Everything except Batch Total works fine.



<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:fo="http://www.w3.org/1999/XSL/Format";
xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<!-- StyleSheet: CI200PreBillReport.xsl
Purpose: This stylesheet creates a simple
HTML table from a Microsoft format recordset.  It lists each data row
as a
row, using
attribute names as column
names.

Parameters:

Author: Bill Ficke 09/02/2003
-->
<!-- Output is XHTML -->
<xsl:output method="xml" omit-xml-declaration="yes" indent="no"
encoding="ISO-8859-1"/>
<!-- the Report Header of the output table -->
<xsl:param name="report_header">Batch Detail Report</xsl:param>
<!-- the ID of the output table -->
<xsl:param name="table_id">ms_table</xsl:param>
<!-- parm to change stylesheet reference -->
<xsl:param
name="style_sheet_ref">../../../StyleFiles/D1MasterCSS.css</xsl:param>
<!-- style class assigned to the table -->
<xsl:param name="tbl_class"/>
<!-- style class assigned to the table header cells -->
<xsl:param name="hdr_cell_class"/>
<!-- style class assigned to the table cells -->
<xsl:param name="cell_class"/>
<!-- init the running total var -->
<xsl:param name="running-total" select="0"/>



<!-- match root -->
<xsl:template match="/">
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css"
href="{$style_sheet_ref}"></link>
</head>
<body>
<xsl:for-each
select="/xml/rs:data/z:row[(_at_)RB_ID !=
'B478EB94-F6D0-4133-A796-6718BF854B1C']">
<xsl:call-template
name="PreBillHeader"/>
<xsl:call-template
name="PreBillBody"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template name="PreBillHeader">
<div id="cia_header">
<table border="0" width="90%">
<tbody>
<tr>
<td class="cia_reportname">
<xsl:value-of
select="$report_header"/>
</td>
</tr>
<tr>
<td class="cia_company">
<xsl:value-of
select="./@CO_NAME"/>
</td>
</tr>
<tr>
<td>
<xsl:value-of
select="./@CO_ADDRESS"/>
</td>
</tr>
<tr>
<td/>
</tr>
<tr>
<td>
<table border="0"
width="100%">
<tbody>
<tr>


<td>Batch:</td>

<td class="cia_reportdata">

<xsl:value-of select="./@RB_NAME"/>

</td>

<td>Batch Start Date:</td>

<td class="cia_reportdata">

<xsl:value-of select="translate(./@RB_START_DATE, 'T', ' ')"/>

</td>

</tr>
<tr>

<td></td>

<td class="cia_reportdata">



</td>

<td>Batch End Date:</td>

<td class="cia_reportdata">

<xsl:value-of select="translate(./@RB_END_DATE, 'T', ' ')"/>

</td>

</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<br/>
</xsl:template>
<xsl:template name="PreBillBody">
<div id="cia_header">
<table border="0" width="90%">
<tbody>

<xsl:for-each
select="./b_children/rr">
<tr>
<td>Pre-Billing
Report:</td>
<td colspan="2"
class="cia_reportdata">

<xsl:value-of select="./@RR_NAME"/>
</td>
<td>Job
Address:</td>
<td colspan="2"
class="cia_reportdata">

<xsl:value-of select="./@WR_ADDRESS"/>
</td>
</tr>
<tr>
<td
class="cia_total">Bid Unit</td>
<td
class="cia_total">BU Type</td>
<td
class="cia_total"></td>
<td
class="cia_total" align="right">Price</td>
<td
class="cia_total" align="right">Qty</td>
<td
class="cia_total" align="right">Total $</td>
</tr>
<xsl:for-each select="./rr_children/rd">
<tr class="cia_reportdata">
<td>
<xsl:value-of select="@RESOURCECODENAME"/>
</td>
<td>
<xsl:value-of select="@BIDUNITNAME"/>
</td>
<td>
<!--<xsl:value-of select="@UNITOFMEASURE"/>-->
</td>
<td align="right">
<xsl:value-of select="format-number(@ACTUALCOST, '$#,##0.00')"/>
</td>
<td align="right">
<xsl:value-of select="@QUANTITY"/>
</td>
<td align="right">
<xsl:value-of select="format-number(@TOTALCOST, '$#,##0.00')"/>
</td>
</tr>
</xsl:for-each>


<xsl:variable name="Hourly">
<xsl:call-template name="Hourly"></xsl:call-template>
</xsl:variable>

<xsl:variable name="Lesser">
<xsl:call-template name="Lesser">
<xsl:with-param name="Hourly" select="$Hourly"/>
</xsl:call-template>
</xsl:variable>

<xsl:variable name="Savings">
<xsl:call-template name="Savings">
<xsl:with-param name="Hourly" select="$Hourly"/>
</xsl:call-template>
</xsl:variable>

<xsl:variable name="Specialty">
<xsl:call-template name="Specialty"></xsl:call-template>
</xsl:variable>

<xsl:variable name="GrandTotal">
<xsl:call-template name="GrandTotal">
<xsl:with-param name="Hourly" select="$Hourly"/>
<xsl:with-param name="Lesser" select="$Lesser"/>
<xsl:with-param name="Specialty"
select="$Specialty"/>
</xsl:call-template>
</xsl:variable>

<xsl:variable name="running-total" select="$running-total +
$GrandTotal"/>

<xsl:call-template name="PreBillTotal">
<xsl:with-param name="Hourly" select="$Hourly"/>
<xsl:with-param name="Lesser" select="$Lesser"/>
<xsl:with-param name="Specialty" select="$Specialty"/>
<xsl:with-param name="Savings" select="$Savings"/>
<xsl:with-param name="GrandTotal" select="$GrandTotal"/>
</xsl:call-template>

</xsl:for-each>

<xsl:call-template name="BatchTotal">
<xsl:with-param name="running-total"
select="$running-total"/>
</xsl:call-template>

</tbody>
</table>
</div>

</xsl:template>

<xsl:template name="Hourly">
<xsl:value-of
select="sum(./rr_children/rd[(_at_)BIDUNITNAME='Labor']/@TOTALCOST) +
sum(./rr_children/rd[(_at_)BIDUNITNAME='Equipment']/@TOTALCOST)"/>
</xsl:template>

<xsl:template name="Lesser">
<xsl:param name="Hourly"/>
<xsl:choose>
<!-- Hourly is 0, so use Unit -->
<xsl:when test="$Hourly = 0">
<xsl:value-of
select="sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCOST)"/>
</xsl:when>

<!-- Unit is 0, so use Hourly -->
<xsl:when
test="sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCOST) = 0">
<xsl:value-of select="$Hourly"/>
</xsl:when>

<!-- Hourly greater than Unit -->
<xsl:when test="$Hourly &gt;
sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCOST)">
<xsl:value-of
select="sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCOST)"/>
</xsl:when>

<!-- Unit greater than Hourly -->
<xsl:when
test="sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCOST) &gt;
$Hourly">
<xsl:value-of select="$Hourly"/>
</xsl:when>

<!-- Otherwise -->
<xsl:otherwise>
<xsl:value-of select="0"></xsl:value-of>
</xsl:otherwise>
</xsl:choose>

</xsl:template>

<xsl:template name="Savings">
<xsl:param name="Hourly"/>

<xsl:choose>

<!-- Unit greater than Hourly and Payment Type is Hourly not
to exceed Unit-->
<xsl:when test="((./@RR_PAYMENT_TYPE = 2) and
(sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCOST) &gt;
$Hourly))">
<xsl:value-of
select="sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCOST) -
$Hourly"/>
</xsl:when>

<!-- Otherwise -->
<xsl:otherwise>
<xsl:value-of select="0"></xsl:value-of>
</xsl:otherwise>
</xsl:choose>

</xsl:template>


<xsl:template name="Specialty">

<xsl:value-of
select="sum(./rr_children/rd[(_at_)BIDUNITNAME='Specialty']/@TOTALCOST) +

sum(./rr_children/rd[(_at_)BIDUNITNAME='Maintenance']/@TOTALCOST)"></xsl:valu
e-of


</xsl:template>

<xsl:template name="GrandTotal">

<xsl:param name="Hourly"/>
<xsl:param name="Lesser"/>
<xsl:param name="Specialty"/>

<xsl:choose>

<xsl:when test="./@RR_PAYMENT_TYPE = 3">
<xsl:value-of
select="$Specialty"></xsl:value-of>
</xsl:when>

<xsl:when test="./@RR_PAYMENT_TYPE = 2">
<xsl:value-of select="$Lesser +
$Specialty"></xsl:value-of>
</xsl:when>

<xsl:when test="./@RR_PAYMENT_TYPE = 1">
<xsl:value-of
select="sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCOST) +
$Specialty"></xsl:value-of>
</xsl:when>

<xsl:when test="./@RR_PAYMENT_TYPE = 0">
<xsl:value-of select="$Hourly +
$Specialty"></xsl:value-of>
</xsl:when>

</xsl:choose>

</xsl:template>

<xsl:template name="PreBillTotal">
<xsl:param name="Hourly"/>
<xsl:param name="Lesser"/>
<xsl:param name="Specialty"/>
<xsl:param name="Savings"/>
<xsl:param name="GrandTotal"/>

<tr class="cia_company">
<td colspan="6" class="cia_total"></td>
</tr>

<tr class="cia_reportdata">
<td colspan="2"></td>
<td colspan="3">Hourly SubTotal</td>
<td align="right"><xsl:value-of
select="format-number($Hourly, '$#,##0.00')"/></td>
</tr>

<tr class="cia_reportdata">
<td colspan="2"></td>
<td colspan="3">Units SubTotal</td>
<td align="right"><xsl:value-of

select="format-number(sum(./rr_children/rd[(_at_)BIDUNITNAME='Unit']/@TOTALCO
ST),
'$#,##0.00')"/></td>
</tr>

<tr class="cia_reportdata">
<td colspan="6">&#160;</td>
</tr>

<tr class="cia_reportdata">
<td colspan="2"></td>
<td colspan="3">SubTotal</td>
<td align="right"><xsl:value-of
select="format-number($Lesser, '$#,##0.00')"></xsl:value-of></td>
</tr>

<tr class="cia_reportdata">
<td colspan="2"></td>
<td colspan="3">Specialty Total</td>
<td align="right"><xsl:value-of
select="format-number($Specialty, '$#,##0.00')"/></td>
</tr>

<tr class="cia_reportdata">
<td colspan="2"></td>
<td colspan="3" class="cia_subtotal">Report Total</td>
<td align="right" class="cia_subtotal"><xsl:value-of
select="format-number($GrandTotal, '$#,##0.00')"></xsl:value-of></td>
</tr>

<tr class="cia_reportdata">
<td colspan="2"></td>
<td colspan="3" class="cia_subtotal">Savings</td>
<td align="right" class="cia_subtotal"><xsl:value-of
select="format-number($Savings, '$#,##0.00')"></xsl:value-of></td>
</tr>

</xsl:template>


<xsl:template name="BatchTotal">

<xsl:param name="running-total"/>

<tr class="cia_company">
<td colspan="6" class="cia_total">Batch Total</td>
</tr>
<tr class="cia_reportdata">
<td colspan="2"></td>
<td colspan="3" class="cia_subtotal">Batch
Total</td>
<td class="cia_subtotal">
<xsl:value-of
select="format-number($running-total, '$#,##0.00')"/>
</td>
</tr>
</xsl:template>

</xsl:stylesheet>


<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<s:Schema id="RowsetSchema">
<s:ElementType name="row" content="eltOnly"
rs:CommandTimeout="30" rs:updatable="true" rs:ReshapeName="batch">
<s:AttributeType name="RB_ID" rs:number="1"
rs:writeunknown="true" rs:basetable="RP_BATCH_VW"
rs:basecolumn="OBJ_ID">
<s:datatype dt:type="string" rs:dbtype="str"
dt:maxLength="36" rs:maybenull="false"/>
</s:AttributeType>
<s:AttributeType name="RB_NAME" rs:number="2"
rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_BATCH_VW"
rs:basecolumn="OBJ_NAME">
<s:datatype dt:type="string" rs:dbtype="str"
dt:maxLength="100"/>
</s:AttributeType>
<s:AttributeType name="RB_START_DATE" rs:number="3"
rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_BATCH_VW"
rs:basecolumn="BEGINDATE">
<s:datatype dt:type="string" rs:dbtype="str"
dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType name="RB_END_DATE" rs:number="4"
rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_BATCH_VW"
rs:basecolumn="ENDDATE">
<s:datatype dt:type="string" rs:dbtype="str"
dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType name="CO_ID" rs:number="5"
rs:writeunknown="true" rs:basetable="RP_COMPANY_VW"
rs:basecolumn="OBJ_ID">
<s:datatype dt:type="string" rs:dbtype="str"
dt:maxLength="36" rs:maybenull="false"/>
</s:AttributeType>
<s:AttributeType name="CO_NAME" rs:number="6"
rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_COMPANY_VW"
rs:basecolumn="OBJ_NAME">
<s:datatype dt:type="string" rs:dbtype="str"
dt:maxLength="100"/>
</s:AttributeType>
<s:AttributeType name="CO_ADDRESS" rs:number="7"
rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_COMPANY_VW"
rs:basecolumn="OBJ_DESC">
<s:datatype dt:type="string" rs:dbtype="str"
dt:maxLength="300"/>
</s:AttributeType>
<s:ElementType name="b_children" content="eltOnly"
rs:CommandTimeout="30" rs:updatable="true" rs:ReshapeName="b_children"
rs:relation="010000000100000000000000">
<s:AttributeType name="REL_PARENT"
rs:number="1" rs:nullable="true" rs:writeunknown="true"
rs:basetable="RP_RELS_DT" rs:basecolumn="REL_PARENT">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="36"/>
</s:AttributeType>
<s:AttributeType name="REL_CHILD"
rs:number="2" rs:nullable="true" rs:writeunknown="true"
rs:basetable="RP_RELS_DT" rs:basecolumn="REL_CHILD">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="36"/>
</s:AttributeType>
<s:ElementType name="rr" content="eltOnly"
rs:CommandTimeout="30" rs:updatable="true" rs:ReshapeName="rr"
rs:relation="
020000000100000000000000">
<s:AttributeType name="RR_ID"
rs:number="1" rs:writeunknown="true"
rs:basetable="RP_RESOURCEREPORT_VW"
rs:basecolumn="OBJ_ID">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="36" rs:maybenull="false"/>
</s:AttributeType>
<s:AttributeType name="RR_NAME"
rs:number="2" rs:nullable="true" rs:writeunknown="true"
rs:basetable="RP_RESOURCEREPORT_VW" rs:basecolumn="OBJ_NAME">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="100"/>
</s:AttributeType>
<s:AttributeType
name="RR_ISAPPROVED" rs:number="3" rs:nullable="true"
rs:writeunknown="true"
rs:basetable="RP_RESOURCEREPORT_VW" rs:basecolumn="ISAPPROVED">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType
name="RR_APPROVED_DATE" rs:number="4" rs:nullable="true"
rs:writeunknown="true" rs:basetable="RP_RESOURCEREPORT_VW"
rs:basecolumn="DATEAPPROVED">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType name="RR_NOTES"
rs:number="5" rs:nullable="true" rs:writeunknown="true"
rs:basetable="RP_RESOURCEREPORT_VW" rs:basecolumn="NOTES">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType
name="RR_PAYMENT_TYPE" rs:number="6" rs:nullable="true"
rs:writeunknown="true" rs:basetable="RP_RESOURCEREPORT_VW"
rs:basecolumn="PMTTYPE">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType name="WR_NAME"
rs:number="7" rs:nullable="true" rs:writeunknown="true"
rs:basetable="RP_WORKREQUEST_VW" rs:basecolumn="OBJ_NAME">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="100"/>
</s:AttributeType>
<s:AttributeType name="WR_ADDRESS"
rs:number="8" rs:nullable="true" rs:writeunknown="true"
rs:basetable="RP_WORKREQUEST_VW" rs:basecolumn="ADDRESS">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:ElementType name="rr_children"
content="eltOnly" rs:CommandTimeout="30" rs:updatable="true"
rs:ReshapeName="rr_children" rs:relation="010000000100000000000000">
<s:AttributeType
name="REL_PARENT" rs:number="1" rs:nullable="true"
rs:writeunknown="true"
rs:basetable="RP_RELS_DT" rs:basecolumn="REL_PARENT">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="36"/>
</s:AttributeType>
<s:AttributeType
name="REL_CHILD" rs:number="2" rs:nullable="true"
rs:writeunknown="true"
rs:basetable="RP_RELS_DT" rs:basecolumn="REL_CHILD">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="36"/>
</s:AttributeType>
<s:ElementType name="rd"
content="eltOnly" rs:CommandTimeout="30" rs:updatable="true"
rs:ReshapeName="rd" rs:relation="020000000400000000000000">
<s:AttributeType
name="UNITOFMEASURE" rs:number="1" rs:nullable="true"
rs:writeunknown="true"
rs:basetable="RP_RESOURCECODE_VW" rs:basecolumn="UNITOFMEASURE">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType
name="BIDUNITNAME" rs:number="2" rs:nullable="true"
rs:writeunknown="true"
rs:basetable="RP_BUTYPE_VW" rs:basecolumn="OBJ_NAME">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="100"/>
</s:AttributeType>
<s:AttributeType
name="RESOURCECODENAME" rs:number="3" rs:nullable="true"
rs:writeunknown="true" rs:basetable="RP_RESOURCECODE_VW"
rs:basecolumn="OBJ_NAME">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="100"/>
</s:AttributeType>
<s:AttributeType
name="OBJ_ID" rs:number="4" rs:writeunknown="true"
rs:basetable="RP_RESOURCEDETAIL_VW" rs:basecolumn="OBJ_ID">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="36"
rs:maybenull="false"/>
</s:AttributeType>
<s:AttributeType
name="CHARGECODE" rs:number="5" rs:nullable="true"
rs:writeunknown="true"
rs:basetable="RP_RESOURCEDETAIL_VW" rs:basecolumn="CHARGECODE">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType
name="ACTUALCOST" rs:number="6" rs:nullable="true">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="13"/>
</s:AttributeType>
<s:AttributeType
name="QUANTITY" rs:number="7" rs:nullable="true"
rs:writeunknown="true"
rs:basetable="RP_RESOURCEDETAIL_VW" rs:basecolumn="QUANTITY">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType
name="QUALIFIERCODE" rs:number="8" rs:nullable="true"
rs:writeunknown="true"
rs:basetable="RP_RESOURCEDETAIL_VW" rs:basecolumn="QUALIFIERCODE">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="1500"/>
</s:AttributeType>
<s:AttributeType
name="TOTALCOST" rs:number="9" rs:nullable="true">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="13"/>
</s:AttributeType>
<s:extends
type="rs:rowbase"/>
</s:ElementType>
<s:AttributeType
name="ROWID" rs:number="4" rs:nullable="true" rs:rowid="true"
rs:basetable="RP_RELS_DT" rs:basecolumn="ROWID" rs:keycolumn="true"
rs:hidden="true" rs:autoincrement="true">
<s:datatype
dt:type="string" rs:dbtype="str" dt:maxLength="18"
rs:fixedlength="true"/>
</s:AttributeType>
<s:extends
type="rs:rowbase"/>
</s:ElementType>
<s:extends type="rs:rowbase"/>
</s:ElementType>
<s:AttributeType name="ROWID" rs:number="4"
rs:nullable="true" rs:rowid="true" rs:basetable="RP_RELS_DT"
rs:basecolumn="ROWID" rs:keycolumn="true" rs:hidden="true"
rs:autoincrement="true">
<s:datatype dt:type="string"
rs:dbtype="str" dt:maxLength="18" rs:fixedlength="true"/>
</s:AttributeType>
<s:extends type="rs:rowbase"/>
</s:ElementType>
<s:extends type="rs:rowbase"/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row RB_ID="ECF91362-716C-4923-A245-F5D13817E36B"
RB_NAME="PIK-100-1" RB_START_DATE="2003-11-21T00:00:00"
RB_END_DATE="2001-12-31" CO_ID="9B84EFF4-2534-46A3-B635-CF43CBEB7695"
CO_NAME="Company Name" CO_ADDRESS="Company Address">
<b_children
REL_PARENT="ECF91362-716C-4923-A245-F5D13817E36B"
REL_CHILD="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF"
ROWID="AAAA4yAACAAAXq4AAN">
<rr
RR_ID="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF" RR_NAME="PIK-2415-1"
RR_ISAPPROVED="-1" RR_PAYMENT_TYPE="0" WR_NAME="2415" WR_ADDRESS="4411
Meinardus Dr    ">
<rr_children
REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF"
REL_CHILD="3EBC74F2-413D-4FBA-AADC-2B7220786FE4"
ROWID="AAAA4yAACAAAXqtAAZ">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Labor" RESOURCECODENAME="1.04 OH"
OBJ_ID="3EBC74F2-413D-4FBA-AADC-2B7220786FE4" ACTUALCOST="
44.16"
QUANTITY="8" QUALIFIERCODE="1" TOTALCOST="       353.28"/>
</rr_children>
<rr_children
REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF"
REL_CHILD="EC67AF77-335B-4664-A2A7-2D9950D3CBAF"
ROWID="AAAA4yAACAAAXqtAAb">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Labor" RESOURCECODENAME="1.06 OH"
OBJ_ID="EC67AF77-335B-4664-A2A7-2D9950D3CBAF" ACTUALCOST="
28.52"
QUANTITY="13" QUALIFIERCODE="1" TOTALCOST="       370.76"/>
</rr_children>
<rr_children
REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF"
REL_CHILD="73F70DC3-2E89-4E51-B303-8280FC723780"
ROWID="AAAA4yAACAAAXqtAAd">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Equipment" RESOURCECODENAME="2.09 OH"
OBJ_ID="73F70DC3-2E89-4E51-B303-8280FC723780" ACTUALCOST="
1.80"
QUANTITY="8" QUALIFIERCODE="1" TOTALCOST="        14.40"/>
</rr_children>
<rr_children
REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF"
REL_CHILD="6FF29A2A-4FC0-4E49-85F7-5D6BC4AE3F2F"
ROWID="AAAA4yAACAAAXqtAAf">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Equipment" RESOURCECODENAME="2.15 OH"
OBJ_ID="6FF29A2A-4FC0-4E49-85F7-5D6BC4AE3F2F" ACTUALCOST="
6.90"
QUANTITY="8" QUALIFIERCODE="1" TOTALCOST="        55.20"/>
</rr_children>
<rr_children
REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF"
REL_CHILD="698C6196-3F52-453F-BF55-98CF4C7C36AC"
ROWID="AAAA4yAACAAAXqtAAh">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Equipment" RESOURCECODENAME="2.17 OH"
OBJ_ID="698C6196-3F52-453F-BF55-98CF4C7C36AC" ACTUALCOST="
16.10"
QUANTITY="8" QUALIFIERCODE="1" TOTALCOST="       128.80"/>
</rr_children>
</rr>
</b_children>
<b_children
REL_PARENT="ECF91362-716C-4923-A245-F5D13817E36B"
REL_CHILD="9F8828D5-1EDF-4202-B750-5B249EB9F714"
ROWID="AAAA4yAACAAAXq4AAP">
<rr
RR_ID="9F8828D5-1EDF-4202-B750-5B249EB9F714" RR_NAME="PIK-2486-2"
RR_ISAPPROVED="-1" RR_NOTES="INSTALL 40' POLE ON EAST SIDE"
RR_PAYMENT_TYPE="2" WR_NAME="2486" WR_ADDRESS="9036 N Lamar Blvd    ">
<rr_children
REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714"
REL_CHILD="2829B95D-E6BB-4DC8-9B17-A55F4D3BBBC4"
ROWID="AAAA4yAACAAAXqoAAN">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Labor" RESOURCECODENAME="1.01 OH"
OBJ_ID="2829B95D-E6BB-4DC8-9B17-A55F4D3BBBC4" ACTUALCOST="
24.84"
QUANTITY="8" QUALIFIERCODE="1" TOTALCOST="       198.72"/>
</rr_children>
<rr_children
REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714"
REL_CHILD="BD29808F-0604-40AB-BA0F-C0F0D63CD87C"
ROWID="AAAA4yAACAAAXqoAAP">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Labor" RESOURCECODENAME="1.06 OH"
OBJ_ID="BD29808F-0604-40AB-BA0F-C0F0D63CD87C" ACTUALCOST="
28.52"
QUANTITY="8" QUALIFIERCODE="1" TOTALCOST="       228.16"/>
</rr_children>
<rr_children
REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714"
REL_CHILD="3650606F-36A9-4C0F-BE68-2716053E695C"
ROWID="AAAA4yAACAAAXqoAAR">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Equipment" RESOURCECODENAME="2.02 OH"
OBJ_ID="3650606F-36A9-4C0F-BE68-2716053E695C" ACTUALCOST="
32.00"
QUANTITY="8" QUALIFIERCODE="1" TOTALCOST="       256.00"/>
</rr_children>
<rr_children
REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714"
REL_CHILD="B164FAC0-C80C-4D0D-A823-C8F1AD3C215F"
ROWID="AAAA4yAACAAAXqoAAT">
<rd UNITOFMEASURE="EA"
BIDUNITNAME="Unit" RESOURCECODENAME="17.09 OH"
OBJ_ID="B164FAC0-C80C-4D0D-A823-C8F1AD3C215F" ACTUALCOST="
298.98"
QUANTITY="1" QUALIFIERCODE="1" TOTALCOST="       298.98"/>
</rr_children>
<rr_children
REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714"
REL_CHILD="E473005F-123D-49A1-87D9-C8D3439AD1F4"
ROWID="AAAA4yAACAAAXqoAAV">
<rd UNITOFMEASURE="EA"
BIDUNITNAME="Unit" RESOURCECODENAME="19.04 OH"
OBJ_ID="E473005F-123D-49A1-87D9-C8D3439AD1F4" ACTUALCOST="
145.20"
QUANTITY="1" QUALIFIERCODE="1" TOTALCOST="       145.20"/>
</rr_children>
<rr_children
REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714"
REL_CHILD="C05C6B74-DE96-40A0-83F2-B88CF47F80E3"
ROWID="AAAA4yAACAAAXqoAAX">
<rd UNITOFMEASURE="EA"
BIDUNITNAME="Unit" RESOURCECODENAME="19.06 OH"
OBJ_ID="C05C6B74-DE96-40A0-83F2-B88CF47F80E3" ACTUALCOST="
106.92"
QUANTITY="1" QUALIFIERCODE="1" TOTALCOST="       106.92"/>
</rr_children>
<rr_children
REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714"
REL_CHILD="D4AC051D-A911-4899-B52D-FFAC2288B6F4"
ROWID="AAAA4yAACAAAXqoAAZ">
<rd UNITOFMEASURE="HR"
BIDUNITNAME="Equipment" RESOURCECODENAME="2.18 OH"
OBJ_ID="D4AC051D-A911-4899-B52D-FFAC2288B6F4" ACTUALCOST="
23.00"
QUANTITY="4" QUALIFIERCODE="1.25" TOTALCOST="       115.00"/>
</rr_children>
<rr_children
REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714"
REL_CHILD="6A15FF13-7E5C-4CF2-8144-1B8EC28E3783"
ROWID="AAAA4yAACAAAXqoAAb">
<rd UNITOFMEASURE="EA"
BIDUNITNAME="Unit" RESOURCECODENAME="5.02 OH"
OBJ_ID="6A15FF13-7E5C-4CF2-8144-1B8EC28E3783" ACTUALCOST="
640.58"
QUANTITY="1" QUALIFIERCODE="1" TOTALCOST="       640.58"/>
</rr_children>
</rr>
</b_children>
</z:row>
</rs:data>
</xml>

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list






 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>