RPG

344. 背景を消さないPOPUPレコードを出力するには

DSPF の WINDOWパラメータを使ってPOPUPレコードを出力するときは
いくら

OVERLAY PROTECT + CLRL(*NO)

をDSPFに定義していても背景が消えてしまう。
背景を消さずに残したままでPOPUP表示するにはどのようにすれば
よいのだろうか?
この方法はIBMマニュアルには見つけることはできず
先輩から後輩へ伝授される秘伝のようなものであるので
ここに公開する。

[DSPF : POP002FM ]

001.00      A*%%TS  SD  20170525  155252  QTR         REL-V6R1M0  5761-WDS            
002.00      A*%%EC                                                                    
003.00      A                                      DSPSIZ(24 80 *DS3)                 
004.00      A                                      MSGLOC(24)                         
005.00      A                                      PRINT                              
006.00      A          R POPRCD                                                       
007.00      A*  WINDOW( 開始行  開始桁  行数  桁数 )                                  
008.00      A                                      CLRL(*NO)                          
009.00      A                                      OVERLAY                            
010.00      A                                      PUTOVR                             
011.00      A                                      PROTECT                            
012.00      A                                      BLINK                              
013.00      A                                      CF03(03 ' 終了 ')                  
014.00      A                                  8 37'RECORD タイプの POPUP'            
015.00      A                                      DSPATR(HI)                         
016.00      A                                 10 64DATE EDTCDE(Y)                     
017.00      A                                 12 32' これは CLRL(*NO) キー・ワード +  
018.00      A                                       による '                          
019.00      A                                 13 33'POPUP ウィンドウです。 '          
020.00      A                                 15 33'OVERLAY PUTOVR による方法です。 ' 
021.00      A                                 17 32'F3= 終了 '                        
022.00      A                                      COLOR(BLU)                         
023.00      A* ウィンドウ・ボーダー                                                   
0024.00      A          R BORDER                                                        
0025.00      A*%%TS  SD  20170525  155252  QTR         REL-V6R1M0  5761-WDS             
0026.00      A                                      OVERLAY                             
0027.00      A                                      CLRL(*NO)                           
0028.00      A                                      PUTOVR                              
0029.00      A                                  7 27' ┏━━━━━━━━━━━━━━━ +
0030.00      A                                       ━━━━━━━━┓ '               
0031.00      A                                      COLOR(BLU)                          
0032.00      A                                  8 27' ┃ '                              
0033.00      A                                      COLOR(BLU)                          
0034.00      A                                  9 27' ┃ '                              
0035.00      A                                      COLOR(BLU)                          
0036.00      A                                  8 75' ┃ '                              
0037.00      A                                      COLOR(BLU)                          
0038.00      A                                  9 75' ┃ '                              
0039.00      A                                      COLOR(BLU)                          
0040.00      A                                 10 27' ┃ '                              
0041.00      A                                      COLOR(BLU)                          
0042.00      A                                 10 75' ┃ '                              
0043.00      A                                      COLOR(BLU)                          
0044.00      A                                 11 27' ┃ '                              
0045.00      A                                      COLOR(BLU)                          
0046.00      A                                 11 75' ┃ '                              
0047.00      A                                      COLOR(BLU)                          
0048.00      A                                 12 75' ┃ '          
0049.00      A                                      COLOR(BLU)      
0050.00      A                                 13 75' ┃ '          
0051.00      A                                      COLOR(BLU)      
0052.00      A                                 14 75' ┃ '          
0053.00      A                                      COLOR(BLU)      
0054.00      A                                 15 75' ┃ '          
0055.00      A                                      COLOR(BLU)      
0056.00      A                                 16 75' ┃ '          
0057.00      A                                      COLOR(BLU)      
0058.00      A                                 17 75' ┃ '          
0059.00      A                                      COLOR(BLU)      
0060.00      A                                 16 27' ┃ '          
0061.00      A                                      COLOR(BLU)      
0062.00      A                                 15 27' ┃ '          
0063.00      A                                      COLOR(BLU)      
0064.00      A                                 14 27' ┃ '          
0065.00      A                                      COLOR(BLU)      
0066.00      A                                 13 27' ┃ '          
0067.00      A                                      COLOR(BLU)      
0068.00      A                                 12 27' ┃ '          
0069.00      A                                      COLOR(BLU)      
0070.00      A                                 17 27' ┃ '          
0071.00      A                                      COLOR(BLU)      
0072.00      A                                 18 27' ┗━━━━━━━━━━━━━━━ + 
0073.00      A                                       ━━━━━━━━┛ '                
0074.00      A                                      COLOR(BLU)                           
0075.00      A                                  8 33'                                  - 
0076.00      A                                            '                              
0077.00      A                                  9 33'                                  - 
0078.00      A                                            '                              
0079.00      A                                 10 33'                                  - 
0080.00      A                                            '                              
0081.00      A                                 11 33'                                  - 
0082.00      A                                            '                              
0083.00      A                                 12 33'                                  - 
0084.00      A                                            '                              
0085.00      A                                 13 33'                                  - 
0086.00      A                                            '                              
0087.00      A                                 17 33'                                  - 
0088.00      A                                            '                              
 ━━━━━━━━━━━━━━━━━━━━━━━ 
        RECORD タイプの POPUP                   
                                                
                                   20/03/18     
                                                
    これは CLRL(*NO) キー・ワードによる         
    POPUP ウィンドウです。                      
                 
    OVERLAY PUTOVR による方法です。             
                                               
   F3= 終了                                     
 ━━━━━━━━━━━━━━━━━━━━━━━ 

