27.10.2020 Views

Manual de Recomendaciones - Desarrolladores Cobol DB2-CICS en Altamira

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

IF. En el caso que se cumpla la condición asociada al NEXT SENTENCE, la siguiente instrucción que

se ejecutará será la que se encuentre inmediatamente después del punto más próximo. Por esta

razón, no es recomendable el uso de la sentencia NEXT SENTENCE.

Las rutinas con sentencias DB2 deben devolver el SQLCODE al programa principal.

Las rutinas con sentencias SQL deben programarse de forma que cuando se produce un error DB2,

la rutina debe devolver el control al programa principal informándole del SQLCODE producido.

Los campos que intervienen en operaciones aritméticas deben estar definidos como COMP o

COMP-3 y tener la misma longitud.

Cualquier otro formato implica conversión interna. No se admiten constantes numéricas.

Se deben evitar las divisiones entre 0.

Evitar multiplicar y dividir por 0, utilizando si fuese necesario una instrucción IF. Estas

operaciones consumen mucho tiempo de CPU, incluso cuando los resultados no son de interés.

En la instrucción IF no se permiten más de 10 niveles de anidación.

Por mantenibilidad y rendimiento, evitar anidar un número elevado de sentencias IF.

Para búsquedas en tablas WORKING de más de 50 elementos usar SEARCH ALL.

Si la tabla está clasificada y contiene más de 50 elementos, es más eficiente utilizar SEARCH ALL.

Se debe evitar el uso de IF NUMERIC e IF ALPHABETIC.X

Las condiciones IF NUMERIC, IF ALPHABETIC utilizan la instrucción máquina TRT.

Esta instrucción es muy potente y a la vez muy costosa, por lo que se recomienda que se utilice lo

menos posible. Para evitar la utilización de estas instrucciones hay que definir los datos de origen

en fase de diseño en el formato correcto.

No incluir SQLCA si no hay accesos DB2 en el programa.

Los programas que no contengan accesos SQL no deben incluir la SQLCA.

Se han detectado INCLUDE de tablas no utilizadas en el programa.

Las sentencias INCLUDE de tablas que no se utilicen en el programa deben eliminarse. Hacen el

DBRM más grande de lo necesario.

Es obligatorio controlar la variable de FILE STATUS después de cada sentencia de acceso a

ficheros.

No se recomienda utilizar ninguna línea de código entre la sentencia de acceso a fichero y el

control de su FILE-STATUS.

No se recomienda el uso de la variable RETURN-CODE.

Para condicionar ejecuciones posteriores se deben utilizar las condiciones de disparo del

planificador.

Se debe evitar el uso de LIKE '%' y LIKE '_'.

Evitar la utilización de operadores LIKE donde la expresión a evaluar no empiece por un valor

concreto, como por ejemplo: 1. LIKE ‘%dato’ 2. LIKE ‘_dato’.

Este tipo de predicado no es indexable y por tanto si se aplican a campos de índice, estos serán

ignorados por DB2 en el momento de decidir el camino de acceso.

Título del documento y versión 32

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

Saved successfully!

Ooh no, something went wrong!