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&amp;#225;s de NEWS/400. &amp;#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
begin:vcard
fn;quoted-printable:Fernando P=C3=A9rez
n;quoted-printable:P=C3=A9rez;Fernando
org;quoted-printable:;Auditor=C3=ADa y Organizaci=C3=B3n
email;internet:[EMAIL PROTECTED]
tel;work:Ext. 627
x-mozilla-html:TRUE
version:2.1
end:vcard

__________________________________________________
Forum.HELP400 es un servicio m&amp;#225;s de NEWS/400.
&amp;#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

Responder a