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