Si miras las novedades de RPG para V6R1, verás que ya se pueden definir DS
para los ficheros de pantalla (qualified), para cada formato de registro.
Y además está la instrucción EVAL-CORR (similar a Cobol) para mover los
campos entre DS aunque estén en definidos en distinto orden.
De esta forma, puedes definir DS para todos los ficheros y pantallas y
moverlos explícitamente.

Lo que esto no resuelve son los campos de fecha definidos como día, mes y
año y unidos en uno solo mediante DS.


Saludos,
                  ---------------------------
                    Santiago Martí
                       Dusen, S.A.
                  ---------------------------




                                                                       
             Fernando Pérez                                          
             <[EMAIL PROTECTED]                                         
             m>                                                       Para
             Enviado por:              "forum.help400"                 
             forum.help400-bou         <[email protected]>
             [EMAIL PROTECTED]                                          cc
             os.es                                                     
                                                                    Asunto
                                       Re: un campo en dos DS ?        
             11/06/2008 18:03                                          
                                                                       
                                                                       
                Por favor,                                             
                responda a                                             
              "forum.help400"                                          
             <[EMAIL PROTECTED]                                         
             stas.combios.es>                                          
                                                                       
                                                                       




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

Saludos.

Fernando Pérez

Cerámica Saloni. Dpto. Auditoría y Organización


Guillermo Andrades (CPI Software) escribió:
      Fernando,

      << ¿Por qué definirlos en una DS?. ¿No puedes definirlos como
      variables sueltas?>>

      no se si entiendo esto bien, si el programa de pantalla ya tenia
      campos de pantalla puestos en DS....
      y ademas puede ser que tuviera varios campos....

      y nosotros generamos una DS entera con todos los campos de
      pantalla....

      se daria el error de "no se puede tener un campo en dos DS"

      no entiendo bien si definiendo como dices (cada campo en una nueva
      ds?)
      esto no daria error?

      o dices que los campos de DS que ya hay se cambien a ese formato una
      vez que se haya creado la segunda DS completa?
      esto es mucho trabajo manual y tendente a fallos, me parece,
      o redimelo a ver si lo entiendo.

      el tema es que si uno pilla un programa de 1989 con 4700 lineas y 300
      campos de pantalla (calores me estan dando...) como se asegura de que
      todos los movimientos necesarios se van a hacer?

      Guillermo.





      2008/6/11 Fernando Pérez <[EMAIL PROTECTED]>:
            Ya veo que no es el problema que te comentaba antes, sino todo
            lo contrario.

            ¿Por qué definirlos en una DS?. ¿No puedes definirlos como
            variables sueltas?

            En el ejemplo de la fecha, si los campos están correlativos en
            la DS y en el orden correcto, puedes crear otra DS que solape a
            la primera:
                 D DS2             DS                  based(@DS1)
            qualified
                 D  dia ...
                 D  mes ...
                 D  anyo ...
            donde @DS1 =%addr(DS1) (la dirección de memoria en la que se
            almacena la primera DS)

            Saludos.
            Fernando Pérez
            Cerámica Saloni. Dpto. Auditoría y Organización




      __________________________________________________
      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(See attached
      file: fperez.vcf)__________________________________________________
      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

Attachment: fperez.vcf
Description: Binary data

__________________________________________________
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