Muchas Gracias a todos por vuestras ideas y colaboraciones, con toda la
información que he ido recopilando estos días he llegado a la conclusión que
vamos a convivir con ficheros creados vía DDS y SQL, me estoy planteando si
abandonamos las DDS y creamos los nuevos ficheros desde SQL, me pareció muy
interesante y sorprendente el tema del rendimiento que salió en alguno de
los mails.

Os mando un par de direcciones de internet que a mí me han sido muy útiles:

IBM sobre la API QSQGNDDL.

http://publib.boulder.ibm.com/html/as400/v5r1/ic2924/index.htm?info/apis/qsqgnddl.htm
 .

Mandato GENDDL, fuentes para crear este mandato que permite recuperar el
fuente SQL de distintos tipos de objetos.

http://www.itjungle.com/mgo/mgo060502-story01.html

De nuevo gracias a todos, Jordi.

----- Original Message ----- 
From: <forum.help400@combios.es>
To: <forum.help400@combios.es>
Sent: Monday, January 16, 2006 5:52 PM
Subject: Re: Campo autoincremental, o DDS versus SQL.







Hola Fernando:

Tienes razón.

Pero nosotros utilizamos un estándar antiguo, aunque últimamente se está
poniendo de moda, de manera que en cada programa los ficheros se utilizan
mediante LF, ya sea ficheros lógicos o Vistas SQL, de forma que solamente
contengan los campos relacionados con ese programa.

De esta forma, cuando añadimos o modificamos un campo a un fichero sólo es
necesario considerar, modificar y recompilar los programas afectados y no
es necesario preocuparse por el resto de ficheros lógicos ni programas.


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






             Fernando Pérez
             <[EMAIL PROTECTED]
             m>                                                       Para
             Enviado por:              forum.help400@combios.es
             forum.help400-adm                                          cc
             [EMAIL PROTECTED]
                                                                    Asunto
                                       Re: Campo autoincremental, o DDS
             16/01/2006 16:37          versus SQL.


                Por favor,
                responda a
             [EMAIL PROTECTED]
                  bios.es






A nosotros los índices nos funcionan bien con las funciones tradicionales
de acceso a datos de RPG. A las tablas creadas con SQL (o sea, todas las
nuevas), les creamos índices, y a las que ya exisitían con DDS's les
seguimos creando lógicos.

Eso sí, que yo sepa, no hay equivalente SQL a un lógico de unión ordenado.

Saludos.

Fernando Pérez

Cerámica Saloni. Dpto. Sistemas


Santiago G Martí escribió:



      Nosotros estamos cambiando poco a poco.

      Los ficheros físicos los creamos con SQL, porque tienen mucho mejor
      rendimiento que los creados con DDS.

      Sobre estas tablas creamos Ficheros Lógicos con DDS, para poder
      utilizarlos
      con las sentencias tradicionales de RPG CHAIN, READ etc.

      En los programas sólo utilizamos LF.


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





                   Vicente García

                   <[EMAIL PROTECTED]

                   om>
      Para
                   Enviado por:              forum.help400@combios.es

                   forum.help400-adm
      cc
                   [EMAIL PROTECTED]


      Asunto
                                             Re: Campo autoincremental

                   13/01/2006 09:18



                      Por favor,

                      responda a

                   [EMAIL PROTECTED]

                        bios.es







      En cuanto a que no te gusta tener ficheros sin DDS, ¿es por que te
      gusta
      tener los fuentes de los ficheros de datos? Si es por eso con SQL
      sigues
      teniendo los fuentes tanto de la tabla en si como de índices, vistas,
      restricciones,... y la potencia que te da el SQL no tiene comparación
      a
      las DDS.

      Desde estos fuentes SQL con RUNSQLSTM creas las tablas, índices,
      vistas,... igual que ahora haces con CRTPF o CTRLF (opción 14 de
      PDM).

      Incluso es posible desde los ficheros que tienes ahora (incluso sin
      tener el fuente DDS) generar las sentencias DDL de SQL que les
      corresponden, mediante iSeries Navigator o mediante el API QSQGNDDL.

      Y de todas maneras se pueden tener conviviendo juntas tablas creadas
      desde DDS e ir creando las nuevas desde SQL.

      Saludos

      Vicente García Valero
      Departamento Sistemas
      Cerámica SALONI, S.A.

      Jordi Parera wrote:

            Hola Foro,

            Estoy intentado crear un fichero con un campo autoincremental
            vía DDS,
            creo que es imposible, me lo podrían confirmar.

            Mediante SQL ningún problema, aunque no me gusta excesivamente
            tener
            ficheros sin DDS.

            Me he encontrado con una situación como mínimo sorprendente, si
            creo un
            fichero vía SQL y posteriormente intento añadir un campo
            autoincremental
            con una sentencia de este estilo:

            ALTER TABLE Fichero ADD COLUMN campo INT

            GENERATED ALWAYS AS IDENTITY

            (START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO

            CYCLE NO ORDER CACHE 20)

            , me lo crea sin ningún problema. Pero si intento hacer lo
            mismo contra
            un fichero creado con DDS, sin ningún campo clave me da el
            siguiente
            error:

            Mensaje . . . . : Sólo se permite una columna ROWID o IDENTITY
            para la
            tabla

            Fichero de Biblioteca.

            Causa . . . . . : La columna "campo" no puede crearse en la
            tabla
            "Fichero"

            de "Biblioteca" ya que la columna *N ya se ha definido. Puede
            haber como
            máximo una

            columna IDENTITY y una columna ROWID que estén definidas en una
            tabla.

            Recuperación . : Elimine una de las columnas o bien cambie los
            atributos
            de

            modo que sólo una columna esté definida como ROWID o como una
            columna

            IDENTITY. Intente de nuevo la petición.

            Alguien me podría decir porque o si estoy haciendo algo
            incorrectamente,
            muchas gracias a todos por vuestra ayuda.



      __________________________________________________
      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

        (See attached file: fperez.vcf)

__________________________________________________
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