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