A ver, te cuento como va la circuitería interna, espero que te sirva.

1º Necesitas un registro en el RLU que al que se asociará el objeto *PAGSEG:

     A          R DETAL24CC


 A*%%***********************************************************************
     A*%%RI 00000


 A*%%***********************************************************************
     A                                      PAGSEG(&LIBSIGSEG/&SIGSEG &POSD
&PO-
     A                                      SA)

     A*

      * Campo de biblioteca segmento, 10 tipo A y uso P

      * Campo de nombre segmento, 8 tipo A y uso P

      * Campos de desplazamiento, 5,3 tipo S y uso P

     A            LIBSIGSEG     10A  P

     A            SIGSEG         8A  P

     A            POSD           5S 3P

     A            POSA           5S 3P


Como ves se puede parametrizar la biblioteca y el nombre del objeto
*PAGSEG, y las coordenadas XY de donde quieres que aparezca. Yo lo tengo en
una tabla y me sirve para hacer los cambios de forma dinámica, incluso lo
tengo con fecha de caducidad, por si quiero que deje de salir de forma
automática a partir de una fecha, si mañana cambia la imagen a mostrar,
creo una nueva y cargo su nombre en la tabla.....

2º En el programa, recupero de la tabla (RtvPagSeg es un módulo que
devuelve las características del PAGSEG a imprimir ) y cargo los valores
que muevo a los campos del RLU.....

    If RtvPagSeg(P1ABCD:'FI':ZZPGM:'DETAL24CC':'
':Pr_LibSeg:Pr_NomSeg:Pr_PosDown:Pr_PosAcross);
      LibSigSeg = Pr_LibSeg;
      SigSeg    = %Subst(Pr_NomSeg:1:8);
      PosD = Pr_PosDown;
      PosA = Pr_PosAcross;
      EscribeFirma = *On;
    Else;
      EscribeFirma = *Off;
    EndIf;
.....
...
...  Muchas líneas más adelante
....
...
...
    If EscribeFirma;
      Write     DETAL24CC;
    EndIf;

Tu puedes tener dos segmentos, uno con "ORIGINAL"  y otro con "DUPLICADO".
Lo único que necesitas es saber bajo que circunstancias se muestra uno u
otro y al campo SIGSEG moverle el nombre de un segmento u otro, hacer el
Write al registro con los valores y ya está. (como siempre tendrás que
jugar con los valores Down/Across hasta que aparezca colocado donde te
conviene).

Un saludo

Date: Wed, 24 Jan 2018 10:45:13 +0100
> From: "alberto" <alberto.marti...@roler.es>
> Subject: Re: ** Newsletter ** RE: Duda copias en preformatos
> To: "forum.help400" <forum.help400@listas.combios.es>
> Message-ID:
>         <
> of4a05b05a.e70eb05a-onc125821f.0034d3df-c125821f.00359...@arcadie.es>
> Content-Type: text/plain; charset="utf-8"
>
> Caray. Esto pinta bien. Evidentemente no lo he hecho nunca.
> Interpreto que es un registro vacio, sólo con esta variable?
> Descrito en el fichero al principio al final?, le da lo mismo?
> Interpreto que el orden de escritura sería algo así:
> Overlay=1;
>    Exsr Sr_albaran;
> Overlay=2;
>    Exsr Sr_albaran;
>
> Begsr Sr_albaran;
>    Write reg_overlay
>    write cabecera
>    dow not %eof
>         Write lineas
>     Enddo
>    write total
> Endsr;
>
>
>
>
> De:     "Javier Mora" <jm...@musgrave.es>
> Para:   "forum.help400" <forum.help400@listas.combios.es>
> Fecha:  24/01/2018 10:34
> Asunto: ** Newsletter ** RE: Duda copias en preformatos
> Enviado por:    forum.help400-boun...@listas.combios.es
>
>
>
> Otra opción consiste en incluir en el PRTF un registro con OVERLAY y
> parametrizarlo con una ?variable a programa? y cargar el nombre de un
> preformato u otro.
>
> Javier Mora
>
> De: forum.help400-boun...@listas.combios.es [
> mailto:forum.help400-boun...@listas.combios.es] En nombre de Fernando
> Sánchez Piña
> Enviado el: miércoles, 24 de enero de 2018 9:25
> Para: forum.help400
> Asunto: Re: Duda copias en preformatos
>
> Buenos días,
>
> De esa manera te genera dos impresos.
> Yo suelo hacer un sólo preformato sin el texto y luego se lo añado en el
> PRTF como una variable de texto más, de esta forma se genera un único
> impreso y quedan identificadas cada hoja con Original y Copia. Además se
> puede ver antes de imprimirlo en el mismo spool del as400.
>
> Un saludo
>
> Fernando Sánchez Piña
>
> El 24 de enero de 2018, 9:17, alberto <alberto.marti...@roler.es>
> escribió:
> Buenos dias.
> Para los que hacéis preformatos, a ver si me podéis confirmar una cosa. Lo
> digo porque igual tiro para el camino más largo, y luego resulta que hay
> un atajo:
> Tengo que hacer una impresión con original + copia en la que en la primera
> página ponga 'original' y en la segunda ponga 'copia'
> Yo he pensado en hacer dos preformatos(uno para cada hoja) y dos rutinas
> de impresión, evidentemente antes de ejecutar cada una de ellas, hago un
> ovrprtf del printerfile y le asigno un preformato.
>
> -Llenar fichero
> ovrprtf file(printerfile) FRONTOVL(&libl/PREFORMato1)
> Ejecutar rutina printer
> ovrprtf file(printerfile) FRONTOVL(&libl/PREFORMato2)
> Ejecutar rutina printer
>
> Alguien lo ha hecho de un sólo paso?
> Gracias!
>
>
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a