Hola:

El proceso que explicas, gana en flexibilidad pero pierde en
eficiencia/rendimiento.

Los términos de archivo principal y secundario se adaptan
perfectamente a la filosofía del ciclo lógico del lenguaje RPG, pero
no es compatible con nombres de archivos parametrizables. Así
consigues un programa eficiente pero poco flexible.

Si puedes renunciar a perder esta flexibilidad, una solución
extramadamente sencilla es crear un programa que utilizen un archivo
primario, los n archivos secundarios, junto con los indicadores de
nivel de control (indicadores L1, L2....) y seguro que tendrás un buen
rendimiento. Son programas muy sencillos de confeccionar, pero tendrás
que confeccionar un programa para cada conjunto de archivos
principal/secundario a procesar.

Desconozco cuantos archivos se procesan actualmente con el método que
utilizass (es un dato que no indicas), pero sino son demasiado, quizás
puedas valoras si el tiempo que cuesta confeccionar los programas que
te recomiendo compensa el tiempo que tu programa flexible necesita
para completar el proceso.

Tenemos frente a nosotros la balanza de la Flexibilidad versus la
Especialización.

SAlu2

El 18/05/06, Jaime Villa Torres<[EMAIL PROTECTED]> escribió:


Señores, alguna idea por favor.

Tengo el siguiente proceso,
En el proceso se utilizan los términos archivos principales y archivos
secundarios.
Sobre los principales, por medio de parámetros, que son los campos llave,
uno principales con secundarios.
Existe otra parametrización donde se indica que existe un campo base en el
principal y se diferencia si el campo es numérico o alfa.
Si es numérico si asigna un consecutivo y si es alfa se asigna una
descripción concatenada con un consecutivo.
El proceso lee el principal y cambia el campo base, de acuerdo al tipo de
campo, si es numérico o alfa, con la parametrización de campo llave entre el
principal y secundarios,
se accesa al secundario con el valor original de principal y se cambia ahora
el secundario.
Todo el proceso es paramétrico, se ingresa un archivo principal y se le
asigna sus archivos secundarios y se unen por el campo a cambiar.
Ejemplo
Principal
CampoA tipo numérico, valor 15250125
Secundario
CampoA tipo numérico, valor 15250125
El campo llave es el campoA.

El proceso cambia el valor 15250125 en el archivo principal por 00000001,
con el valor 15250125 accesa el archivo secundario y también le asigna el
valor 00000001, así exista un solo registro o varios.
y si el principal tiene mas de un archivo, continua leyendo la
parametrización y sigue realizando el cambio.

Primero estoy en V5R1, el problema radica en la lectura del principal, como
tengo un proceso único, cuando leo el principal para extraer el valor del
campo base utilizo %addr, y luego para los secundarios
realizo un sql update., el proceso funciona pero realmente es muy lento, y
lo lento también tiene una razón, en los archivos secundarios estamos
hablando de millones de registros.
He realizado pruebas declarando los archivos principales en la hoja F y los
hijos los sigo actualizando por sql update y realmente los tiempos son
aceptables, pero esta solución no sirve, ya que para cada necesidad tendría
que realizar un programa.

Si tienen alguna sugerencia para la lectura del archivo principal y extraer
el valor del campo base, desde ya les agradezco.

Gracias


--
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

Responder a