Title: Mensaje
En mi opini�n, usar un fichero que haga de diccionario de datos y al que se referencien el resto de campos de los dem�s ficheros y adem�s coherentemente, no solo es recomendable,  �DEBERIA SER OBLIGATORIO POR LEY ! La raz�n de la exclamaci�n anterior es que tenemos un aplicativo de tama�o considerable que nos desarroll� una empresa externa, y aunque s� emplearon diccionario de datos, en muchas ocasiones fallaron en el tema de la coherencia. Por ejemplo: tomemos un concepto/campo llamado 'n�mero de transacci�n', pues resulta que est� referenciado a un campo del diccionario llamado 'codigo6', al cual est�n referenciados casi todos los c�digos num�ricos de tama�o 6-0, ya sean transacciones, n�meros para la rifa de navidad, o lo que sean. �Resultado? Se nos queda peque�o el campo y lo queremos ampliar, y como hay N conceptos referenciados al mismo campo del diccionario, no basta con ver los campos de fichero referenciados a CODIGO6. Hay que mirar uno a uno si es o no un 'n�mero de transacci�n', con el posible riesgo de equivocarse al mirarlo.
 
Esto es v�lido para los ficheros definidos con dds's, para las tablas sql no conozco ninguna forma automatizada de usar diccionario de datos. Nosotros lo hacemos en plan chapuza a�adiendo informaci�n en los comentarios del campo.
 
En cuanto a la nomenclatura dentro del fichero: Seg�n la versi�n de OS en la que est�s, en Ile rpg puedes usar la palabra clave PREFIX para definir prefijos y que no haya conflictos en los nombres, con lo que el campo se podr�a llamar Empre en tus ficheros A y B ( siempre que fuera posible, el campo del fichero deber�a llamarse igual que el campo del diccionario de datos).
 
Yo particularmente en los programas prefiero la nomenclatura 'fichero.campo'. Para poder utilizarla, uso lo siguiente:
 
 
Ffichero   UF A E           K DISK    usropn prefix(f1_)

D rFichero      E DS                  extname(fichero) qualified prefix(f1_)      
D rFichero@                       *   inz(%addr(rFichero))              
D               E DS                  extname(fichero) based(rFichero@)  
D                                     prefix(f1_)                    

La primera ds se usa para referirse a los campos con la nomenclatura fichero.campo. La segunda DS se usa para poder utilizar prefix y evitar conflictos con campos de otros ficheros con el mismo nombre. El puntero se usa para que se solapen ambas DS's

De esta manera, el campo campo1 de fichero es referenciado en el programa como rFichero.campo1, lo cual da mucha m�s legibilidad al programa ( y es algo que no se puede hacer con seguridad solo con prefix, ya que existe la limitaci�n de que el nombre del campo m�s el prefijo no puede ser mayor de 14 caracteres). 
 

Saludos.

Fernando P�rez.

Cer�mica Saloni. Dpto. Sistemas


-----Mensaje original-----
De: Juan Antonio [mailto:[EMAIL PROTECTED]
Enviado el: martes, 24 de febrero de 2004 12:16
Para: Forum
Asunto: Nombres de los campos de un fichero

Buenos d�as.
Es un tema que cada uno habr� resuelto seg�n su forma de desarrollar. Se trata de ver ventajas y desventajas en la forma de definir BBDD, de dise�ar pantallas y de programar, sobre qu� m�todo utilizar en la nomenclatura de los campos a definir. Puedo tener un diccionario con todos los campos y los ficheros f�sicos y l�gicos est�n referidos a �ste, o puedo tener f�sicos y l�gicos con campos definidos independientes para cada uno de estos ficheros aunque se tratase del mismo concepto. Por ejemplo, Empresa en el fichero A ser�a AEmpre y para el fichero B ser�a BEmpre. Para el caso del diccionario ser�a Empre para ambos ficheros.
Seg�n vuestra experiencia para futuros mantenimientos y desarrollos �qu� m�todo ser�a m�s �gil y m�s facil de tratar?
Gracias.

Attachment: Fernando P�rez.vcf
Description: Binary data

Responder a