Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8794179
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T23:13:02+00:00 2026-06-13T23:13:02+00:00

I have the below pdf report which is formed by an xsl file and

  • 0

I have the below pdf report which is formed by an xsl file and that xsl file defines the style for this pdf report below is the url please look at the pdf report ..
Pdf Report

The xsl file which is used is ..

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:set="http://exslt.org/sets" extension-element-prefixes="set" exclude-result-prefixes="fo">
  <xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes"/>
   <xsl:template match="/">
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="A4" page-width="21cm" page-height="29.7cm" margin-top="2cm" margin-bottom="1cm" margin-left="1cm" margin-right="1cm">
           <fo:region-body margin-bottom="2cm" margin-top="4cm"/>
          <fo:region-after extent="2cm"/>
          <fo:region-before extent="4cm"/>
        </fo:simple-page-master>
              </fo:layout-master-set>
      <fo:page-sequence master-reference="A4" initial-page-number="1">
        <fo:static-content flow-name="xsl-region-after">
            <fo:block border-bottom-style="solid" 
                               text-align="left" font-size="9pt"  >
               </fo:block>
          <fo:block font-size="9pt" text-align="end">
            <fo:table table-layout="fixed">
              <fo:table-column column-width="9.5cm"/>
              <fo:table-column column-width="9.5cm"/>
               <fo:table-body>
                <fo:table-row>
                        <fo:table-cell
                                        text-align="center">
                    <fo:block text-align="left">
                                            Run:
                                    <xsl:value-of select="substring(  DepartmentSalesReport/CurrentDate , 6, 2 )" />
                                        /
                                    <xsl:value-of select="substring(  DepartmentSalesReport/CurrentDate , 9, 2 )" />
                                        /
                                    <xsl:value-of select="substring(  DepartmentSalesReport/CurrentDate , 1, 4 )" />
                                        @
                                    <xsl:value-of select="DepartmentSalesReport/currentTime" />
                                        </fo:block>
                            </fo:table-cell>
                   <fo:table-cell text-align="right">
                    <!--fo:block space-before="8mm">
                      <xsl:text>Keep this report for 6 months</xsl:text>
                    </fo:block-->
                  </fo:table-cell>
                  <fo:table-cell >
                    <fo:block space-before="8mm">Page <fo:page-number/> of <fo:page-number-citation ref-id="terminator"/></fo:block>
                  </fo:table-cell>
                </fo:table-row>
              </fo:table-body>
            </fo:table>

          </fo:block>
        </fo:static-content>

        <fo:static-content flow-name="xsl-region-before">
          <fo:block text-align-last="center" space-after="1.5cm">
            <fo:table table-layout="fixed">
              <fo:table-column column-width="4cm"/>
              <fo:table-column column-width="10cm"/>
               <fo:table-column column-width="2cm"/>
               <fo:table-column column-width="2cm"/>
              <fo:table-body>
                <fo:table-row>
                  <fo:table-cell  font-size="9pt">
                    <fo:block>Store Number:
                      <xsl:value-of select="DepartmentSalesReport/store_code"/>
                    </fo:block>
                  </fo:table-cell>
                   <fo:table-cell text-align="center">
                             <fo:block  text-align-last="center" font-size="14pt" font-weight="bold" space-after="1mm">
                                <fo:inline text-decoration="underline">Department Sales Report</fo:inline>
                               </fo:block>
                  </fo:table-cell>
                  <fo:table-cell text-align="right"   font-size="9pt">
                     <fo:block > 
                        <xsl:value-of select="DepartmentSalesReport/tradingday"/>   
                     </fo:block>
                  </fo:table-cell>
                  <fo:table-cell text-align="right" font-size="9pt">
                    <xsl:variable name="date"><xsl:value-of select="DepartmentSalesReport/tradingdate"/></xsl:variable>
                    <fo:block> 
                        <xsl:value-of select="substring($date,5,2)"/>/<xsl:value-of select="substring($date,7,2)"/>/<xsl:value-of select="substring($date,1,4)"/>
                    </fo:block>
                  </fo:table-cell>
                </fo:table-row>
              </fo:table-body>
            </fo:table>
          <fo:table table-layout="fixed">
              <fo:table-column column-width="19cm"/>
          <fo:table-body>
                <fo:table-row>
                   <fo:table-cell text-align="center">
                                      <fo:block text-align-last="center" font-size="9pt" >
                                        Summary of Sales by department, only those
                                            departments with activity (Sales,
                                            refunds, voids) will appear on this
                                            report.Use this report to monitor sales in
                                            key departments and make merchandising
                                            decisions as needed.
                          </fo:block>
                  </fo:table-cell>
                </fo:table-row>
              </fo:table-body>
            </fo:table>
          </fo:block>
          <fo:block font-size="9pt" >
           <fo:table table-layout="fixed" >
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="6cm"
                                text-align="center"/>
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="1.8cm" 
                                text-align="center"/>
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="1.6cm"
                                text-align="center"/>
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-body>
                            <fo:table-row>
                            <fo:table-cell number-columns-spanned="9"> <fo:block color="black"
                        space-before.optimum="-8pt">
                        <fo:block border-bottom-style="solid" 
                               text-align="left" font-size="9pt"  />

                    </fo:block></fo:table-cell>
                            </fo:table-row>
                            <fo:table-row font-weight="bold">
                                <fo:table-cell number-columns-spanned="2">
                            <fo:block text-align="left"><xsl:text>-------------------------Department-------------------</xsl:text></fo:block>
                            </fo:table-cell>
                            <fo:table-cell number-rows-spanned="2">
                            <fo:block text-align="right"><xsl:text>Net Sales</xsl:text></fo:block>
                            </fo:table-cell>
                            <fo:table-cell number-rows-spanned="2">
                            <fo:block text-align="right"><xsl:text>Qty</xsl:text></fo:block>
                            </fo:table-cell>
                            <fo:table-cell number-rows-spanned="2">
                            <fo:block text-align="right"><xsl:text>% of Sales</xsl:text></fo:block>
                            </fo:table-cell>
                            <fo:table-cell number-columns-spanned="2">
                            <fo:block text-align="right"><xsl:text>--------Void--------</xsl:text></fo:block>
                            </fo:table-cell>
                                <fo:table-cell number-columns-spanned="2">
                            <fo:block text-align="right"><xsl:text>-------Return-------</xsl:text></fo:block>
                            </fo:table-cell>        
                                </fo:table-row>
                                <fo:table-row font-weight="bold">
                                    <fo:table-cell>
                                            <fo:block text-align="left">
                                                <xsl:text>#</xsl:text>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="left">
                                                <xsl:text>Description</xsl:text>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:text>Qty</xsl:text>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:text>Amount</xsl:text>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:text>Qty</xsl:text>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:text>Amount</xsl:text>
                                            </fo:block>
                                        </fo:table-cell>
                                </fo:table-row>
                    <fo:table-row >
                            <fo:table-cell number-columns-spanned="9" > <fo:block color="black"
                        space-before.optimum="-8pt">

                    </fo:block></fo:table-cell>
                            </fo:table-row>

                            </fo:table-body>
                            </fo:table>
          </fo:block>
          <fo:block border-bottom-style="solid" 
                               text-align="left" font-size="9pt"  />



     </fo:static-content>


        <fo:flow flow-name="xsl-region-body">
        <xsl:variable name="storeSales" select="sum(DepartmentSalesReport/DepartmentDesc/netSales)"/>
        <br/>
          <!--          <fo:block font-size="9pt" space-after="3mm" break-before="page">-->
            <xsl:for-each select="DepartmentSalesReport/DepartmentDesc">
                    <fo:block font-size="9pt" space-after="1mm">
                    <fo:table table-layout="fixed" >
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="6cm"
                                text-align="center"/>
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="1.8cm" />
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="1.6cm" />
                            <fo:table-column
                                column-width="1.6cm"
                                text-align="center"/>
                            <fo:table-column
                                column-width="1.6cm" />
                    <fo:table-body>
                        <xsl:variable name="levelNo"><xsl:value-of select="levelNbr"/></xsl:variable>
                                <xsl:variable name="levelCheck"><xsl:value-of select="level"/></xsl:variable>
                                <xsl:if test="$levelCheck!=''">
                                    <xsl:if test="$levelNo='2'">
                                    <fo:table-row>  
                                    <fo:table-cell number-columns-spanned="9">
                                    <fo:block>
                                           <xsl:text>&#160;</xsl:text>
                                    </fo:block>
                                    </fo:table-cell>
                                    </fo:table-row>
                                </xsl:if>
                     <fo:table-row >
                                        <fo:table-cell>
                                            <fo:block text-align="left">
                                                <xsl:value-of select="level"/>
                                            </fo:block>
                                        </fo:table-cell>

                                        <xsl:choose>
                                        <xsl:when test="$levelNo!='2'">
                                        <fo:table-cell>
                                            <fo:block text-align="left">
                                                <xsl:value-of select="prgpName"/>
                                            </fo:block>
                                        </fo:table-cell>
                                            </xsl:when>
                                        <xsl:otherwise>
                                            <fo:table-cell>
                                                <fo:block text-align="left">
                                                    ***DEPT TOTAL*** </fo:block>
                                            </fo:table-cell>
                                        </xsl:otherwise>
                                            </xsl:choose>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:value-of
                                                    select="format-number(netSales,'0.00')"/>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:value-of
                                                    select="format-number(prodCount,'0')"/>
                                            </fo:block>
                                        </fo:table-cell>


                                        <fo:table-cell>
                                            <xsl:variable name="salesPercentage"><xsl:value-of select="format-number((netSales div $storeSales)*100, '###,##0')"/></xsl:variable>
                                            <xsl:if test="$salesPercentage='NaN'">
                                            <fo:block text-align="right">
                                                <xsl:text>0</xsl:text>
                                            </fo:block>
                                            </xsl:if>
                                            <xsl:if test="$salesPercentage!='NaN'">
                                            <fo:block text-align="right">
                                                <xsl:value-of
                                                    select="$salesPercentage"/>
                                            </fo:block>
                                            </xsl:if>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:value-of
                                                    select="format-number(postVoidQuantity,'0')"/>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:value-of
                                                    select="format-number(postVoidAmount,'0.00')"/>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:value-of
                                                    select="format-number(returnQuantity,'0')"/>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block text-align="right">
                                                <xsl:value-of
                                                    select="format-number(returnAmount,'0.00')"/>
                                            </fo:block>
                                        </fo:table-cell>
                                    </fo:table-row>
                        <xsl:if test="$levelNo='2'">
                                    <fo:table-row>  
                                    <fo:table-cell number-columns-spanned="9">
                                    <fo:block>
                                           <xsl:text>&#160;</xsl:text>
                                    </fo:block>
                                    </fo:table-cell>
                                    </fo:table-row>
                                </xsl:if>
                                    </xsl:if>
                    </fo:table-body>

                  </fo:table>
                </fo:block>

            </xsl:for-each>
        <fo:block border-bottom-style="solid" 
                               text-align="left" font-size="9pt"  />
           <fo:block  font-size="9pt" space-after="1mm" space-before="2mm">

