Soporte de encabezados y pies repetidos en paneles, en la salida de informes PDF

Cómo:

Cuando las columnas presentadas en informes PDF no pueden mostrarse en una sóla página, las páginas quedan divididas automáticamente en paneles. La división en paneles coloca las columnas posteriores de la misma página en páginas de desbordamiento. Estas páginas de desbordamiento continúan generándose hasta que quede presentado todo el ancho del informe; después, la página vertical posterior se genera con un número de página nuevo y los paneles horizontales asociados.

Para que los paneles posteriores al panel inicial sean más legibles, puede designar que los elementos de encabezado del panel inicial se repitan en cada panel posterior, mediante el atributo de hoja de estilos HEADPANEL=ON.

Cuando tiene lugar la división en paneles, si se emplea la numeración de páginas predefinida, el número de página presentado incluirá los números de página y panel (por ejemplo, 1.1, 1.2, 1.3). Si activa HEADPANEL, la designación de paneles queda incluida en TABPAGENO.

Puede designar HEADPANEL para todo el informe, haciendo que se repitan todos los encabezados y pies en las páginas divididas en paneles. También puede activarla para encabezados, pies, subencabezados y subpies individuales.

HEADPANEL causa que los bordes de la página inicial se repitan en las páginas divididas en paneles. Se puede obtener un control adicional sobre los bordes de subencabezados y subpies mediante el uso de ALIGN-BORDERS, que permite determinar que los bordes de los subelementos se alineen con el cuerpo de los datos, en vez de la página o encabezados de informes. Para más información sobre cómo usar ALIGN-BORDERS con HEADPANEL, consulte Cómo Alinear los márgenes del subencabezado y subpie con el cuerpo del informe.


Principio de página

x
Sintaxis: Cómo Repetir los elementos de encabezado en paneles
TYPE={REPORT|headfoot [BY=sortcolumn]}, HEADPANEL={ON|OFF}, $

donde:

REPORT
Repite todos los encabezados y pies de informes y páginas, además de los subencabezados y subpies.
headfoot
Identifica un encabezado o pie. Seleccione entre:

TABHEADING que es el componente de informe. Aparece una vez al principio del informe y se genera mediante ON TABLE SUBHEAD.

TABFOOTING que es el pie de informe. Aparece una vez al final del informe y se genera mediante ON TABLE SUBFOOT.

HEADING que es el encabezado de página. Aparece en la parte superior de cada página del informe y se genera mediante HEADING.

FOOTING que es el pie de la página. Aparece en la parte inferior de cada página del informe y se genera mediante FOOTING.

SUBHEAD que es el encabezado de clasificación. Aparece al principio de un grupo de clasificación vertical (BY) (se genera mediante ON sortfield SUBHEAD).

SUBFOOT es un pie de clasificación. Aparece al final de un grupo de clasificación vertical (BY) (se genera mediante ON sortfield SUBFOOT).

BY
Cuando existen varios encabezados o pies de clasificación, cada uno relacionado con una columna de clasificación vertical (BY) diferente, puede identificar cuál encabezado o pie de clasificación desea formatear.

Si existen varios encabezados o pies de clasificación relacionados con diferentes columnas de clasificación vertical (BY) y omite este atributo y valor, se aplicará el formato a todos los encabezados y pies de clasificación.

sortcolumn
Especifica la columna de clasificación vertical (BY) asociada a uno de los encabezados o pies de clasificación del informe.
ON
Repite los elementos especificados de encabezado o subpie en cada panel.
OFF
Muestra los elementos de encabezado o subpie en el primer panel, únicamente. OFF es el valor predeterminado.

Tenga en cuenta que el atributo HEADPANEL=ON sólo puede aplicarse a la totalidad del encabezado o pie, no en líneas o elementos individuales del encabezado o pie.



Ejemplo: Cómo repetir todos los encabezados y pies en paneles del informes

La solicitud siguiente, emitida frente al origen de datos GGSALES, suma las unidades vendidas, unidades presupuestadas vendidas, ventas en dólares y ventas presupuestadas por región, estado, ciudad, categoría y producto. El informe tiene un encabezado de página y, por cada región, un subpie.

TABLE FILE GGSALES
HEADING
"PRODUCT SALES REPORT"
""
"Page<TABPAGENO"
""
SUM UNITS BUDUNITS DOLLARS BUDDOLLARS
BY REGION NOPRINT
BY ST BY CATEGORY BY PRODUCT
ON REGION SUBFOOT
" "
" SUBFOOT FOR REGION <REGION "
" SUBTOTAL BUDDOLLARS: <ST.BUDDOLLARS SUBTOTAL DOLLARS: <ST.DOLLARS "
" "
ON TABLE SET BYPANEL ON
ON TABLE SET PAGE ON
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE = REPORT, HEADPANEL=OFF,$
ENDSTYLE
END

La solicitud establece BYPANEL ON, para que cada panel muestre los valores de campos de clasificación. Sin embargo, puesto que se ha establecido HEADPANEL=ON para todo el informe, el primer panel de la página 1 tiene el encabezado y subpie; el segundo panel, no.

La salida de la página 1, panel 1, tiene el encabezado y subpie, como se indica en la imagen siguiente. Tenga en cuenta que con HEADPANEL=OFF, TABPAGENO no incluye el número de panel.

La salida de la página 1, panel 2, no tiene el encabezado ni el subpie, como se indica en la imagen siguiente.

La salida siguiente muestra los paneles 1 y 2, cuando la declaración de hoja de estilos se ha modificado para establecer HEADPANEL=ON en todo el informe (TYPE=REPORT, HEADPANEL=ON ,$). El encabezado y subpie se repiten en cada panel. Con HEADPANEL=ON, TABPAGENO incluye el número de panel.