[解説]

このDSPFでは不十分で実行するとPOPUPの背景は消えてしまう。
背景も残すようにするには

[ POP002FM : 背景が消えないPOPUPウィンドウ DSPF ]

ソースはこちらで

001.00      A*%%TS  SD  20170525  155252  QTR         REL-V6R1M0  5761-WDS            
002.00      A*%%EC                                                                    
003.00      A                                      DSPSIZ(24 80 *DS3)                 
004.00      A                                      MSGLOC(24)                         
005.00      A                                      PRINT                              
006.00      A          R POPRCD                                                       
007.00      A*  WINDOW( 開始行  開始桁  行数  桁数 )                                  
008.00      A                                      CLRL(*NO)                          
009.00      A                                      OVERLAY                            
010.00      A                                      PUTOVR                             
011.00      A                                      PROTECT                            
012.00      A                                      BLINK                              
013.00      A                                      CF03(03 ' 終了 ')                  
014.00      A                                  8 37'RECORD タイプの POPUP'            
015.00      A                                      DSPATR(HI)                         
016.00      A                                 10 64DATE EDTCDE(Y)                     
017.00      A                                 12 32' これは CLRL(*NO) キー・ワード +  
018.00      A                                       による '                          
019.00      A                                 13 33'POPUP ウィンドウです。 '          
020.00      A                                 15 33'OVERLAY PUTOVR による方法です。 ' 
021.00      A                                 17 32'F3= 終了 '                        
022.00      A                                      COLOR(BLU)                         
023.00      A* ウィンドウ・ボーダー                                                   
0024.00      A          R BORDER                                                        
0025.00      A*%%TS  SD  20170525  155252  QTR         REL-V6R1M0  5761-WDS             
0026.00      A                                      OVERLAY                             
0027.00      A                                      CLRL(*NO)                           
0028.00      A                                      PUTOVR                              
0029.00      A                                  7 27' ┏━━━━━━━━━━━━━━━ +
0030.00      A                                       ━━━━━━━━┓ '               
0031.00      A                                      COLOR(BLU)                          
0032.00      A                                  8 27' ┃ '                              
0033.00      A                                      COLOR(BLU)                          
0034.00      A                                  9 27' ┃ '                              
0035.00      A                                      COLOR(BLU)                          
0036.00      A                                  8 75' ┃ '                              
0037.00      A                                      COLOR(BLU)                          
0038.00      A                                  9 75' ┃ '                              
0039.00      A                                      COLOR(BLU)                          
0040.00      A                                 10 27' ┃ '                              
0041.00      A                                      COLOR(BLU)                          
0042.00      A                                 10 75' ┃ '                              
0043.00      A                                      COLOR(BLU)                          
0044.00      A                                 11 27' ┃ '                              
0045.00      A                                      COLOR(BLU)                          
0046.00      A                                 11 75' ┃ '                              
0047.00      A                                      COLOR(BLU)                          
0048.00      A                                 12 75' ┃ '          
0049.00      A                                      COLOR(BLU)      
0050.00      A                                 13 75' ┃ '          
0051.00      A                                      COLOR(BLU)      
0052.00      A                                 14 75' ┃ '          
0053.00      A                                      COLOR(BLU)      
0054.00      A                                 15 75' ┃ '          
0055.00      A                                      COLOR(BLU)      
0056.00      A                                 16 75' ┃ '          
0057.00      A                                      COLOR(BLU)      
0058.00      A                                 17 75' ┃ '          
0059.00      A                                      COLOR(BLU)      
0060.00      A                                 16 27' ┃ '          
0061.00      A                                      COLOR(BLU)      
0062.00      A                                 15 27' ┃ '          
0063.00      A                                      COLOR(BLU)      
0064.00      A                                 14 27' ┃ '          
0065.00      A                                      COLOR(BLU)      
0066.00      A                                 13 27' ┃ '          
0067.00      A                                      COLOR(BLU)      
0068.00      A                                 12 27' ┃ '          
0069.00      A                                      COLOR(BLU)      
0070.00      A                                 17 27' ┃ '          
0071.00      A                                      COLOR(BLU)      
0072.00      A                                 18 27' ┗━━━━━━━━━━━━━━━ + 
0073.00      A                                       ━━━━━━━━┛ '                
0074.00      A                                      COLOR(BLU)                           
0075.00      A                                  8 33'                                  - 
0076.00      A                                            '                              
0077.00      A                                  9 33'                                  - 
0078.00      A                                            '                              
0079.00      A                                 10 33'                                  - 
0080.00      A                                            '                              
0081.00      A                                 11 33'                                  - 
0082.00      A                                            '                              
0083.00      A                                 12 33'                                  - 
0084.00      A                                            '                              
0085.00      A                                 13 33'                                  - 
0086.00      A                                            '                              
0087.00      A                                 17 33'                                  - 
0088.00      A                                            ' 
0089.00      A* ウインドウの背景を消去させないために          
0090.00      A* ASSUME レコードが必要です。                   
0091.00      A          R #DUMMY                    ASSUME    
0092.00      A            DMY            2   O  1  2DSPATR(ND)


 

[解説]

0091.00      A          R #DUMMY                    ASSUME    
0092.00      A            DMY            2   O  1  2DSPATR(ND)

この2行は出力かる必要はないがDSPFソースに入れておいて CRTDSPF で作成する必要がある。
何故だか不明であるが不思議な伝授である。