Fernando, Gracias por el ejemplo tan elaborado, claro, el tener que hacer moves sueltos (sean en procedures o no) y diferentes por cada programa acompleja la conversion, la alternativa de hats y cosas parecidas se les hace a los clientes mas tentadora cuando ven que tienen que tocar demasiado los programas. (o dejarlos en verde, que es como funcionan de c..., lo que no se dan cuenta es que si lo dejan en verde porque anda bien ya llegará un nuevo gerente o financiero que di´rá que tiene un amigo que todo lo tienen ejn bonito y etc etc)
seguimos en ello. muchas gracias, Guillermo. 2008/6/12 Fernando Pérez <[EMAIL PROTECTED]>: > No hablo de definir una DS por campo, sino de definir los campos como > simples variables, sin DS: > > D dia S 2 0 > > Y si acaso meter la definición de esas variables en un fichero aparte, a > incluir con /copy > > Si por lo que parece vosotros necesitáis que todos los campos de pantalla > estén en una DS para los mapeos, podéis crearos una aparte y con dos > procedimientos mantenerla sincronizada con las variables sueltas. Como > supongo que la utilización de la DS la tendréis bastante más controlada que > los moves dentro del programa, sería fácil incluir los procedimientos para > sincronizar allá donde sea necesario: > > H dftactgrp(*no) > H actgrp(*new) > * > * DS para mapeo de campos (iría en el fuente aparte) > D dsfecha DS qualified > D dia 2 0 > D mes 2 0 > D anyo 4 0 > * > * Definición de los campos sueltos (iría en el fuente aparte) > * > D dia S 2 0 inz(1) > D mes S 2 0 inz(2) > D anyo S 4 0 inz(3) > * > D getFecha PR > D setFecha PR > * > * > * > /free > getfecha(); > dsfecha.dia = 11; // Por cambiar algo > setfecha(); > dsply dia; > *inlr = *on; > /end-free > * > * > P getfecha B > D PI > * > /free > dsfecha.dia = dia; > dsfecha.mes = mes; > dsfecha.anyo = anyo; > /end-free > * > P getfecha e > * > P setfecha B > D PI > * > /free > dia = dsfecha.dia; > mes = dsfecha.mes; > anyo = dsfecha.anyo; > /end-free > * > P setfecha e > > > > > > Saludos. > > Fernando Pérez > > Cerámica Saloni. Dpto. Auditoría y Organización > > > Guillermo Andrades (CPI Software) escribió: > > > > 2008/6/11 Fernando Pérez <[EMAIL PROTECTED]>: > >> Lo que quería decir es si en lugar de generar una DS con todos los campos >> de pantalla no podéis definirlos como variables independientes. De esta >> manera pueden estar en otra DS. Por lo que respecta al fallo manual que >> comentas, ciertamente si lo haces a mano tienes probabilidades de pifiarla, >> pero se puede hacer una utilidad (a eso os dedicáis, ¿no? ;-) ) que se tire >> un dspffd del archivo de pantalla a disco y lo procese, creando un fichero >> fuente con las definiciones de las variables correspondientes a los campos >> de pantalla, que se incluiría en el programa con un /copy. De todas maneras, >> ¿Cómo teníais pensado definir la DS? (igual lo del error manual no es lo que >> yo te he entendido). >> > > > hombre, claro, lo del trabajo manual me refiero al necesario de verificar > moves dentro del programa, no a definir la posible DS, que eso ya lo venimos > haciendo desde que era un crédulo muchachito. > ahora que escribo esto pienso que tambien se podrian buscar todas > referencias a campos problematicos y generarles los moves antes y despues > adecuados, pero quedaria el codigo como una charca de gorrinos. > > fijate que sigo sin ver lo de que si se crean los campos en DS unitarias > (creo que es lo que dices) ya no habrá error de compilacion ¿? > aparte de que pueden existir 300 campos en pantalla (aunque al menos con un > /copy como dices no se veria a primera vista). > ademas del hecho de que todos los campos de pantalla deben estar en la > misma DS para que se haga el "mapeo" de campos adecuadamente, aunque si > andara lo de las DS sueltas quiza esto se podria repensar. > > veamos, > si en pantalla existe el campo WWCAMPO1 > que ademas en el pgm ya estaba en una DS > > si creamos (o generamos auto, es igual) una DS nueva dentro de la cual > existe WWCAMPO1, el pgm no compila. > > Guillermo. > >
__________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; Publicaciones Help400, S.L. - Todos los derechos reservados http://www.help400.es _____________________________________________________ Para darte de baja visita la siguente URL: http://listas.combios.es/mailman/listinfo/forum.help400

