1 PDF Concatenation from Print Objects

The following sample script executes PDF print objects and returns a single concatenated FO document:

Copy
<!-- ================================================================================= -->
<!--                                                                                   -->
<!--    XSQL: dash_salesflash_global_pdf                                               -->
<!--                                                                                   -->
<!--    Generate PDF with 2 pages:                                                     -->
<!--    · Avoid percentages 100, -999, ...                                             -->
<!--    · All percentages                                                              -->
<!--                                                                                   -->
<!-- ================================================================================= -->
<xsql-script name='dash_salesflash_global_pdf'>

    <args>
        <arg name='p_fecha'    type='date' />
        <arg name='p_country'  type='string' info='[FR]ance, ...' />
        <arg name='p_region'   type='string' />
        <arg name='p_subreg'   type='string' />
        <arg name='p_entity'   type='string' />
        <arg name='p_building' type='string' />

        <!-- building reference parameters -->
        <arg name='p_build_refer1' type='string' />
        <arg name='p_build_refer2' type='string' />
        <arg name='p_build_refer3' type='string' />
        <arg name='p_build_refer4' type='string' />
        <arg name='p_build_refer5' type='string' />

        <arg name='p_percent'  type='decimal' />
        <arg name='p_onlyforfait' type='smallint' />
    </args>

    <body>

        <set name='m_date_format'><system.user.getDateFormatPattern /></set>
        <set name='m_date'><date.format format='#m_date_format'><p_fecha /></date.format></set>
        <set name='m_time'><string><date.current /></string></set>

        <if>
            <expr>
                <eq><p_entity /><string>*</string></eq>
            <or />
                <eq><p_entity /><string>%</string></eq>
            </expr>
            <then>
                <set name='m_pdf'>
                    <fop.form.group type='pdf'>
                        <fop.form code='dash_salesflash_entity' type='xml-string'>
                            <vars>
                                <var name='DATE'><m_date /></var>
                                <var name='COUNTRY'><p_country /></var>
                                <var name='REGION'><p_region /></var>
                                <var name='SUBREG'><p_subreg /></var>
                                <var name='ENTITY'><p_entity /></var>
                                <var name='BUILDING'><p_building /></var>
                                <var name='BUILD_REFER1'><p_build_refer1 /></var>
                                <var name='BUILD_REFER2'><p_build_refer2 /></var>
                                <var name='BUILD_REFER3'><p_build_refer3 /></var>
                                <var name='BUILD_REFER4'><p_build_refer4 /></var>
                                <var name='BUILD_REFER5'><p_build_refer5 /></var>
                                <var name='PERCENT'><p_percent /></var>
                                <var name='PONLYFORFAIT'><p_onlyforfait /></var>
                                <var name='ALLPERCENTAGES'>0</var>
                                <var name='TIME'><m_time /></var>
                            </vars>
                        </fop.form>
                        <fop.form code='dash_salesflash_entity' type='xml-string'>
                            <vars>
                                <var name='DATE'><m_date /></var>
                                <var name='COUNTRY'><p_country /></var>
                                <var name='REGION'><p_region /></var>
                                <var name='SUBREG'><p_subreg /></var>
                                <var name='ENTITY'><p_entity /></var>
                                <var name='BUILDING'><p_building /></var>
                                <var name='BUILD_REFER1'><p_build_refer1 /></var>
                                <var name='BUILD_REFER2'><p_build_refer2 /></var>
                                <var name='BUILD_REFER3'><p_build_refer3 /></var>
                                <var name='BUILD_REFER4'><p_build_refer4 /></var>
                                <var name='BUILD_REFER5'><p_build_refer5 /></var>
                                <var name='PERCENT'><p_percent /></var>
                                <var name='PONLYFORFAIT'><p_onlyforfait /></var>
                                <var name='ALLPERCENTAGES'>1</var>
                                <var name='TIME'><m_time /></var>
                            </vars>
                        </fop.form>
                    </fop.form.group>
                </set>
            </then>
            <else>
                <set name='m_pdf'>
                    <fop.form.group type='pdf'>
                        <fop.form code='dash_salesflash_building' type='xml-string'>
                            <vars>
                                <var name='DATE'><m_date /></var>
                                <var name='COUNTRY'><p_country /></var>
                                <var name='REGION'><p_region /></var>
                                <var name='SUBREG'><p_subreg /></var>
                                <var name='ENTITY'><p_entity /></var>
                                <var name='BUILDING'><p_building /></var>
                                <var name='BUILD_REFER1'><p_build_refer1 /></var>
                                <var name='BUILD_REFER2'><p_build_refer2 /></var>
                                <var name='BUILD_REFER3'><p_build_refer3 /></var>
                                <var name='BUILD_REFER4'><p_build_refer4 /></var>
                                <var name='BUILD_REFER5'><p_build_refer5 /></var>
                                <var name='PERCENT'><p_percent /></var>
                                <var name='PONLYFORFAIT'><p_onlyforfait /></var>
                                <var name='ALLPERCENTAGES'>0</var>
                                <var name='TIME'><string><m_time /></string></var>
                            </vars>
                        </fop.form>
                        <fop.form code='dash_salesflash_building' type='xml-string'>
                            <vars>
                                <var name='DATE'><m_date /></var>
                                <var name='COUNTRY'><p_country /></var>
                                <var name='REGION'><p_region /></var>
                                <var name='SUBREG'><p_subreg /></var>
                                <var name='ENTITY'><p_entity /></var>
                                <var name='BUILDING'><p_building /></var>
                                <var name='BUILD_REFER1'><p_build_refer1 /></var>
                                <var name='BUILD_REFER2'><p_build_refer2 /></var>
                                <var name='BUILD_REFER3'><p_build_refer3 /></var>
                                <var name='BUILD_REFER4'><p_build_refer4 /></var>
                                <var name='BUILD_REFER5'><p_build_refer5 /></var>
                                <var name='PERCENT'><p_percent /></var>
                                <var name='PONLYFORFAIT'><p_onlyforfait /></var>
                                <var name='ALLPERCENTAGES'>1</var>
                                <var name='TIME'><string><m_time /></string></var>
                            </vars>
                        </fop.form>
                    </fop.form.group>
                </set>
            </else>
        </if>

        <return>
            <file.bytes.read>
                <m_pdf />
            </file.bytes.read>
        </return>

    </body>
</xsql-script>

The script is called from an object whose execution opens a PDF document in the browser:

Copy
<call name='dash_salesflash_global_pdf'>
    <args>
        <arg><expression>$DATE</expression></arg>
        <arg>$COUNTRY</arg>
        <arg>$REGION</arg>
        <arg>$SUBREG</arg>
        <arg>$ENTITY</arg>
        <arg>$BUILDING</arg>
        <arg>$BUILD_REFER1</arg>
        <arg>$BUILD_REFER2</arg>
        <arg>$BUILD_REFER3</arg>
        <arg>$BUILD_REFER4</arg>
        <arg>$BUILD_REFER5</arg>
        <arg>$PERCENT</arg>
        <arg>$PONLYFORFAIT</arg>
    </args>
</call>

The object is READ ONLY and does not have a JSP renderer.