RPG

124. スクロール・バーを DSPF で表示するには?

5250画面でのロール・アップ/ダウンは 通常ページ単位でスクロールされる。
もちろん工夫すればスクロール行を変更することができるがWindows に慣れているユーザーに
スクロール・バーを提供することもできる。
スクロール・バーであれば好みに応じて微妙なスクロールが可能となる。
5250画面でスクロール・バーなど見たことがないという人が多いと思うが実はチャンと5250画面でも
スクロール・バーが用意されている。
サンプル・ソースを一応、下記に示すがスクロール・バーの実現は驚くほど簡単である。
SFL の記述で SFLEND(*MORE) というキーワードはご存知だろうか ?
SFL の右下に「続く...」や「終わり」を表示するキーワードである。
この SFLEND(*MORE)SFLEND(*SCRBAR) と書き換えるだけでスクロール・バーを
表示することができる。

【 DSPFソース 】
0001.00      A*  91/10/14  21:54:59    QUATTRO     REL-R03M00  5728-PW1        
0002.00      A*-----------------------------------------------*                
0003.00      A*   サブファイル表示     SFLDSPFM               *                
0004.00      A*                                                                
0005.00      A*        商品マスター照会                                        
0006.00      A*                                                                
0007.00      A*-----------------------------------------------*                
0008.00      A*            11:25:43    QUATTRO     REL-R06M00  5714-UT1        
0009.00      A                                      DSPSIZ(24 80 *DS3)         
0010.00      A                                      MSGLOC(24)                 
0011.00      A                                      PRINT                      
0012.00      A*-----------------------------------------------*                
0013.00      A          R DSPHEAD                                              
0014.00      A*-----------------------------------------------*                
0015.00      A                                      TEXT(' 初期画面 ')         
0016.00      A*%%TS  SD  19930612  135725  QUATTRO     REL-V3R2M0  5738-PW1    
0017.00      A                                      CF03(03 ' 終了 ')          
0018.00      A                                      SETOF(99)                  
0019.00      A                                      BLINK                      
0020.00      A                                      CSRLOC(LIN        POS)     
0021.00      A                                  1 27' 商品マスター照会 '        
0022.00      A                                      DSPATR(RI)                  
0023.00      A                                      COLOR(PNK)                  
0024.00      A                                  2  2' 商品コード '              
0025.00      A            SHCODE        10A  B  2 15TEXT(' 商品コード ')        
SOSI         A                                 11 15' 必要な項目を打鍵して実行  
0027.00      A                                       して下さい。 '             
0028.00      A                                      DSPATR(HI)                  
0029.00      A                                 23  2'F3= 終了 '                 
0030.00      A                                      COLOR(BLU)                  
0031.00      A            LIN            3S 0H                                  
0032.00      A            POS            3S 0H                                  
0033.00      A          R SFREC01                   SFL                         
0034.00      A                                      TEXT(' SFL明細行 ')      
0035.00      A*%%TS  SD  19930612  144015  QUATTRO     REL-V3R2M0  5738-PW1     
0036.00      A*------------------------------------------------*                
0037.00      A  20                                                              
0038.00      AO 99                                  SFLNXTCHG                   
0039.00      A            GYO            4A  O  8  2TEXT('  ')                
0040.00      A  03                                  DSPATR(UL)                  
0041.00      A            SHCODE        10A  O  8  7TEXT(' 商品コード ')        
0042.00      A            SHNAME        24O  O  8 20TEXT(' 商品名 ')            
0043.00      A            SHTANK         7Y 0O  8 45TEXT(' 単価 ')              
0044.00      A                                      EDTCDE(K)                   
0045.00      A            SHSCOD         4A  O  8 60TEXT(' 品種コード ')        
0046.00      A          R SFCTL01                   SFLCTL(SFREC01)             
0047.00      A                                      TEXT(' SFL制御見出 ')    
0048.00      A*%%TS  SD  19930612  144015  QUATTRO     REL-V2R1M0  5738-PW1     
0049.00      A*------------------------------------------------*                
0050.00      A                                      OVERLAY                     
0051.00      A* SFLPAG :1 画面での表示行数                                      
0052.00      A* SFLSIZ :ナボホヲbモ 全体の大きさ                                    
0053.00      A                                      SFLSIZ(14)                  
0054.00      A                                      SFLPAG(13)                  
0055.00      A  41                                  SFLDSPCTL                   
0056.00      A  42                                  SFLDSP                      
0057.00      A  43                                  SFLINZ                      
0058.00      A                                      SFLRNA                      
0059.00      A  44                                  SFLCLR                      
0060.00      A  45                                  SFLEND(*SCRBAR)             
0061.00      A  46                                  SFLDLT                      
0062.00      A                                      ROLLUP(14 ' 次頁 ')         
0063.00      A                                      ROLLDOWN(15 ' 前頁 ')       
0064.00      A                                      CF03(03 ' 終了 ')           
0065.00      A                                      CF12(12 ' 前画面 ')         
0066.00      A                                      SETOF(99)                   
0067.00      A                                      BLINK                       
0068.00      A*( SFLEND(*MORE)... 続く / 終りの使用のために SFLMSG は           
0069.00      A*  使用しません。 )                                               
0070.00      A            DMYFLD         1A  O  1 72                            
0071.00      A* 61 : IMPOSSIBLE TO ROLLUP                                       
0072.00      A  61                                  ERRMSGID(EDT0411 QPDA/QEDTM 
0073.00      A* 62 : IMPOSSIBLE TO ROLLDOWN                                     
0074.00      A  62                                  ERRMSGID(EDT0410 QPDA/QEDTM 
0075.00      A            DSPREC         4S 0H      SFLRCDNBR(CURSOR)           
0076.00      A                                      TEXT('SFL 表示 ロテーn゙  ')  
0077.00      A            LIN            3S 0H      TEXT('fー モ 位置合せ - 行 ') 
0078.00      A            POS            3S 0H      TEXT('fー モ 位置合せ - 桁 ') 
0079.00      A                                  1 27' 商品マスター照会 '        
0080.00      A                                      DSPATR(RI)                  
0081.00      A                                      COLOR(PNK)                  
0082.00      A*( 明細行の桁見出し )                                             
0083.00      A                                  7  2'  '                      
0084.00      A                                      DSPATR(HI)                  
0085.00      A*     d[ー 標識 :61 - 69                                           
0086.00      A                                  7  7' 商品コード '              
0087.00      A                                      DSPATR(HI)                  
0088.00      A                                  7 20' 商品名 '                  
0089.00      A                                      DSPATR(HI)                  
0090.00      A                                  7 45' 単価 '                    
0091.00      A                                      DSPATR(HI)                  
0092.00      A                                  7 56' 品種コード '              
0093.00      A                                      DSPATR(HI)                  
0094.00      A*( 見出しの項目 )                                                 
0095.00      A                                  2  2' 商品コード '              
0096.00      A            STRCOD        10A  O  3  2TEXT(' 商品コード ')        
0097.00      A          R NOREC                                                 
SOSI         A                                      TEXT(' MSG : レコードな  
0099.00      A*%%TS  SD  19930612  144015  QUATTRO     REL-V2R1M0  5738-PW1     
0100.00      A                                      OVERLAY                     
0101.00      A                                      CF03(03 ' 終了 ')           
SOSI         A                                 10  5'( 検索されて見つかったレ * 
0103.00      A                                       ない。 )'                  
0104.00      A                                      DSPATR(HI)                  
SOSI         A                                 16  5' 処理を続けるために実行キ
0106.00      A                                       なさい。 '               
0107.00      A                                      DSPATR(HI)                
0108.00      A          R DSPEND01                                            
0109.00      A                                      TEXT(' 機能キーの表示 ')  
0110.00      A*%%TS  SD  19930612  144015  QUATTRO     REL-V2R1M0  5738-PW1   
0111.00      A*----------------------------------------------------*          
0112.00      A                                      OVERLAY                   
0113.00      A                                      CF03(03 ' 終了 ')         
0114.00      A                                 23  2'F3= 終了 '               
0115.00      A                                      COLOR(BLU)                
0116.00      A                                 23 41'F12= 前画面 '            
0117.00      A                                      COLOR(BLU)