Hola Fernando:
Lo mismo, y diferente.
Fíjate que el problema está en el identificador de nivel de formato, por lo
que al hacer CREATE TABLE se debe emplear el mismo nombre, ya sea en otra
biblioteca o renombrando la tabla original.
Si la tabla resultante contiene un campo TIME STAMP, efectivamente el nivel
de formato resultante es el mismo que con CRTDUPOBJ.
Es diferente en cuanto a que el nivel de formato en la tabla original NO
cambia, cosa que sí sucede con DRTDUPOBJ.
Saludos,
---------------------------
Santiago Martí
Dusen, S.A.
---------------------------
Fernando Martínez
<[EMAIL PROTECTED]
sistemas.net> Para
Enviado por: [email protected]
forum.help400-adm cc
[EMAIL PROTECTED]
Asunto
Re: Fallos en la Base de Datos.
16/01/2006 16:22
Por favor,
responda a
[EMAIL PROTECTED]
bios.es
Al hilo de todo esto, ¿habeis probado a duplicarlo por SQL con un CREATE
TABLE ..... AS Select...? ¿Ocurre lo mismo?
Salu2
Fernando Martinez
Santiago G Martí escribió:
Hola Alex:
Gracias, pero no.
Hasta donde nosotros hemos probado, la solución es la PTF SI21923.
El problema, es cómo corregir la base de datos para que a partir de
aquí no
empiece a dar errores cada vez que dupliquemos un fichero.
Hemos consultado a IBM, y la sorprendente respuesta es que cambiemos
los
ficheros a LVLCHK(*NO). Son unos genios.
La solución, que tenemos prevista para el próximo sábado es:
- Salvar en cinta las tres bibliotecas involucradas.
- Borrar las Bibliotecas (DLTF).
- Aplicar la PTF.
- Restaurar las bibliotecas.
- Recompilar 661 programas.
El problema es que la Base de Datos está formada por 191 tablas con
250
restricciones FK y 1051 ficheros lógicos, y además todos las tablas
tienen
montones de registros, así que salvar, restaurar y reconstruir vías
de
acceso lleva un tiempo.
Lo que queremos es que tanto las tablas como los LF queden con los
niveles
de formato correcto para evitar futuras sorpresas.
En principio no nos molesta recompilar los programas. Lo teníamos
previsto.
La clave de la solución es la eliminación de los ficheros antes de la
restauración ya que, al contrario de lo que indica IBM, si se
restaura un
fichero ya existente NO se arregla el nivel de formato, sino que
conserva
el incorrecto y posteriormente lo "arregla" cuando menos te lo
esperas.
Saludos,
---------------------------
Santiago Martí
Dusen, S.A.
---------------------------
El temor que tenemos es que surja un problema inesperado y nos
quedemos al
aire.
alex martinez
<[EMAIL PROTECTED]
m>
Para
Enviado por: [email protected]
forum.help400-adm
cc
[EMAIL PROTECTED]
Asunto
Re: Fallos en la Base de
Datos.
13/01/2006 17:42
Por favor,
responda a
[EMAIL PROTECTED]
bios.es
Hola Santi:
hoy ha salido esta PTF SI21271 para QDBCRTFI
http://www-912.ibm.com/a_dir/as4ptf.nsf/b3cb9d42f672b70f86256739004afa0f/107b230f842325cf862570f50052a5e3?OpenDocument
no la he probado pero quizás algo se solucione
El 11/01/06, Santiago G Martí<[EMAIL PROTECTED]> escribió:
Hola Alex, gracias por tu aportación.
He estado bastante ocupado investigando.
La explicación, al menos en parte, está en el APAR SE22099 y
PTF SI20165.
Según parece, en algún momento no identificado del pasado se
cometió un
error, de forma que dos registros idénticos, conteniendo un
campo
timestamp, producían distintos niveles de formato, según fueran
creados
con
DDS o SQL - CREATE TABLE.
Aparentemente el error estaba, o se consideró menos impactante,
en la
forma
SQL, de manera que con SI20165 y SI21923 se corrige.
En la COVER LETTER de SI20165 sí que avisa que, a partir de ese
momento,
la
creación de tablas y ficheros lógicos puede producir niveles de
formato
diferentes de los esperados.
Aunque contiene un error (it should not change on restore) ya
que
depende,
a veces cambia y a veces no.
Si se restaura el fichero sobre uno existente, no cambia, pero
si se
elimina el fichero antes de la restauración entonces SÍ que
cambia.
Tampoco advierte que la utilización de CRTDUPOBJ puede producir
el cambio
de nivel de formato en el fichero original, ya que "como es
sabido,
los ficheros creados con CRTDUPOBJ comparten el formato".
Perfecto que lo compartan, pero que compartan el existente, y
no que
creen
uno nuevo, sin previo aviso, y lo compartan retroactivamente.
Puede resultar curioso que si, antes de aplicar estas PTF,
tienes el
fichero A, haces CRTDUPOBJ y obtienes el B y el C, posiblemente
en otras
bibliotecas, aplicas la PTF, y tiempo después haces CRTDUPOBJ
del C, y
automáticamente te cambia el nivel de registro del fichero A,
aunque esté
en otra biblioteca.
También puede chocar que tengas una aplicación funcionando en
una máquina
sin la PTF, hagas una copia (SAVOBJ), la restaures en otra
máquina con la
PTF aplicada, y automáticamente empieces a recibir CPF4131.
Bueno, las causas parecen claras.
Una recomendación para los que tengan V5R3 y utilicen tablas
SQL, (no se
cómo puede afectar a otras releases):
Con las debidas precauciones se debe aplicar la PTF SI21923, ya
que
corrige
varios problemas bastante serios de la base de datos.
Saludos,
---------------------------
Santiago Martí
Dusen, S.A.
---------------------------
alex martinez
<[EMAIL PROTECTED]
m>
Para
Enviado por: [email protected]
forum.help400-adm
cc
[EMAIL PROTECTED]
Asunto
Re: Fallos en la Base de
Datos.
05/01/2006 18:27
Por favor,
responda a
[EMAIL PROTECTED]
bios.es
Te cuento lo que he probado en dos maquinas, una en V5R3 y otra
en V5R2
En V5R3 con la PTF SI21923 aplicada:
He creado el archivo y el nivel es el 41FD853B85D4A
despues de un CRTDUPOBJ el original ha cambiado a 41FD854A65E38
y la
copia tambien tiene el mismo identificador 41FD854A65E38.
Y ahora lo que pasa en V5R2 (QUE ES CORRECTO) con el nivel de
PTF de
QDBCRTFI que tengo en V5R2 es el SI17006 y con el nivel
siguiente,
PTFs SI18066 y SI18068
al Crear el archivo el identificador es 41FD853B85D4A se
mantiene
despues del CRTDUPOBJ
La equivalente para el APAR SE20036 en V5R3 es la SI18065 ¿has
probado
con este nivel de PTFs? Yo no puedo probarlo porque tengo
aplicada
permanentemente la SI21275 que es la que sustituye a la
SI18065. :-(
Resumiendo, parece/creo que con la SI18065 y SI18067 en V5R3
debe
funcionarte bien.
Y tal como has explicado a partir de la SI18753, SI21275 ó
SI21923
(todas son niveles de servicio de QDBCRTFI) los niveles de
archivos
"son manipulados".
Ninguna de todas estas PTFs de V5R3 están en ningun acumulativo
ni
siquiera en las listas de PTFs de base de datos..... lo que es
otra
pista de que el tema no lo tiene resuelto IBM.
Salu2
El 5/01/06, alex martinez<[EMAIL PROTECTED]> escribió:
Hola:
Lamento tus problemas y te doy la razón en cuanto a tus
quejas y te
recomiendo que si quieres quejarte lo mejor es hacerlo a
través de
internet (mediante páginas de tipo feedback, por
ejemplo).
La SI21923 no aparece en la base de datos de PTFs, así
que debe ser
una PTF de pruebas ¿me equivoco?
El problema que comentas no solo sucede en V5R3......
tambien sucede
en V5R2 !!! tal como indica el APAR SE23522 de la PTF.
Así que todavía
el problema es más grave.
Yo por el momento no tengo una respuesta, pero seguiré
investigando el
problema y si veo alguna novedad te la haré llegar.
SAlu2
El 5/01/06, Santiago G Martí<[EMAIL PROTECTED]> escribió:
Hola a todos.
Este es un mensaje de frustración y de petición de
ayuda.
Estamos teniendo problemas con la base de datos del
AS/400 y no
conseguimos
una solución definitiva de IBM.
Cada PTF que sacan arregla un problema y crea otro
o varios, como si
no
se
tomaran la molestia de comprobar el código que
producen.
Creo que no nos toman en serio porque no es un
problema crítico, de
hecho
tienen razón ya que podemos seguir trabajando.
De todas formas es desquiciante.
Parece ser que no le dan más importancia porque no
lo sufre ningún
otro
cliente y nosotros no somos un cliente lo bastante
importante.
Por eso os pido que intentéis reproducir el
problema y si tenéis
contrato
de soporte lo reportéis, a ver si al ser un
problema de varios
clientes
se
lo toman más en serio.
El problema comenzó el 1 de octubre de 2005, cuando
migramos de un
820
a un
520.
Estamos en V5R3.
Antes de la migración instalamos la ultima
acumulativa de PTF, HIPER
y
Base
de Datos, que había en ese momento, y ahí
comenzaron los problemas.
Al restaurar los ficheros en el 520, a algunos se
les cambiaba el
identificador de nivel de formato, y posteriormente
los programas
fallaban
por LEVELCHECK.
Probamos a compilar los ficheros en el 520 (CRTLF)
y los generaba con
el
nivel de formato de restauración del 520, no con el
que tenían en el
820.
Probamos a compilar los programas que fallaban en
el 520 y al fallar
la
compilación descubrimos la causa del cambio de
nivel de formato.
En el 520, los ficheros lógicos no permitían
valores NULL en los
campos
que
en el físico y en el 820 sí lo hacía.
Llamamos al CAS, y en un par de horas nos
facilitaron una PTF
(SI18753)
que
solucionaba el problema.
El 30 de Noviembre, descubrimos que al hacer
CRTDUPOBJ de algunos
ficheros
(join con campos ocultos), el nuevo fichero tenía
distinto
identificador de
nivel de formato y DISTINTA LONGITUD de registro.
Después de unas investigaciones descubrimos que el
causante era la
PTF
SI18753.
Al eliminarla desaparecía el nuevo problema, pero
reaparecía el
detectado
el 1 de Octubre.
Nos dijeron que esa PTF estaba sustituida por la
SI21275.
La aplicamos y no sólo no se solucionaba el
problema, sino que
reaparecía
el de 1 de Octubre.
(Realmente no se qué problemas podía resolver esta
PTF).
Nos dijeron que lo estudiarían y que mientras tanto
decidiéramos qué
problema era más importante, así que decidimos
eliminar la SI21275 y
continuar con la SI18753.
El 3 de Enero (hace 3 días) nos dijeron que la
solución era la PTF
SI21923.
La instalamos y parecía que se solucionaban los
problemas, pero
APARECIERON
OTROS AUN MAS GRAVES:
1. Al hacer CRTDUPOBJ de algunos ficheros, físicos
y lógicos, no solo
el
nivel de formato del nuevo fichero era diferente,
sino que se
CAMBIABA
el
nivel de formato del fichero ORIGINAL, de forma que
coincidía con el
nuevo.
Nunca hubiera creído que al hacer una copia de un
objeto el objeto
original
resultase modificado.
2. Aunque parezca increíble, los programas que
utilizaban el fichero
original, con LEVELCHECK *YES, y que, como se podía
ver con DSPPGMREF
esperaban que el fichero tuviera el nivel de
registro antiguo, NO
FALLABAN
por LEVELCHECK.
Yo confiaba ciegamente en la protección que ofrece
el LEVELCHECK.
Ahora
ya
no estoy tan seguro.
3. Al crear una tabla, a partir del mismo fuente,
el nivel de formato
es
diferente, según esté aplicada o no la PTF SI21923.
Yo creía que el nivel de formato dependía del
nombre del registro y
de
los
campos, de su orden y tamaño y de la posibilidad de
aceptar valores
nulos o
no, pero bajo ningún concepto que dependiera de la
versión o del
nivel
de
PTF.
Bueno, perdonad por el rollo.
Si alguien tiene tiempo y le apetece, doy algunos
detalles:
Con DSPOBJD OBJ(QSYS/QDBCRTFI) OBJTYPE(*PGM)
DETAIL(*SERVICE), se
puede
ver
el nivel de PTF de ese programa.
Parece ser, aunque no lo hemos podido comprobar,
que con SI16105,
funciona
correctamente.
Con SI17641, tenemos el problema detectado el 1 de
Octubre.
Con SI18753, el detectado el 30 de Noviembre.
Y con el último SI21923, las nuevas aportaciones
del laboratorio a mi
maltrecha confianza.
Para crear la tabla:
CREATE TABLE YSANTIAGO1/ZCMSCGP
(SUBCTA CHAR (13) NOT NULL WITH DEFAULT ' ',
CUENTA CHAR (3) NOT NULL WITH DEFAULT ' ',
DESSUBCTA CHAR (30) NOT NULL WITH DEFAULT ' ',
INDAUX CHAR (1) NOT NULL WITH DEFAULT 'N',
INDCTAPER CHAR (1) NOT NULL WITH DEFAULT 'N',
TIPCTAPER CHAR (3) DEFAULT NULL,
IDCEE CHAR (2) DEFAULT NULL,
IVACEE CHAR (12) DEFAULT NULL,
RELIVA CHAR (2) DEFAULT NULL,
LIBIVA CHAR (3) DEFAULT NULL,
INDCARPAG CHAR (1) NOT NULL WITH DEFAULT 'N',
INDADMMOV CHAR (1) NOT NULL WITH DEFAULT 'N',
INDMOVPAN CHAR (1) NOT NULL WITH DEFAULT 'N',
FHULMO TIMESTAMP NOT NULL WITH DEFAULT
'0001-01-01-00.00.00.00000'
INDACTIVO CHAR (1) NOT NULL WITH DEFAULT 'S')
Con SI18753, el ID de formato es:
41FD853B85D4A.
Si aplicamos SI21923, al crear la tabla, el ID es:
41FD854A65E38.
Si, teniendo aplicada SI21923, hacemos CRTDUPOBJ de
la tabla creada
cuando
no teníamos aplicada esta PTF, el ID de la tabla es
41FD854A65E38, y
el
de
la original, que era 41FD853B85D4A, cambia a
41FD854A65E38.
Para crear el fichero lógico y comprobar si permite
nulos, el fuente
es:
A R ZCMSCGP
PFILE(ZCMSCGP)
A SUBCTA
*
A DESSUBCTA
A INDAUX
A INDCTAPER
A INDCARPAG
A INDMOVPAN
A INDACTIVO
*
A K SUBCTA
Para este fichero lógico el ID correcto,
permitiendo valores nulos,
es:
4BAF12810FB66.
Si hacemos CRTDUPOBJ del fichero lógico, teniendo
aplicada SI21923,
el
ID
de ambos, original y duplicado cambian a:
4A8F12811E967, que es el
que
obtenemos si hacemos CRTLF con esta PTF aplicada.
Si alguien ha conseguido llegar hasta aquí, muchas
gracias por su
tiempo y
su comprensión.
Saludos,
---------------------------
Santiago Martí
Dusen, S.A.
---------------------------
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
(c) 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
--
Mi blog sobre as400
http://www.ajut400.com
--
Mi blog sobre as400
http://www.ajut400.com
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
(c) 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
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
(c) 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
--
Mi blog sobre as400
http://www.ajut400.com
__________________________________________________
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
__________________________________________________
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
__________________________________________________
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