<fo:table>
<fo:table-column column-width="1.5cm"/>
<fo:table-column column-width="4.5cm"/>

<fo:table-header>
  <fo:table-row>
    <fo:table-cell>
      <fo:block font-weight="bold"></fo:block>
    </fo:table-cell>
    <fo:table-cell>
     <fo:block text-align="left" space-after="1.5mm">
     <xsl:text>DEPARTMENT TOTALS</xsl:text></fo:block>
    </fo:table-cell>
  </fo:table-row>
</fo:table-header>

<fo:table-body>
  <fo:table-row>
    <fo:table-cell>
      <fo:block></fo:block>
    </fo:table-cell>
    <fo:table-cell>
      <fo:block><xsl:text>SS SALES</xsl:text> <xsl:value-of select="DepartmentSalesReport/store_code"/></fo:block>
    </fo:table-cell>
  </fo:table-row>
  <fo:table-row>
    <fo:table-cell>
      <fo:block></fo:block>
    </fo:table-cell>
    <fo:table-cell>
      <fo:block><xsl:text>CIGARETTE SALES</xsl:text></fo:block>
    </fo:table-cell>
  </fo:table-row>
   <fo:table-row>
    <fo:table-cell>
      <fo:block></fo:block>
    </fo:table-cell>
    <fo:table-cell>
      <fo:block space-after="1.5mm"><xsl:text>LIQUOR SALES</xsl:text></fo:block>
    </fo:table-cell>
  </fo:table-row>
   <fo:table-row>
    <fo:table-cell>
      <fo:block></fo:block>
    </fo:table-cell>
    <fo:table-cell>
      <fo:block><xsl:text>TOTAL FRONT END SALES</xsl:text></fo:block>
    </fo:table-cell>
  </fo:table-row>

