Hola Carlos,

En cuanto al rendimiento, no estoy de acuerdo.

Lo que puede degradar el rendimiento es el número de vías de acceso
(índices), no el número de ficheros lógicos (vistas).

Si sólo tienes una vía de acceso, el rendimiento es el mismo sin ficheros
lógicos, con 1 fichero lógico y con 3.000 ficheros lógicos.

Acepto que al utilizar muchos lógicos se pueden crear inadvertidamente vías
de acceso innecesarias, pero siendo riguroso las mantienes a raya.

Si te preocupa el rendimiento, dos consideraciones que sólo se pueden medir
con grandes números de accesos de lectura:
   Utilizar un lógico con sólo 4 campos es mucho más rápido que utilizar el
   físico con 40 campos.
   Los ficheros creados con SQL son mucho más eficientes que los creados
   con DDS, aunque se utilicen con accesos tradicionales de CHAIN y READ.

Respecto a los problemas de utilizar LVLCHK(*NO):
   Posibilidad de cometer errores, como por ejemplo si el campo no se añade
   al final del fichero o si, al mismo tiempo, se modifica la longitud de
   otro campo, o si más adelante se hace otro cambio y se olvida de
   compilar algún programa.
   Programando con un poco de precaución, los errores que se producen por
   LVLCHK(*YES) son fáciles de solucionar, y el tratamiento inadecuado de
   un fichero por LVLCHK(*NO) puede resultar una pesadilla.
   Algunas veces el sistema operativo falla, por eso hay PTF, o quizá falla
   porque hay PTF... Bueno ese es otro tema.
   Nosotros hemos sufrido casos en los cuales, por fallo del sistema
   operativo, al restaurar un fichero desde cinta, al crear una copia de
   fichero (CRTDUPOBJ), e incluso al recompilar el fichero a partir del
   mismo fuente, el fichero se creaba con longitud de registro diferente,
   con valores por defecto diferentes, etc.
   Afortunadamente, los ficheros restaurados y/o creados tenían ID de
   niveles de formato distintos de los originales, y los programas daban
   error antes de que el error se convirtiera en desastre.
   El caso más llamativo fue cuando al hacer un CRTDUPOBJ del fichero A, en
   el fichero B, cambiaba el ID de formato, no sólo del fichero B sino
   también del A, e incluso del C, que aparentemente no pintaba nada en
   esta fiesta.
   Afortunadamente, estos fallos son poco frecuentes, pero son
   imprevisibles y a nosotros nos ha ocurrido 4 veces, en cambios de
   Release, al aplicar PTF acumulativas, al aplicar PTF que solucionaban un
   problema y creaban dos...
   No hay que olvidar a Murphy.


Saludos,
                  ---------------------------
                    Santiago Martí
                       Dusen, S.A.
                  ---------------------------



                                                                           
             Carlos Augusto                                                
             Correa García                                                 
             <[EMAIL PROTECTED]                                        Para 
             om.pe>                    [email protected]            
             Enviado por:                                               cc 
             forum.help400-adm                                             
             [EMAIL PROTECTED]                                          Asunto 
                                       Re: Consulta filosofal a los        
                                       programadores (Cerrando el tema)    
             22/02/2006 17:42          ¿o no?                              
                                                                           
                                                                           
                Por favor,                                                 
                responda a                                                 
             [EMAIL PROTECTED]                                             
                  bios.es                                                  
                                                                           
                                                                           




Hola Santiago, efectivamente tienes mucha razón, pero en este caso no
puedo cambiar el nombre de mis archivos por un tema de estandares de
denominación. Por otro lado tener un número excesivo de archivos lógicos
podría degradar el rendimiento de nuestras aplicaciones y por no
mencionar el tema de espacio. Bueno esta es una de las recomendaciones
que recogí de alguna gente de IBM. Una duda que todavía me queda, te
entiendo que LVLCHK(*NO) se debe utilizar únicamente en casos extremos y
como solución transitoria, nunca como solución definitiva. Yo había
pensado que una alternativa muy práctica podría ser cambiar a
LVLCHK(*NO) y solo compilar los programas que usan el nuevo campo, los
demás programas no verían dicho campo. Pero tu me dices que podrían
ocurrir problemas propios  e incluso errores del sistema. ¿Cuáles serían
o en que circunstancias podría presentarse estos ?
Muchas gracias por tu respuesta
Saludos

Carlos Augusto Correa García

Santiago G Martí escribió:

