AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | PTX | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
Finalidad
Especifica el número de la fila inicial de una tabla que se procesará en un bloque REPORT de función, durante la generación de un informe por omisión en el caso de que no se especifique un bloque REPORT, o el valor de una variable de tabla Net.Data.
Los entornos de lenguaje de base de datos utilizan esta variable para determinar la fila inicial del conjunto de resultados para comenzar el proceso. Para mejorar sustancialmente el rendimiento para grandes conjuntos de resultados, utilice esta variable con RPT_MAX_ROWS para dividir las consultas con conjuntos de resultados grandes en tablas más pequeñas.
Usuarios de OS/400, Windows NT, OS/2 y UNIX: Para transmitir esta variable al entorno de lenguaje, inclúyala como un parámetro IN en la sentencia ENVIRONMENT del entorno de lenguaje de base de datos del archivo de inicialización de Net.Data. Para obtener más información sobre la sentencia de entorno de lenguaje de base de datos, consulte el capítulo sobre configuración de la publicación Net.Data Guía de administración y programación para el sistema operativo.
Usuarios de OS/390: START_ROW_NUM se transmite implícitamente a los entornos de lenguaje de base de datos cuando está definida en la macro.
Especifique el valor de esta variable mediante una sentencia DEFINE o mediante la función @DTW_ASSIGN().
Valores
START_ROW_NUM="número"
Tabla 6. Valores de START_ROW_NUM
Valores | Descripción |
---|---|
número | Un número entero positivo que indica el número de fila con la que comenzar
a visualizar un informe. El valor por omisión es 1.
Si START_ROW_NUM se especifica en una sentencia de entorno del entorno de lenguaje de base de datos del archivo de inicialización, este número especifica el número de fila del conjunto de resultados procesado por el entorno de lenguaje de base de datos. |
Ejemplo 1: Desplazamiento con los botones Siguiente y Anterior del formato HTML
%define START_ROW_NUM = "1" %define RPT_MAX_ROWS = "13" %define DTW_SET_TOTAL_ROWS = "yes" %function(DTW_SQL) select() { select * from usrnd01.customer %REPORT { @DTW_ADD(START_ROW_NUM, RPT_MAX_ROWS, next_row_num) @DTW_SUBTRACT(START_ROW_NUM, RPT_MAX_ROWS, prev_row_num) @DTW_SUBTRACT(next_row_num, "1", last_row) <h2>Reporting rows $(START_ROW_NUM) through $(last_row)</h2> <table BORDER="2"> <tr><th>$(N1)</th><th>$(N2)</th><th>$(N3)</th> <th>$(N4)</th><th>$(N5)</th></tr> %ROW { <tr><td>$(V1)</td><td>$(V2)</td><td>$(V3)</td> <td>$(V4)</td><td>$(V5)</td></tr> %} </table> <p> </p> <p><h3> %IF (START_ROW_NUM > RPT_MAX_ROWS) <a href="report?START_ROW_NUM=$(prev_row_num)">PREVIOUS</a> ||| %ELSE PREVIOUS ||| %ENDIF %IF (next_row_num < TOTAL_ROWS) <a href="report?START_ROW_NUM=$(next_row_num)">NEXT</a> %ELSE NEXT %ENDIF </h3> TOTAL_ROWS = $(TOTAL_ROWS)</p> %} %} %html(report) { <html><body> @select() </body></html> %}