</fo:table-body>

</fo:table>

</fo:block>



              <fo:block space-before="5mm" text-align="center" font-size="9pt" font-weight="bold" id="terminator">
                 <xsl:text></xsl:text>
          </fo:block>

        </fo:flow>

      </fo:page-sequence>
    </fo:root>
  </xsl:template>

</xsl:stylesheet>

Now I have added new rows in the current report as shown in this link ,..Modified Report, But please advise As you also mite have seen that I want the 59997 to be printed at the front of SS SALES as indicated with red arrow also please advise what modifications need to be done in xsl to achieve that ,For knowlegde purpose that numeric value is 59997 is coming from in xsl <fo:block><xsl:text>SS SALES</xsl:text> <xsl:value-of select="DepartmentSalesReport/store_code"/></fo:block> Please advise how to show the value in front and what formatting eed to be done in present xsl for this.

Please advise guys as I am stuck because of this..!!Any help will be appreciated from my bottom of heart.!!

Below is the xml , Please review it ..!

<?xml version="1.0" encoding="UTF-8"?>
<Report Name="DepartmentSalesReport" Title="Department Sales Report"
    Description="Department Sales Report" Version="1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <InitParam Name="tradingdate" Type="java.lang.String" />
      <InitParam Name="tradingday" Type="java.lang.String" />
      <ReportBand BandType="HeaderBand" Name="DepartmentSalesReportBand">
        <ReportElement Type="Header" DataSource="OutletSQL">
        <DataField Name="store_code" Type="Data" FieldName="ORGU_CODE" />
        </ReportElement>
        <ReportElement Type="Header" DataSource="InitParams">
        <DataField Name="tradingdate" Type="Data" FieldName="tradingdate" />
        </ReportElement>
        <ReportElement Type="Header" DataSource="InitParams">
        <DataField Name="tradingday" Type="Data" FieldName="tradingday" />
        </ReportElement>
    </ReportBand>
    <ReportBand BandType="DetailBand" Name="Terminal">
        <ReportElement Type="Detail" Name="DepartmentDesc" DataSource="DataSql">
            <DataField Name="level" Type="Data" FieldName="LEVEL"/>
            <DataField Name="levelNbr" Type="Data" FieldName="LEVELNBR"/>
            <DataField Name="prgpName" Type="Data" FieldName="PRGP_NAME"/>
            <DataField Name="prodCount" Type="Data" FieldName="PROD_COUNT"/>
            <DataField Name="netSales" Type="Data" FieldName="NET_SALES"/>
            <DataField Name="postVoidQuantity" Type="Data" FieldName="POST_VOID_QUANTITY"/>
            <DataField Name="postVoidAmount" Type="Data" FieldName="POST_VOID_AMOUNT"/>
            <DataField Name="returnQuantity" Type="Data" FieldName="RETURN_QUANTITY"/>
            <DataField Name="returnAmount" Type="Data" FieldName="RETURN_AMOUNT"/>  

        </ReportElement>

        <ReportElement Type="Header" DataSource="DateSQL">
            <DataField Name="CurrentDate" Type="Data" FieldName="1" />
            <DataField Name="currentTime" Type="Data" FieldName="2" />
        </ReportElement>
    </ReportBand>
    <DataSource
        Type="walgreens.pos.maintenance.eod.DepartmentSalesReportDataSource"
        Name="DataSql"
        Statement="">
    </DataSource>
    <DataSource
        Type="com.pcmsgroup.v21.star.framework.application.reports.SpringReadOnlySQLStatement"
        Name="OutletSQL"
        Statement="select ORGU_CODE,OUTL_TRADE_DATE from outlet,org_unit where outlet.OUTL_ID = org_unit.OUTL_ID">
    </DataSource>

    <DataSource
        Type="com.pcmsgroup.v21.star.framework.application.reports.SpringReadOnlySQLStatement"
        Name="DateSQL"
        Statement="SELECT current date,current time FROM sysibm.sysdummy1">
    </DataSource>