>
>
>Hola Carlos, parece que llego tarde y ya has dado por cerrado el tema.
>
>Sin embargo no me resisto a darte mi punto de vista basado en la
>experiencia de muchos años (anterior al AS/400).
>
>En primer lugar, utilizar un campo con un nombre confuso o para un fin
>distinto al previsto es apostar por problemas a medio plazo.
>En segundo, una de las mejores protecciones que aporta AS/400 frente a
>otras bases de datos es la comprobación de nivel, por lo que indicar que
no
>compruebe el formato de registro es anular una maravillosa característica
>de la base de datos que te protege de errores propios e incluso de errores
>del sistema (lo hemos sufrido).
>Puedo asegurar, y así lo entiende IBM, que LVLCHK(*NO) se debe utilizar
>únicamente en casos extremos y como solución transitoria, nunca como
>solución definitiva.
>
>Nosotros nunca trabajamos directamente con los ficheros físicos, sino con
>ficheros lógicos.
>De esta forma, añadir un campo al fichero físico no implica recompilar
>ningún programa que no necesite ese campo.
>De hecho, sobre cada fichero físico creamos gran cantidad de lógicos, de
>forma que cada programa sólo vea los campos que necesita.
>Llevado al límite, sería casi como tener un fichero lógico para cada
>programa.
>
>Para el caso que planteas, sobre un fichero que ya existe, y dejando
aparte
>las implicaciones de restricciones etc., hay todavía otra solución:
>   cambias el nombre del fichero físico.
>   creas sobre él un fichero lógico, con el nombre del antiguo fichero
>   físico, con su nombre de registro y enumerando todos los campos.
>   Este fichero lógico tendrá el nombre del fichero físico y su
>   identificador de Nivel de Formato, por lo que no será necesario
>   recompilar ningún programa y seguirás estando protegido.
>   al fichero físico, ya sea por ALTER TABLE o CHGPF le añades el nuevo
>   campo.
>   En los programas que necesites ese nuevo campo puedes utilizar el nuevo
>   fichero físico, o crear un fichero lógico que lo incluya.
>   (Te recomiendo que en los ficheros lógicos siempre enumeres los
campos).
>
>Por supuesto, esta solución no es viable si se trata de un ERP externo.
>También adolece del cambio de nombre del físico real, que puede confundir
a
>más de uno.
>Pero evitas la compilación, sigues protegido y utilizas los campos con
>nombres y características adecuadas.
>
>
>
>Saludos,
>                  ---------------------------
>                    Santiago Martí
>                       Dusen, S.A.
>                  ---------------------------
>
>
>
>

>             Carlos Augusto

>             Correa García

>             <[EMAIL PROTECTED]                                        Para

>             om.pe>                    [email protected]

>             Enviado por:                                               cc

>             forum.help400-adm

>             [EMAIL PROTECTED]                                          Asunto

>                                       Re: Consulta filosofal a los

>                                       programadores (Cerrando el tema)

>             22/02/2006 01:55

>

>

>                Por favor,

>                responda a

>             [EMAIL PROTECTED]

>                  bios.es

>

>

>
>
>
>
>Amigos del foro, lo positivo de esto es recoger las conlusiones y es
>justo para ello he planteado la pregunta.  Esta pregunta la planteo
>pues  necesito  definir los estandares de  desarrollo de sistemas  en la
>empresa en la  que trabajo ; es por ello que lo que parece una consulta
>muy simple encierra mucho significado. No es que me haga problemas, sino
>lo que trato es de  aliviarme los del futuro.
>En resumen tenemos las siguientes alternativas.
>
>   1. Usar el campo que no se utiliza, sin nungun cambio en la tabla
>      (solución simple - de corto plazo)
>   2. Agrego el nuevo campo con un nombre memonico adecuado, asumiendo
>      el trabajo que implica recompilar más de 1500 objetos. (solución
>      complicada - acádemicamente la más adecuada - a largo plazo)
>   3. Agregar un archivo anexo al mencionado (solución semi-simple)
>   4. Añadir el campo, compilar el archivo pero diciéndole que no
>      compruebe el formato de registro FMTCHK(*NO). Con lo que sólo se
>      tendrá que compilar aquellos programas donde se quiera que el
>      nuevo campo sea "visible". Los programas que no se complien no
>      emitirán una excepción de ejecución pero tampoco tendrán "visible"
>      el nuevo campo. (solución práctica)
>   5. Cambiar en el fuente DDS (en este caso es DDS) la descripciòn del
>      campo y recompilarlo conservando data (backup/restore). Ahi no hay
>      necesidad de cambiar programas, ni nada, no darìa error de nivel,
>      porque solo se cambia la descripcion del campo a nivel de fuente
DDS.
>
>Conclusiones
>Desde mi punto de vista personal habría que evaluar los escenarios
>(parece una respuesta muy triada); sin embargo creo que se debe apuntar
>a un buen diseño de la base de datos,  por lo que personalmente
>recomiendo alternativas como la 2 o como la 4, lo que nos garantizará un
>tiempo de vida mayor de nuestras aplicaciones y por ende contribuirá a
>que la plataforma iSeries AS/400 tenga una mayor permanencia en este
>mercado tan competitivo.
>
>Saludos cordiales y gracias por sus respuestas
>
>Carlos Augusto Correa García




__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://coyote.combios.es/mailman/listinfo/forum.help400

Responder a