Os env�o el fuente del programa al que hac�a referencia Jaime Villa. Os
permite, pas�ndole un nombre de fichero, un nombre de formato de pantalla y
un nombre de campo, recuperar la posici�n en pantalla del mismo a trav�s de
la API QDFRTVFD. Lo que no s� es si, buscando m�s informaci�n sobre el tema,
ser�is capaces de reconstruir el fuente de pantalla a trav�s de esta API. 

Saludos.

Juan Carlos.

 <<rtvpos.txt>> 

> -----Mensaje original-----
> De:   Francisco Perez Cervantes [SMTP:[EMAIL PROTECTED]
> Enviado el:   viernes, 07 de enero de 2005 17:18
> Para: [email protected]
> Asunto:       RE: Recuperaci�n Fuente (Pantalla) Juan Carlos Paredes 
> Importancia:  Alta
> 
> Hola, me encuentro yo tambi�n en la necesidad de recuperar fuentes DDS's,
> espero por favor me puedan ayudar, tengo aproximadamente 70 fuentes a
> recuperar.
>  
> Desde ya agradezco el apoyo.
>  
> Saludos!
> Francisco 
> 
>       -----Mensaje original-----
>       De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] nombre de Jaime Villa Torres
>       Enviado el: Jueves, 06 de Enero de 2005 05:10 p.m.
>       Para: [email protected]
>       Asunto: Re: Recuperaci�n Fuente (Pantalla) Juan Carlos Paredes 
>       
>       
>       Si otro miembro del forum, Juan Carlos Paredes lo autoriza te puedo
> enviar o el enviarte un programa que tiene para recuperar el cursor, este
> de da todas las decisiones que requieres para recuperar el fuente de esa
> pantalla
>        
>       Jaime Villa T.
> 
>               ----- Mensaje original ----- 
>               De: HYPERLINK "mailto:[EMAIL PROTECTED]"Wilfredo
> Ram�rez 
>               Para: HYPERLINK "mailto:[email protected]"Forum
> AS/400 (E-mail) 
>               Enviado: Jueves, 06 de Enero de 2005 02:53 p.m.
>               Asunto: Recuperaci�n Fuente (Pantalla)
> 
> 
>               Saludos a todos aquellos que forman parte del Forum, 
> 
>               Tengo un inconveniente en la empresa que trabajo, el fuente
> de una pantalla no aparece dentros las bibliotecas y solamente tenemos el
> objeto compilado, mi pregunta es, existe un comando al igual que el
> RTVCLSRC (recuperar fuente CL) para los objetos *File tipo DSPF, es decir,
> el fuente de una pantalla.
> 
>               Le agradecer�a cualquier ayuda que me puedan suministrar, 
> 
>               Gracias a todos. 
> 
>               Wilfredo Ram�rez 
>               Analyst Senior IT 
>               Phone     : (809) 616-4444 Ext.6529 
>               Mobile   :   (809) 650-0059 
>               Mail      :   [EMAIL PROTECTED] 
>               Banco Mercantil 
>               A Rep�blic Bank Subsidiary 
>               WWW.MERCANTIL.COM.DO 
>               __________________________________________________ 
>               Este mensaje y sus anexos contienen informaci�n confidencial
> dirigida �nica y exclusivamente para el (los) destinatario (s) del mismo.
> Si usted recibe este mensaje por error, notifique de inmediato al
> remitente mediante un mensaje de respuesta y proceda a borrarlo.
> 
>               Cualquier uso indebido del mismo, tanto total como parcial,
> est� prohibido, por lo que Banco Mercantil   no se responsabilizan por el
> uso que hagan personas no autorizadas de la informaci�n contenida en este
> mensaje, ni de las alteraciones que pueda sufrir durante su transmisi�n
> v�a Internet. 
> 
>               This message and its attachments contain confidential
> information that is intended exclusively for the specified addressee. If
> you mistakenly receive this message, immediately notify its sender by
> sending him/her a reply message, and delete the message. 
> 
>               Any unlawful use of any part of this message is prohibited.
> Banco Mercantil will not be responsible for the unauthorized use of the
> information contained herein, nor for any alteration it might undergo
> during its transmission through the Internet.
> 
> 
> 
> **************************************************************************
> ***** Informaci�n privada o confidencial esta contenida en este mensaje
> electr�nico. Si no es usted el destinatario, o no es el responsable de
> entregar este mensaje a la direcci�n destino, no deber� guardarlo,
> copiarlo o reenviarlo. De lo contrario ser� responsable de una violaci�n
> de confidencialidad. Agredecer�amos la notificaci�n de recepci�n y
> eliminaci�n del mensaje. Las opiniones incluidas son del remitente, y no
> necesariamente reflejan la opini�n de Manpower. 
>  
> Privileged or confidential information is contained in this electronic
> message. If this message is not addressed to you, or if you are not
> responsible for the delivery of this message to the addressee, you may not
> download, copy or forward this message to any other person. If you do not
> immediately delete this message you may be liable for a breach of
> confidentiality. We would be grateful if you would notify us of your
> receipt and deletion of this message. The opinions enclosed are those of
> the sender, and do not necesarily reflect those of Manpower.
> **************************************************************************
> ***** 
> 
> -- 
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.300 / Virus Database: 265.6.10 - Release Date: 10/01/2005
>  
> 
-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.6.10 - Release Date: 10/01/2005
 
     h
      * +---------------------------------------------+
      * | Variables para Recuperar Posici�n del Campo |
      * +---------------------------------------------+
     D  FilNam         s                   Like( NamTyp  )
     D  RcdFmt         s                   Like( NamTyp  )
     D  FldNam         s                   Like( NamTyp  )
     D  QDspFil        s                   Like( QNamTyp )
     D  Row            s              3P 0
     D  Col            s              3P 0
     D  Format         s              8a
     D RcvVar          S                   Like( BufTyp    )
     D RcvVarLen       S                   Like( IntTyp    )
     D                                     Inz( %Size( RcvVar ) )
     D Idx             S                   Like( IntTyp    )
     D SDFFINFO        S                   Like( IntTyp    )
     D LDFARFTE        S                   Like( IntTyp    )
     D SDFARFTE        S                   Like( IntTyp    )
     D SDFFRDPD        S                   Like( IntTyp    )
     D SDFFRCTE        S                   Like( IntTyp    )
     D SDFFXRDP        S                   Like( IntTyp    )
     D SDFFRINF        S                   Like( IntTyp    )
     D SDFFNTB         S                   Like( IntTyp    )
     D True            C                   *On
     D False           C                   *Off
     D FMTAR           S             16    Dim( 999 )
     D FMTNM           S             10    Dim( 999 )
     D FLDNM           S             10    Dim( 999 )
     D FLDRC           S              2    Dim( 999 )
     D                 Ds
     D RC12                                Like( SmlIntTyp )
     D  RC1                                Like( ChrTyp    )
     D                                     Overlay( RC12:1 )
     D  RC2                                Like( ChrTyp    )
     D                                     Overlay( RC12:2 )
      *  Base file section ( QDFFBASE )
     DQDFFBASE         Ds
     D QDFFRETN                1      4B 0
     D QDFFSIZE                5      8B 0
     D QDFFINOF                9     10B 0
     D QDFFRCS                11     12B 0
     D  QDFBITS               13     13
     D QDFFFSCR               14     15B 0
     D QDFFSRSQ               16     17B 0
     D QDFCCSID               18     19B 0
     D QDFFSCRS               20     20
      *  File header section ( QDFFINFO )
     DQDFFINFO         Ds
     D QDFFDFLO                1      4B 0
     D QDFFWUOF                5      8B 0
     D QDFFFMWU                9     12B 0
     D QDFFSEQO               13     16B 0
     D QDFFFSFL               17     18B 0
     D QDFFFSCE               19     20B 0
     D  QDFBITS01             21     22
     D QDFRVED7               23     34
     D QDFFXDOF               35     36B 0
      *  Record format table ( QDFARFTE )
     DQDFARFTE         Ds
     D QDFARFNM                1     10
     D  QDFBITS08             11     12
     D QDFARFOF               13     16B 0
      *  Record header section ( QDFFRINF )
     DQDFFRINF         Ds
     D QDFFRDDO                1      4B 0
     D QDFFOFIT                5      8B 0
     D QDFFSTBO                9     12B 0
     D  QDFBITS09             13     16
     D QDFFFLD                17     18B 0
     D QDFVED21               19     22
     D QDFFINDO               23     24B 0
     D QDFVED22               25     28
     D QDFFRAOF               29     30B 0
      *  Display-Record-Level-Device-Dependent section ( QDFFRDPD )
     DQDFFRDPD         Ds
     D QDFFDRCO                1      4B 0
     D QDFFINCP                5      6B 0
     D QDFFFIBF                7      8B 0
     D QDFFFOIS                9     10B 0
     D QDFVED23               11     12
     D   QDFBITS11            14     14
     D   QDFBITS12            15     15
     D   QDFBITS13            16     16
     D  QDFBITS14             17     18
     D  QDFBITS15             19     20
     D QDFFERRM               21     22B 0
     D  QDFBITS16             23     23
     D  QDFBITS17             24     24
     D QDFFCGRI               25     26B 0
     D  QDFBITS18             27     28
     D QDFFXRDO               29     30B 0
     D QDFVED32               31     32
     D QDFFRDOC               33     34B 0
      *  Display-Record-Level-Device-Dependent section
      *  extension structure ( QDFFXRDP )
     DQDFFXRDP         Ds
     D QDFFFOTO                1      4B 0
     D QDFFNRCO                5      8B 0
     D QDFVED33                9     12
     D QDFFSEGS               13     14B 0
     D QDFVED34               15     16
     D QDFHCTLO               17     18B 0
     D QDFVED35               19     24
      *  Row-Column table entry ( QDFFRCTE )
     DQDFFRCTE         Ds
     D QDFFSROW                1      1
     D QDFFSCOL                2      2
     d ApiErrDs        Ds
     d   Apibytpv                    10i 0 inz(%size(ApiErrDs))
     d   ApiErrLen                   10i 0 inz(0)
     d   ApyMsgId                     7a
     d   ApyResVd                     1a
     d   ApyRplDta                   50a
      * +------------------------------+
      * | Definici�n Campos Auxiliares |
      * +------------------------------+
     d @IndErr         s               n
      * +-------------------------------------------------------+
      * | Descripciones para campo definidos como 'Like(xxxxx)' |
      * |     Like( QNamTyp   )  =    20 A                      |
      * |     Like( NamTyp    )  =    10 A                      |
      * |     Like( ChrTyp    )  =     1 A                      |
      * |     Like( LglTyp    )  =     1 A                      |
      * |     Like( BufTyp    )  = 32767 A                      |
      * |     Like( IntTyp    )  =    10 I 0                    |
      * |     Like( SmlIntTyp )  =     5 I 0                    |
      * +-------------------------------------------------------+
     d QNamTyp         s             20a
     d NamTyp          s             10a
     d ChrTyp          s              1a
     d LglTyp          s              1a
     d BufTyp          s          32767a
     d IntTyp          s             10i 0
     d SmlIntTyp       s              5i 0
      * ----------------------------------------------------------------- *
      * Proceso
      * ----------------------------------------------------------------- *
     c     *entry        plist
     c                   parm                    FilNam
     c                   parm                    RcdFmt
     c                   parm                    FldNam
     c                   parm                    Row
     c                   parm                    Col
      /free
          @IndErr=False;
          QDspFil=FilNam+'*LIBL     ';
          exsr calcula;
          *inlr=*on;
          return;
      /end-free
      * -----------------------------------------------------------------*
      * calcula - Calcular Posici�n del Campo                            *
      * ---------------------------------------------------------------- *
     c     calcula       begsr
     c                   eval      Row=0
     c                   eval      Col=0
      *  API para Recuperar Descripci�n del DSPF ( QDFRTVFD )
     c                   call      'QDFRTVFD'
     c                   parm                    RcvVar
     c                   parm                    RcvVarLen
     c                   parm      'DSPF0100'    Format
     c                   parm                    QDspFil
     c                   parm                    ApiErrDs
     c                   if        ApiErrLen>0
     c                   eval      @IndErr=True
     c                   endif
     c                   if        not @IndErr
     C                   Eval      QDFFBASE = %SUBST( RcvVar:1:20 )
     C                   Eval      SDFFINFO = QDFFINOF + 1
     C                   Eval      QDFFINFO = %SUBST( RcvVar:SDFFINFO:36 )
     C                   Eval      SDFARFTE = SDFFINFO + QDFFDFLO
     C                   Eval      LDFARFTE = QDFFRCS * 16
     C                   Eval      FMTAR    = *Blank
     C                   Eval      Idx = 1
     C                   DoW       Idx <= QDFFRCS
     C                   Eval      FMTAR( Idx ) = %SUBST(RcvVar:SDFARFTE:16)
     C                   Eval      FMTNM( Idx ) = %SUBST(RcvVar:SDFARFTE:10)
     C                   Eval      Idx          = Idx + 1
     C                   Eval      SDFARFTE     = SDFARFTE + 16
     C                   EndDo
     C                   Eval      Idx = 1
     C     RcdFmt        LookUp    FmtNm( Idx )                           10
     C                   If        *In10 = True
     C                   MoveA     FmtAr( Idx )  QDFARFTE
     C                   Eval      SDFFRINF = SDFFINFO + QDFARFOF
     C                   Eval      QDFFRINF = %SUBST( RcvVar:SDFFRINF:30 )
     C                   Eval      SDFFRDPD = SDFFRINF + QDFFRAOF
     C                   Eval      QDFFRDPD = %SUBST( RcvVar:SDFFRDPD:34 )
     C                   Eval      SDFFRCTE = SDFFRINF + QDFFDRCO + 6
     C                   Eval      SDFFXRDP = SDFFRINF + QDFFXRDO
     C                   Eval      QDFFXRDP = %SUBST( RcvVar:SDFFXRDP:24 )
     C                   Eval      SDFFNTB  = SDFFRINF + QDFFNRCO
     C                   Eval      FldNm    = *Blank
     C                   Eval      FldRC    = *Blank
     C                   Eval      Idx  = 1
     C                   DoW       Idx <= QDFFFLD
     C                   Eval      FLDNM( Idx ) = %SUBST( RcvVar:SDFFNTB:10)
     C                   Eval      FLDRC( Idx ) = %SUBST( RcvVar:SDFFRCTE:2)
     C                   Eval      Idx          = Idx      +  1
     C                   Eval      SDFFNTB      = SDFFNTB  + 10
     C                   Eval      SDFFRCTE     = SDFFRCTE +  2
     C                   EndDo
     C                   Eval      Idx = 1
     C     FldNam        LookUp    FldNm( Idx )                           11
     C                   If        *In11 = True
     C                   Eval      RC1   = X'00'
     C                   MoveA     FldRC( Idx )  QDFFRCTE
     C                   Move      QDFFSROW      RC2
     C                   Z-Add     RC12          Row
     C                   Move      QDFFSCOL      RC2
     C                   Z-Add     RC12          Col
     C                   Eval      Col = Col + 1
     C                   If        Col > 80
     C                   Eval      Col = Col - 80
     C                   Eval      Row = Row + 1
     C                   EndIf
     C                   EndIf
     C                   EndIf
     C                   EndIf
     C                   EndSr

Responder a