I faced this situation in the past. It has been several years but after
looking at some programs I did, here is how I solved it:
 
In the pop up DDS, I created a second dummy record with the following
keyword:
 
CLRL(*NO) OVERLAY FRCDTA 
 
In the pop up program, before exiting, I write this record. I dont
think I did anything else. Now I do not get anymore the blank
background.
 
Hope this help
<joepluta@xxxxxxxxxxxxxxxxx> 2010-10-05 13:08 >>>
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
As an Amazon Associate we earn from qualifying purchases.