Javier,

Te adjunto un CL y una pantalla que hace algo parecido. Es una pantalla que
se va refrescando cada 5 segundos y cambiando cada vez de color una barra en
la parte inferior de la pantalla.

La línea realmente importante es la 41/42:

 

0001.00              PGM
060323                                 

0002.00              DCLF       FILE(LATENCIA)
060323                                 

0003.00              CHGVAR     VAR(&IN91) VALUE('1')
060323                                 

0004.00 INI:
060323                                 

0005.00              IF         COND(&IN91 = '1') THEN(DO)
060323                                 

0006.00              CHGVAR     VAR(&IN91) VALUE('0')
060323                                 

0007.00              CHGVAR     VAR(&IN92) VALUE('1')
060323                                 

0008.00              GOTO       CMDLBL(REFRESCO)
060323                                 

0009.00              ENDDO
060323                                 

0010.00              IF         COND(&IN92 = '1') THEN(DO)
060323                                 

0011.00              CHGVAR     VAR(&IN92) VALUE('0')
060323                                 

0012.00              CHGVAR     VAR(&IN93) VALUE('1')
060323                                 

0013.00              GOTO       CMDLBL(REFRESCO)
060323                                 

0014.00              ENDDO
060323                                 

0015.00              IF         COND(&IN93 = '1') THEN(DO)
060323                                 

0016.00              CHGVAR     VAR(&IN93) VALUE('0')
060323                                 

0017.00              CHGVAR     VAR(&IN94) VALUE('1')
060323                                 

0018.00              GOTO       CMDLBL(REFRESCO)
060323                                 

0019.00              ENDDO
060323                                 

0020.00              IF         COND(&IN94 = '1') THEN(DO)
060323                                 

0021.00              CHGVAR     VAR(&IN94) VALUE('0')
060323                                 

0022.00              CHGVAR     VAR(&IN95) VALUE('1')
060323                                 

0023.00              GOTO       CMDLBL(REFRESCO)
060323                                 

0024.00              ENDDO
060323                                 

0025.00              IF         COND(&IN95 = '1') THEN(DO)
060323                                 

0026.00              CHGVAR     VAR(&IN95) VALUE('0')
060323                                 

0027.00              CHGVAR     VAR(&IN96) VALUE('1')
060323                                 

0028.00              GOTO       CMDLBL(REFRESCO)
060323                                 

0029.00              ENDDO
060323                                 

0030.00              IF         COND(&IN96 = '1') THEN(DO)
060323                                 

0031.00              CHGVAR     VAR(&IN96) VALUE('0')
060323                                 

0032.00              CHGVAR     VAR(&IN97) VALUE('1')
060323                                 

0033.00              GOTO       CMDLBL(REFRESCO)
060323                                 

0034.00              ENDDO
060323                                 

0035.00              IF         COND(&IN97 = '1') THEN(DO)
060323                                 

0036.00              CHGVAR     VAR(&IN97) VALUE('0')
060323                                 

0037.00              CHGVAR     VAR(&IN91) VALUE('1')
060323                                 

0038.00              GOTO       CMDLBL(REFRESCO)
060323                                 

0039.00              ENDDO
060323                                 

0040.00 REFRESCO:
060323                                 

0041.00              SNDRCVF    RCDFMT(R1) WAIT(*NO)
060323                                 

0042.00              MONMSG     MSGID(CPF0887) EXEC(GOTO CMDLBL(FIN))
060323                                 

0043.00              DLYJOB     DLY(5)
140221                                 

0044.00              GOTO       CMDLBL(INI)
990717                                 

0045.00
990717                                 

0046.00 FIN:
990717                                 

0047.00              ENDPGM
990717                                 

 


Pantalla:

 

0000.10      A*%%TS  SD  20140221  113548  XEM         REL-V5R2M0  5722-WDS
140221                                 

0000.20      A*%%EC
140221                                 

0000.30      A                                      DSPSIZ(24 80 *DS3)
140221                                 

0000.40      A          R DUMMY
011122                                 

0000.50      A*%%TS  SD  20011122  115052  XEM         REL-V5R2M0  5722-WDS
011122                                 

0000.60      A                                      ASSUME
011122                                 

0000.70      A                                  1  2' '
011122                                 

0000.80      A          R R1
140221                                 

0000.90      A*%%TS  SD  20140221  113548  XEM         REL-V5R2M0  5722-WDS
140221                                 

0001.00      A                                      WINDOW(8 20 8 30
*NOMSGLIN)              140221                                 

0001.10      A                                      CF03(03 'Salir')
140221                                 

0001.20      A                                      CF12(12 'Salir')
140221                                 

0001.30      A                                      OVERLAY
140221                                 

0001.40      A                                  1  1'Refresco de pantalla'
140221                                 

0001.50      A                                      DSPATR(HI)
140221                                 

0001.60      A                                  3  1'Esta ventana se
actualiza cada'         140221                                 

0001.70      A                                  4  1'5 segundos.'
140221                                 

