Carlos.

He estado revisando los fuentes de los programas, y veo que en la mayoría
NO necesitamos renombrar el registro, ya que en los programas, con acceso
tradicional a archivos, utilizamos SIEMPRE archivos lógicos. Con lo cual,
como el nombre del registro coincide con el del archivo físico (tabla), ya
es distinto del nombre del archivo lógico.

De todas formas, si en algún programa utilizas el archivo físico, el nombre
del registro se puede cambiar en la hoja F, en la misma línea a la derecha,
en la zona de palabras clave, con la palabra clave RENAME(registro :
nuevo_nombre)



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 DB2 y SQL              
                                                                           
             07/04/2006 19:35                                              
                                                                           
                                                                           
                Por favor,                                                 
                responda a                                                 
             [EMAIL PROTECTED]                                             
                  bios.es                                                  
                                                                           
                                                                           




Santiago. Agradesco mucho tu respuesta. Realmente he entendido muchos
conceptos los cuales me has explicado con total claridad.
Sin embargo aun no encuento una estrategia adecuada de nomenclatura de
mis tablas, esto porque como tu claramente dices a la hora de cambiar
con RENAME TABLE cuando necesite recuperar datos a partir de mis scripts
no voy a recuperar el nombre de mi formato de registro. (y por ende mis
RPG's tendrían un error de nivel)
Había pensado en algo así :
CREATE TABLE TB_CLIENTES (
       Codigo               INTEGER,
       Descripcion          VARCHAR(20)
);
RENAME TABLE CLIENTES TO SYSTEM NAME F5101

Sin embargo, no es lo que quiero, pues me pone como nombre de registro
TB_CL00001 (como tu lo has explicado perfectamente)
Si en algún momento se me ocurre cambiar de nombre a TB_CLIENTES a la
hora de volver a generar el objeto a partir del script no tengo el mimo
nombre de formato...
Entonces no me queda otra alternativa que partir del nombre definitivo
del formato de registro y a partir de allí cambiar el nombre cambiar el
nombre SQL, Es decir mis scripts (fuentes) quedarían así :

CREATE TABLE F5101 (
       Codigo               INTEGER,
       Descripcion          VARCHAR(20)
);
RENAME TABLE F5101 TO NAME TB_CLIENTES

y nunca más cambiar el nombre interno (??)..
Pero esta alternativa tambien tiene una desventaja (no técnica), pues
que es más natural que yo haga mi "Analisis y Diseño" (bueno esas cosas
teroricas.. )  siempre pensando en primer lugar en el nombre de la tabla
(de la entidad TB_CLIENTES) y luego en el nombre interno.. y como ves
esto me obliga a partir al revés

Para terminar toda esta biblia, Te entendí en todo lo que me dijiste
excepto cuando me dices "Así que hemos optado por renombrar el registro
en los programas que lo precisan". Me gustaría que aclares como lo haces
exactamente
Un saludo cordial desde Piura Perú
y nuevamente muchas gracias

-------------------------------
Carlos Augusto Correa García
Desarrollo de Sistemas
CMAC PIURA S.A.C.

Santiago G Martí escribió:

>
>
>Hola Carlos,
>
>Nosotros hace 3 años que creamos todos los ficheros como tablas SQL con
>integridad referencial.
>
>Tuvimos algunos problemas con el Navigator, que me dicen ya resueltos en
>V5R3, y decidimos no utilizarlo y en su lugar utilizar STRSQL y RUNSQLSTM
>desde emulaciones 5250.
>
>Que yo sepa, la instrucción CREATE TABLE crea un fichero físico con un
solo
>miembro y un formato de registro, los 3 con el mismo nombre.
>
>La regla de nomenclatura es que el nombre del fichero será igual al de la
>tabla SQL, pasado a mayúsculas, si el nombre de la tabla tiene 10
>caracteres o menos.
>Si el nombre de la tabla es de más de 10 caracteres el nombre del fichero,
>miembro y registro serán los 5 primeros caracteres del nombre de la tabla
>más una secuencia numérica entre 00001 y 99999 en caso de que los cinco
>primeros caracteres coincidan con los de otro fichero.
>
>La instrucción SQL RENAME TABLE te permite cambiar el nombre de la tabla,
y
>el nombre interno del sistema (nombre del fichero), pero no cambia el
>nombre del miembro ni el del registro.
>La instrucción CPF RNMM te permite cambiar el nombre del miembro.
>No existe ninguna instrucción que te permita cambiar el nombre del
>registro, al menos que yo sepa, para un fichero creado como tabla que
>lógicamente no tiene DDS.
>
>Nosotros, al crear la tabla, le damos el nombre que queremos como nombre
>interno, con una longitud de 10 caracteres como máximo y siguiendo
nuestras
>reglas de nomenclatura.
>
>Como el nombre del fichero coincide con el nombre del registro, en los
>programas RPG con acceso tradicional es necesario renombrar el registro.
>
>Al principio lo que hacíamos era crear la tabla con el nombre deseado de
>registro y luego con RENAME TABLE cambiábamos el nombre de la tabla y el
>nombre interno y con RNMM el del miembro, pero hemos abandonado esta
>costumbre, ya que si recuperas el script de definición con el Navigator o
>con las API que lo permiten, no se recuperan estas características y a la
>larga tienes problemas.
>
>Así que hemos optado por renombrar el registro en los programas que lo
>precisan.
>
>Nosotros almacenamos los script de definición, recuperados desde los
>tablas, en miembros fuente, para poder utilizar RUNSQLSTM para
>reproducirlos.
>
>A la pregunta ¿para que sirve el nombre de miembro?, la respuesta es para
>nada si sólo trabajas con SQL o principalmente con SQL.
>Todas tus tablas tendrán un solo miembro, y mejor así.
>Lo que sí te recomiendo es que el nombre del miembro coincida con el
nombre
>interno de la tabla, ya que aunque la mayoría de utilidades especifican
>*FIRST para el nombre del miembro, algunas he visto que indican *FILE y
que
>te podrían fallar.
>
>Si la pregunta es porqué una tabla debe tener un miembro, la respuesta es
>que la forma de implementar SQL sobre el sistema de archivos de AS/400 (o
>como se llame) es utilizar un objeto PF para almacenar la definición,
>atributos, permisos, punteros, etc.
>Un objeto PF puede tener un miembro, varios miembros o ningún miembro,
pero
>un PF no contiene datos o registros.
>Los datos (o registros) se almacenan en miembros.
>
>
>Bueno, perdona la extensión.
>Espero haberme explicado y si lo deseas puedo ampliar algún concepto.
>
>
>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 DB2 y SQL

>

>             05/04/2006 15:12

>

>

>                Por favor,

>                responda a

>             [EMAIL PROTECTED]

>                  bios.es

>

>

>
>
>
>
>Amigos del foro
>Si tuevieran alguna opinion u opinion se los agradeceré
>Saludos ;-)
>
>Carlos Augusto Correa García
>Desarrollo de Sistemas
>CMAC PIURA S.A.C.
>
>Carlos Augusto Correa García escribió:
>
>
>
>>Bueno días foro,
>>El presente es para hacerles la siguiente consulta.
>>Pretendo abocar mis trabajos así como los de todo el equipo de
>>desarrollo de la empresa en la que trabajo, al uso de DB2 y SQL.
>>Para tal efecto creo mis tablas a través de iSeries Navigator, sin
>>embargo con SQL solo puedo manipular el nombre del objeto relacional
>>(tabla) creado en DB2; pero yo necesito mantener el estandar de
>>denominación de objetos (del sistema operativo) que uso en mis
>>programas nativos RPG, CL y otros.
>>Por ejemplo: Creo una tabla (create table...) llamada "Clientes".. sin
>>embargo no me permite definirle el nombre interno del Sistema (el cual
>>ya tengo estandarizado), por ejemplo "F2001",  tengo que entrar a la
>>opcion "Redenominar" para definirle el nombre interno del sistema
>>operativo. Que es como los voy a llamar desde mis programas RPG.
>>Además me crea un nombre de formato de registro en forma automática,
>>para este ejemplo: "CLIEN00001", el que necesito muchas veces
>>referenciar desde mis programas nativo y él cual no lo puedo cambiar.
>>Todos estos cambios tengo que hacerlos en forma manual, esto implica
>>que cuando yo haga un backup de mis scripts SQL no voy a guardar estas
>>caracteristicas, y básicamente tendría que revisar todos mis RPG en
>>caso que los quisiera volver a generar desde cero.
>>Si tuvieran algunas buenas prácticas de estanderes de denominación y
>>desarrollo sería muy interesante
>>Otra pregunta, ¿Para que me sirve el nombre de miembro? ¿Cual es la
>>diferencia con el nombre del formato de registro?
>>Muchas gracias por sus respuestas
>>
>>Saludos
>>
>>----------------------------------
>>Carlos Augusto Correa García
>>Desarrollo de Sistemas
>>CMAC PIURA S.A.C.
>>
>>__________________________________________________
>>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
>
>
>
__________________________________________________
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

Responder a