27.10.2020 Views

Manual de Recomendaciones - Desarrolladores Cobol DB2-CICS en Altamira

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

No se recomienda el uso de sentencias SQL que incluyan tablas temporales definidas

mediante la cláusula ‘AS’.

Se debe evitar el uso de sentencias que asignan mediante la cláusula “AS” un nombre de tabla

temporal a una subsentencia SQL incluida dentro de una sentencia SQL principal.

Evitar el uso de repetición de la operación Open / Close para un fichero a lo largo del

proceso.

Se ha de comprobar si el tratamiento verdaderamente requiere esta operatoria y tratar de evitarla

mediante el rediseño del modelo de procesos.

En sentencias que usen la opción MULTIROW, el tamaño del ROWSET nunca debe ser

superior a 200.

Por encima der de 200, la mejora en el rendimiento de las sentencias se ve considerablemente

mermado.

En sentencias que usen la opción MULTIROW, el valor del parámetro “N” de la opción FOR

“N” ROWS ha de ser <= al OCCURS de la tabla definida para recibir el ROWSET.

Se debe garantizar que todas las filas seleccionadas mediante la opción MULTIROW, tienen el

espacio necesario definido en la tabla que recibirá el ROWSET.

Si un cursor se define WHIT ROWSET POSITIONING, el FETCH correspondiente a ese cursor,

debe ser definido con la cláusula NETX ROWSET y viceversa.

La definición del cursor y el tratamiento de las filas seleccionadas por el mismo, ha de ser

concordante.

Si una sentencia está definida con la cláusula NEXT ROWSET, se debe realizar un control y

tratamiento adecuados del SQLCODE -100.

Se ha de comprobar si el ROWSET devuelto junto con el SQLCODE -100 ha devuelto alguna fila y

realizar el tratamiento adecuado para el conjunto de filas devuelto. El nº de filas realmente

devuelto, se obtiene examinado el contenido de SQLERR(3).

Todas las columnas declaradas en la SELECT de un cursor definido WITH ROWSET

POSITIONING deben ser utilizadas posteriormente en el programa.

Se debe garantizar que todas la filas seleccionadas son necesarias puesto que son usadas

posteriormente en el programa.

En sentencias INSERT definidas con opción MULTIROW, no se permite usar la cláusula NOT

ATOMIC CONTINUE ON SQLEXCEPCION.

Se debe garantizar que si el INSERT termina con error, no se ha insertado ninguna fila y todo el

ROWSET ha sido rechazado. No se permiten inserciones parciales por la dificultad de control.

En sentencias que usen la opción MULTIROW, la frecuencia del COMMIT, se debe definir en

función del número de filas afectado por cada sentencia, no del número de sentencias

ejecutado.

Cada sentencia afecta a un número de filas que viene determinado por el tamaño del ROWSET,

luego se tendrá en cuenta este dato para calcular la frecuencia del COMMIT, no solo el número de

sentencias ejecutado.

Título del documento y versión 44

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!