0001.80      A                                  5  1'Pulse Intro para
continuar'             140221                                 

0001.90      A                                  7  1SYSNAME
140221                                 

0002.00      A                                  7 11DATE
140221                                 

0002.10      A                                      EDTCDE(Y)
140221                                 

0002.20      A                                  7 21TIME
140221                                 

0002.30      A                                  8  1'
'         140221                                 

0002.40      A                                      DSPATR(RI)
140221                                 

0002.50      A  91                                  COLOR(BLU)
140221                                 

0002.60      A  92                                  COLOR(GRN)
140221                                 

0002.70      A  93                                  COLOR(PNK)
140221                                 

0002.80      A  94                                  COLOR(RED)
140221                                 

0002.90      A  95                                  COLOR(TRQ)
140221                                 

0003.00      A  96                                  COLOR(WHT)
140221                                 

0003.10      A  97                                  COLOR(YLW)
140221                                 

        ****************** Fin de datos
****************************************************************************
*************   

La he usado alguna vez para evitar que una sesión de C.A. se interrumpiera
haciendo pruebas.

Saludos,

Xavier Estrems


 


 

De: [email protected]
[mailto:[email protected]] En nombre de Javier B.
Enviado el: divendres, 8 d'agost de 2014 12:38
Para: Foro-Help400
Asunto: RE: No me muestra registro de pantalla

 

Gracias Bernabé pero me temo que no surge ningún efecto :

 

SNDPGMMSG MSGID(CPF9898)  

          MSGF(QCPFMSG)   

          MSGDTA(&MSG) 

          TOPGMQ(*EXT)    

          MSGTYPE(*STATUS)

 

A mi no me visualiza nada, seguramente es algo que hago mal pero no se qué.

 

Saludos,


Javier

 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 7 Aug 2014 08:39:16 -0600
> From: Bernabé Estrada <[email protected]
<mailto:[email protected]> >
> Subject: RE: No me muestra registro de pantalla
> To: "'forum.help400'" <[email protected]
<mailto:[email protected]> >
> Message-ID: <[email protected]
<mailto:[email protected]> >
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Mismo ejemplo en RPG 3
> 
> 
> 
> FPANTALLACF E WORKSTN 
> 
> F KNUM 1 
> 
> C *IN03 DOUEQ*ON 
> 
> C WRITEREGISTRO 77 
> 
> C READ PANTALLA 8899 
> 
> C *IN03 IFEQ *OFF 
> 
> C DATO MULT 2 RESUL 
> 
> C ENDIF 
> 
> C ENDDO 
> 
> C MOVE *ON *INLR 
> 
> 
> 
> En lugar del maxdev de ile es el knum todo lo demás es prácticamente lo
> mismo.
> 
> Yo lo he usado para hacer precisamente pantallas que van indicando el
> porcentaje de avance de un proceso.
> 
> Tambien, si lo único que queres es mostrar el avance, podrías probar
> enviando un mensaje de estado con un comando:
> 
> 
> 
> En el programa principal leo el archivo (o lleno el subfile o lo que
> querras) y armo el mensaje (campo MSG) que se envía como parámetro a una
CL
> que lo único que hace es desplegar el mensaje en la línea de estatus:
> 
> FCVDCOVENIP E DISK 
> 
> E ARR 1 1 80 
> 
> I DS 
> 
> I 1 80 MSG 
> 
> I I 12 160REGIS 
> 
> I I 31 350TOTAL 
> 
> C ADD 1 CONTA 50 
> 
> C MOVEAARR,1 MSG 
> 
> C Z-ADD312 TOTAL 
> 
> C Z-ADDCONTA REGIS 
> 
> C CALL '$$' 
> 
> C PARM MSG 
> 
> C FREE '$$' 
> 
> ** 
> 
> PROCESADOS $$$$$ REGISTROS DE $$$$$ 
> 
> 
> 
> 
> 
> Y aquí está la CL.
> 
> 
> 
> PGM PARM(&MENSAJE) 
> 
> DCL VAR(&MENSAJE) TYPE(*CHAR) LEN(80) 
> 
> SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) + 
> 
> MSGDTA(&MENSAJE) TOPGMQ(*EXT) + 
> 
> MSGTYPE(*STATUS) 
> 
> ENDPGM 
> 
> 
> 
> 
> 
> 
> 
> Saludos.
> 
> 
> 
> From: [email protected]
<mailto:[email protected]> 
> [mailto:[email protected]] On Behalf Of Javier B.
> Sent: jueves, 07 de agosto de 2014 06:43 a.m.
> To: Foro-Help400
> Subject: RE: No me muestra registro de pantalla
> 
> 
> 
> Pues me temo que no porque no utilizo ILE y porque me sale otro error :
> 
> "No hay coincidencia INDARA entre el programa y el archivo PMTU140"
> 
> 
> 
> Saludos y gracias de todas formas,
> 
> 
> 
> Javier
> 
> 

____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a