Con respecto a las opciones aportadas por Javier quisiera decir que son muy interesantes pero creo que habría que matizarlas.

Con la siguiente sentencia SQL y añadiendo el campo en medio de la tabla tendrías problemas si no recompilas el programa:

SELECT * FROM TABLA INTO :Ds_Externa

Siendo Ds_Externa una estructura de datos definida externamente y basada sobre la tabla TABLA. Generalmente hablando, si el campo que añades no lo añades al final te puedes encontrar con problemas tanto en sentencias SQL dinámicas como estáticas, e incluso añadiéndolo al final, la sentencia de ejemplo anterior creo recordar que te genera un mensaje de aviso en la variable SQLSTT al no coincidir lo recibido con la definición de la estructura de datos almacenada en el programa.

Con respecto a la segunda opción, se trata de usar una característica (Encapsulación) de la programación orientada a objetos en un lenguaje no considerado como tal. Antes de que los puristas se me echen encima, esta opción planteada por Javier es muy recomendable, el problema es que el autor de este hilo mencionaba una situación existente (± 1.500 programas ya existentes) y no mencionaba su intención de retocar todo su sistema de acceso a base de datos.

DIEGO CAMACHO MORENO-GUERÍN

EUDITAS - Auditores Electrónicos SL
Derecho y Seguridad Nuevas Tecnologías
Sitio Web: www.euditas.es


Javier Mora escribió:
Hola a todos:

        Yo apunto alguna alternativa más:

        1. Utilizar en todos los programas SQL para la obtención y grabación
de datos en la base de datos. De esta forma da igual añadir un campo más,
por delante, por detrás o por enmedio. Añadir un campo más no implica ni
modiciar ni recompilar ningún programa. El campo siempre se inicializarán en
el fichero con su valor por defecto. Sólo en los programas que lo necesites,
tendrás que hacer las modificaciones necesariar.

        2. La siguiente alternativa es más sofisticada pero muy interesante.
Simplificando mucho, consiste en encapsular dentro de un programa de
servicio todos los accesos al fichero y la manipulación de todos sus campos.
Si el fichero sufre algún cambio en su estructura, sólo hay que modificar y
compilar un solo programa (el de servicio). El resto de programas que usan
este fichero lo manipulan a través de las funciones definidas en el programa
de servicio.

        Esta última explicación está muy simplificada pero puedes revisar
estos enlaces para entender mejor esta técnica:

Encapsulating File Access in a Service Program
http://www.itjungle.com/fhg/fhg072104-story01.html

More on RPG Encapsulation
http://www.itjungle.com/fhg/fhg011205-story01.html

        Un salulo,


        Javier Mora
        Dpto. Informática
        Dialsur S.A.U.


__________________________________________________
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

__________ Información de NOD32, revisión 1.1415 (20060221) __________

Este mensaje ha sido analizado con  NOD32 antivirus system
http://www.nod32.com




--
DIEGO CAMACHO MORENO-GUERÍN

Director Técnico

Grupo Cartuja Informática

Pq. Industrial PISA
Edificio LOGOS 1
C/ Manufactura, 4 - 2ª plta. of.1
41927- Mairena del Aljarafe
Teléfono: 95 446 82 25 Fax: 95 446 70 76 E-mail: [EMAIL PROTECTED]
Sitio Web: www.grupocartuja.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

Responder a