Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Unpaid Transactions Report (cash-05) is too long

    • Article Type: General
    • Product: Aleph
    • Product Version: 16.02

    Description:
    We are unhappy with the look of our Unpaid Transactions Letters (p_cash_05). Some patrons end up with multiple pages reflecting credits and debits that cancel each other out. For example, a patron may have had 3 books returned very late, each one has a $5 processing fee and $25 lost material replacement cost associated with it. But these are credited to them when the item is returned. Their 3-page report with 9 separate transactions on it would boil down to a $5 fine for each book and this would've fit nicely on one page.
    Patrons do not want to look through a multiple page report to determine why they owe money.

    Resolution:
    If the report were a table (see below xsl) instead of an often multi-page list, listing all the pluses and minuses would be less of a hassle and more of a feature. There is a limit to the number of fields that can be displayed because of the width of the table, but perhaps that is a positive point, too (all the fields from the original format appear in the new one, but some are commented out.).
    - - - - - - - -
    cash-user-letter.xsl in Table Format
    - - - - - - - -
    <xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" indent="yes"/>

    <xsl:include href="funcs.xsl"/>


    <xsl:template match="/">
    <xsl:call-template name="header"/>

    <!--section-01 (FREE)-->

    <xsl:for-each select="//section-01">
    <xsl:call-template name="section-01"/>
    </xsl:for-each>

    <!--section-02 (GRID)-->

    <xsl:for-each select="//section-02">
    <xsl:if test="position() = 1">
    <xsl:call-template name="section-02">
    <xsl:with-param name="header" select="'header'"/>
    </xsl:call-template>
    </xsl:if>
    <xsl:call-template name="section-02"/>
    </xsl:for-each>

    <!--section-03 (FREE)-->

    <xsl:for-each select="//section-03">
    <xsl:call-template name="section-03"/>
    </xsl:for-each>

    <xsl:call-template name="signature"/>
    </xsl:template>


    <!-- START DATA -->
    <xsl:template name="header">
    <xsl:call-template name="header-gen">
    <xsl:with-param name="title" select="'Unpaid Transactions Letter'"/>
    </xsl:call-template>
    </xsl:template>

    <!--SECTION-01 (FREE)-->

    <xsl:template name="section-01">
    <xsl:call-template name="sublib-address"/>
    <xsl:call-template name="patron-address"/>
    <xsl:call-template name="generic-line">
    <xsl:with-param name="line" select="'salutation_string####following please find a list of unpaid transactions,
    including amounts you owe (debits), and amounts that the library owes you (credits).##We have referred the handling of this
    debt to our Accounting Department.##Please contact them to settle your account.'"/>
    </xsl:call-template>
    <xsl:call-template name="table-close"/>
    </xsl:template>

    <!--SECTION-02 (GRID)-->

    <xsl:template name="section-02">

    <xsl:param name="header"/>
    <xsl:if test="$header!=''">
    <xsl:call-template name="start-grid"/>
    </xsl:if>
    <tr>
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Sublibrary'"/>
    <xsl:with-param name="value" select="./z30-sub-library"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Barcode'"/>
    <xsl:with-param name="value" select="./z30-barcode"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Amount'"/>
    <xsl:with-param name="value" select="./z31-sum"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Transaction Type'"/>
    <xsl:with-param name="value" select="./z31-description"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    <!--
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Call No.'"/>
    <xsl:with-param name="value" select="./z30-call-no"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Volume'"/>
    <xsl:with-param name="value" select="./z30-enumeration-a"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Copy Number'"/>
    <xsl:with-param name="value" select="./z30-copy-id"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Item Status'"/>
    <xsl:with-param name="value" select="./z30-item-status"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Description'"/>
    <xsl:with-param name="value" select="./z30-description"/>
    <xsl:with-param name="header" select="$header"/>
    </xsl:call-template>
    -->
    <xsl:call-template name="display-grid-gen">
    <xsl:with-param name="label" select="'Loaned'"/>
    <xsl:with-param name="value" select="concat(./z36-loan-date,' ',./z36-loan-hour)"/>
    <xs


    • Article last edited: 10/8/2013