Ejemplo: Cómo repetir un subpie en panles, en la salida de informes PDF

La siguiente solicitud, emitida frente al origen de datos GGSALES, especifica el atributo HEADPANEL=ON sólo para el subpie, no para el informe completo. Tenga en cuenta que esta solicitud usa la numeración de páginas predeterminada (ON TABLE SET PAGE ON), en vez de mostrar el número en cada página.

TABLE FILE GGSALES
HEADING
" PRODUCT SALES REPORT" 
" "
SUM UNITS BUDUNITS DOLLARS BUDDOLLARS
BY REGION NOPRINT
BY ST BY CITY  BY CATEGORY BY PRODUCT 
ON REGION SUBFOOT
" "
" SUBFOOT FOR REGION <REGION "
" SUBTOTAL BUDDOLLARS: <ST.BUDDOLLARS SUBTOTAL DOLLARS:  <ST.DOLLARS "
" "
ON TABLE SET BYPANEL ON
ON TABLE SET PAGE ON
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE = SUBFOOT, HEADPANEL=ON,$
 
ENDSTYLE
END

El panel 1 muestra el encabezado y el subpie, como se muestra en la imagen siguiente.

El panel 2 sólo muestra el subpie, como se muestra en la imagen siguiente.

Puesto que el encabezado de página no está repetido, si emplea la variable del sistema <TABPAGENO para colocar el número de página en el encabezado, el número de panel no aparece. Tampoco aparece en el segundo panel.

TABLE FILE GGSALES
HEADING
" PRODUCT SALES REPORT PAGE <TABPAGENO" 
" "
SUM UNITS BUDUNITS DOLLARS BUDDOLLARS
BY REGION NOPRINT
BY ST BY CITY  BY CATEGORY BY PRODUCT 
ON REGION SUBFOOT
" "
" SUBFOOT FOR REGION <REGION "
" SUBTOTAL BUDDOLLARS: <ST.BUDDOLLARS SUBTOTAL DOLLARS:  <ST.DOLLARS "
" "
ON TABLE SET BYPANEL ON
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE = SUBFOOT, HEADPANEL=ON,$
 
ENDSTYLE
END

El primer panel muestra el número de página en el encabezado, sin el número de panel, como se aprecia en la imagen.

El segundo panel no muestra el encabezado y, por tanto, tampoco el número de página insertado, como se muestra en la imagen siguiente.



Ejemplo: Cómo repetir los encabezados y pies con estilo en páginas dividas en paneles

La siguiente solicitud, emitida frente al origen de datos GGSALES, tiene un encabezado de informe, un encabezado de página con una imagen, un pie, un subencabezado, un subpie y un subtotal.

SET BYPANEL=ON
DEFINE FILE GGSALES
SHOWCATPROD/A30 = CATEGORY || ' / ' || PRODUCT;
END
TABLE FILE GGSALES
SUM 
     DOLLARS/I8M AS ''
BY REGION
BY ST
BY CITY
ACROSS SHOWCATPROD AS 'Product Sales'
     
ON REGION SUBHEAD
" "
"Subheading Region <REGION"
" "
ON REGION SUBTOTAL AS '*TOTAL'
ON REGION SUBFOOT WITHIN 
" "
"Subfooting Region <REGION"
" "
ON TABLE SUBHEAD
"Report Heading"
HEADING
"Page <TABPAGENO  "
" "
" "
" "
FOOTING
" "
"PAGE FOOTING "
ON TABLE SUBFOOT
" "
"Report Footing"
ON TABLE SET PAGE-NUM OFF 
-*ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
     UNITS=IN,
     SQUEEZE=ON,
     ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
     FONT='ARIAL',
     SIZE=9,
     HEADPANEL=ON,
     BORDER=ON,
$
TYPE=TITLE,
     STYLE=BOLD,
$
TYPE=TABHEADING,
     SIZE=20,
     STYLE=BOLD,
$
TYPE=TABFOOTING,
     SIZE=20,
     STYLE=BOLD,
$
TYPE=HEADING,
     SIZE=12,
     STYLE=BOLD,
$
TYPE=HEADING,
     LINE=1,
     JUSTIFY=RIGHT,
$
TYPE=HEADING,
     LINE=2,
     JUSTIFY=RIGHT,
$
TYPE=HEADING,
     LINE=3,
     JUSTIFY=RIGHT,
$
TYPE=HEADING,
     LINE=4,
     JUSTIFY=RIGHT,
$
TYPE=HEADING,
     LINE=5,
     JUSTIFY=RIGHT,
$
TYPE=HEADING,
     IMAGE=smplogo1.gif,
     POSITION=(+0.000000 +0.000000),
$
TYPE=FOOTING,
     SIZE=12,
     STYLE=BOLD,
     JUSTIFY=RIGHT,
$
TYPE=SUBHEAD,
     SIZE=10,
     STYLE=BOLD,
$
TYPE=SUBFOOT,
     SIZE=10,
     STYLE=BOLD,
$
TYPE=SUBTOTAL,
     BACKCOLOR=RGB(210 210 210),
$
TYPE=ACROSSVALUE,
     SIZE=9,
     WRAP=ON,
$
TYPE=ACROSSTITLE,
     STYLE=BOLD,
$
TYPE=GRANDTOTAL,
     BACKCOLOR=RGB(210 210 210),
     STYLE=BOLD,
$
ENDSTYLE
END

Puesto que se ha establecido HEADPANEL=ON en todo el informe, ambos paneles muestran todos los elementos de encabezado y pie.

La imagen siguiente muestra la página 1, panel 1.

La imagen siguiente muestra la página 1, panel 2.


WebFOCUS