I've got a simple situation. I populate a subfile, and can then make
selections on the subfile. I use a READC to process the subfile, and on
each selection I call a second program which pops up a window. Everything
works fine as long as I only select one record - the window pops up over
the subfile, I hit enter to get out, the subfile is redisplayed, all is
good.

The problem comes when I select more than one record. Again, the first
selection works fine. But when I do a second READC / call, the popup
window is displayed with a completely black background; the underlying
subfile is cleared completely.

Anybody run into this? I've got KEEP and ASSUME on a DUMMY record format
in screen 2. I've changed the RSTDSP parameters to all four combinations
of *YES and *NO on the two programs. The programs themselves are RPG
programs compiled with DFTACTGRP(*YES). Both set on *INLR when they exit.

I'm including the source. Hopefully it will make it through. As you can
see, it's not rocket science. But it's really annoying.

Joe


-- TEST1D

A INDARA
A R TEST1S1 SFL
A 51 SFLNXTCHG
A S1SEL 1 B 4 2
A S1VAL 8 0O 4 4
A R TEST1C1 SFLCTL(TEST1S1)
A SFLSIZ(0018)
A SFLPAG(0017)
A OVERLAY
A CA03(03 'EXIT')
A 62 SFLDSP
A 61 SFLDSPCTL
A N61 SFLCLR
A 1 2USER
A 1 38'TEST'
A DSPATR(HI)
A 1 72TIME
A 3 2'A'
A 3 4' VALUE '
A R TEST1R1
A OVERLAY
A 23 2'F3=EXIT'
A COLOR(BLU)

-- TEST1

FTEST1D CF E WORKSTN INDDS(WSINDS)
F SFILE(TEST1S1:RRN1)

d RRN1 s 4s 0

d WSINDS ds 99
d WS_F3 03 03n
d WS_DspSflCtl 61 61n
d WS_DspSfl 62 62n

d TEST2 pr extpgm('TEST2')
d parm 8s 0 const

/free
WS_DspSfl = *off;
WS_DspSflCtl = *off;
write TEST1C1;

for RRN1 = 1 to 30;
S1SEL = *blank;
S1VAL = RRN1;
write TEST1S1;
endfor;
write TEST1R1;

WS_DspSfl = *on;
WS_DspSflCtl = *on;
write TEST1C1;
exfmt TEST1C1;
dow not WS_F3;

readc TEST1S1;
dow not %eof(TEST1D);
TEST2(S1VAL);
S1SEL = *blank;
update TEST1S1;
readc TEST1S1;
enddo;

write TEST1C1;
exfmt TEST1C1;
enddo;
*inlr = *on;
/end-free

-- TEST2D

A INDARA
A R DUMMY KEEP ASSUME
A 1 2' '
A R TEST2W1 OVERLAY
A WINDOW(10 30 02 20 *NOMSGLIN)
A*
A 1 2'Value:'
A XXVAL 8 0O 1 10

-- TEST2

FTEST2D CF E WORKSTN

d TEST2 pr extpgm('TEST2')
d parm 8s 0 const

d TEST2 pi
d parm 8s 0 const

/free
XXVAL = parm;
exfmt TEST2W1;
*inlr = *on;
/end-free


This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].