</Report>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T23:13:03+00:00Added an answer on June 13, 2026 at 11:13 pm

    For looking at the XSLT that is generating your XSL-FO, there are a number of separate tables involved, with the list of departments in the report being a separate table to your totals at the moment. For the table listing the departments, there are nine columns

    <fo:table table-layout="fixed">
       <fo:table-column column-width="1.6cm"/>
       <fo:table-column column-width="6cm" text-align="center"/>
       <fo:table-column column-width="1.6cm"/>
       <fo:table-column column-width="1.6cm"/>
       <fo:table-column column-width="1.8cm"/>
       <fo:table-column column-width="1.6cm"/>
       <fo:table-column column-width="1.6cm"/>
       <fo:table-column column-width="1.6cm" text-align="center"/>
       <fo:table-column column-width="1.6cm"/>
       <fo:table-body>
    

    However, for your department totals, the table only has two columns

    <fo:table>
       <fo:table-column column-width="1.5cm"/>
       <fo:table-column column-width="4.5cm"/>
       <fo:table-header>
    

    I suspect you really want three columns here, which correspond in length to the first three columns of the department list table

    <fo:table
       <fo:table-column column-width="1.6cm"/>
       <fo:table-column column-width="6cm"/>
       <fo:table-column column-width="1.6cm"/>
       <fo:table-header>
    

    Then, for example, for your total rows, instead of doing this…

    <fo:table-row>
       <fo:table-cell>
          <fo:block/>
       </fo:table-cell>
       <fo:table-cell>
          <fo:block>
             <xsl:text>SS SALES</xsl:text>
             <xsl:value-of select="DepartmentSalesReport/store_code"/>
          </fo:block>
       </fo:table-cell>
     </fo:table-row>
    

    You just add a new table cell

    <fo:table-row>
       <fo:table-cell>
          <fo:block/>
       </fo:table-cell>
       <fo:table-cell>
          <fo:block>
             <xsl:text>SS SALES</xsl:text>
          </fo:block>
       </fo:table-cell>
       <fo:table-cell>
          <fo:block>
             <xsl:value-of select="DepartmentSalesReport/store_code"/>
          </fo:block>
       </fo:table-cell>
     </fo:table-row>
    

    You would probably need to do this for all the rows in your final ‘totals’ table

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a function to create a pdf which should return bitarray. Below is
We have the below requirement. We will have to create an excel/pdf report and
I have a SSRS report (PDF) that shows some inventory that belongs to our
I have integrated the below code in my application to generate a 'pdf' file
I have this script below, where I want to download a pdf from a
The Setup I have a PDF API which has a native function that is
I have below structure <div class=mybox> <div id=imageslide> <a href=><img src=url /></a> </div> </div>
I have below snippet of code in which TestClass is extending jPanel which is
I have below code: <a href=# id=@item.Id name=vote ><img src=/Content/images/021.png style=float:left alt= /></a> which
I have below query I am trying to show message 'No SubSource for this

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.