PANEL-WORKER

9. CLP だけでサブ・ファイル型パネル・グループを作成する!

さて、パネル・グループの作成もこれから佳境に入ってきて、次に CLP によるサブ・ファイル型の照会画面の例を示す。
CLP でもファイルは扱うことはできるが CLPが扱うことができるのは 1つのファイルだけである。
DSPF もファイルであるので通常では CLP だけでファイルを読んで DSPF に表示することはできない。
ところが PNLGRP であれば、これが可能となる。
SFL型に相当する部分だけをサンプルとして紹介する。
次はPANEL-WORKER によって生成されたSFL型のPNLGRPの抜粋である。

【 PNLGRPソースの一部】
0101.00 .*            -------------------------
0102.00 .*                 リストの定義                            
0103.00 .*            -------------------------                    
0104.00 :LISTDEF NAME=SFL                                          
0105.00 .* STRSFLVARS     :  DO NOT REMOVE THIS LINE               
0106.00 .* ENDSFLVARS     :  DO NOT REMOVE THIS LINE               
0107.00  VARS='CHGVAR BDYHND LSTHND NO BKBKCD BKNMKJ BKKBN RECRRN' 
0108.00          CHGVAR=CHGVAR                                     
0109.00          MSGID=PNL0001                                     
0110.00          MSGF='PANELWKR/PNLMSG'.                           
            :
                        :
                        :
0300.00 .*    ------------------------     
0301.00 .*    DSPTOP   : 明細画面          
0302.00 .*    ------------------------     
0303.00 :PANEL   NAME=SFLDSP               
0304.00          HELP='DSPTOPH'            
0305.00          KEYL=DSPKEYL              
0306.00          PANELID=PNLNAM            
0307.00          ENTER='RETURN 27'         
0308.00          CSRVAR=CSRVAR             
0309.00          CSRPOS=CSRPOS             
0310.00          CSRLST=CSRLST             
0311.00          CSREID=CSREID             
0312.00          CSRNAME=CSRNAME           
0313.00          TOPSEP=NONE.              
0314.00  銀行マスター照会                  
0315.00 :DATA    DEPTH=1                   
0316.00          HELP='DSPTOPH'            
0317.00          BOTSEP=NONE.              
0318.00 :DATACOL WIDTH=58.                 
0319.00 :DATACOL WIDTH='*'.                
0320.00 :DATAI   VAR=MODE                  
0321.00          USAGE=OUT.                           
0322.00 :DATAIX  VAR=DSPMOD                           
0323.00          ALIGN=RIGHT                          
0324.00          NEWLINE=NO                           
0325.00          USAGE=OUT.                           
0326.00 :EDATA.                                       
0327.00 .* キー項目の表示                             
0328.00 :DATA    DEPTH=01                             
0329.00          SCROLL=NO                            
0330.00          LAYOUT=1                             
0331.00          BOTSEP=NONE                          
0332.00          COMPACT.                             
0333.00 :DATACOL WIDTH=14.                            
0334.00 :DATACOL WIDTH='*'.                           
0335.00 .*                                            
0336.00 :DATAGRP GRPSEP=NONE                          
0337.00          COMPACT.                             
0338.00 .* STRKEYDATAI    :  DO NOT REMOVE THIS LINE  
0339.00 .* ENDKEYDATAI    :  DO NOT REMOVE THIS LINE  
0340.00 :EDATAGRP.                                    
0341.00 :EDATA.                                       
0342.00 .* データ項目の表示                           
0343.00 :DATA    DEPTH=1                              
0344.00          SCROLL=NO                            
0345.00          LAYOUT=2                             
0346.00          BOTSEP=SPACE.                        
0347.00 :DATACOL WIDTH=14.                            
0348.00 :DATACOL WIDTH='*'.                           
0349.00 .*                                            
0350.00 :DATAGRP GRPSEP=NONE                          
0351.00          COMPACT.                             
0352.00 .* STRDTADATAI    :  DO NOT REMOVE THIS LINE  
0353.00 .* ENDDTADATAI    :  DO NOT REMOVE THIS LINE  
0354.00 :EDATAGRP.                                    
0355.00 :EDATA.                                       
0356.00 .*    ------------------------                
0357.00 .*      リスト域の定義                        
0358.00 .*    ------------------------                
0359.00 :LIST    DEPTH='*'                            
0360.00          LISTDEF=SFL                          
0361.00          MAXHEAD=3                            
0362.00          VIEW=VIEW                            
0363.00          BOTSEP=SPACE.                        
0364.00 .* STRLISTCOL     :  DO NOT REMOVE THIS LINE  
0365.00 :LISTCOL VAR=NO                               
0366.00          USAGE=OUT                            
0367.00          HELP=NOH                             
0368.00          MAXWIDTH=4.                          
0369.00                                             
0370.00 :LISTCOL VAR=BKBKCD                           
0371.00          MAXWIDTH=0012                        
0372.00          HELP=BKBKCDH                         
0373.00          USAGE=OUT.                           
0374.00  銀行コード                                   
0375.00 :LISTCOL VAR=BKNMKJ                           
0376.00          MAXWIDTH=0014                        
0377.00          HELP=BKNMKJH                         
0378.00          USAGE=OUT.                           
0379.00  銀行名                                       
0380.00 :LISTCOL VAR=BKKBN                            
0381.00          MAXWIDTH=0006                        
0382.00          HELP=BKKBNH                          
0383.00          USAGE=OUT.                           
0384.00  区分                                         
0385.00 .* ENDLISTCOL     :  DO NOT REMOVE THIS LINE  
0386.00 :LISTVIEW LAYOUT=1                            
0387.00 .* STRCOLS        :  DO NOT REMOVE THIS LINE  
0388.00          COLS='NO'                            
0389.00          COLS='BKBKCD'                        
0390.00          COLS='BKNMKJ'                        
0391.00          COLS='BKKBN'.                        
0392.00 .* ENDCOLS        :  DO NOT REMOVE THIS LINE  
0393.00 :ELIST.                                       
0394.00 .* STRBOTINSERT   :  DO NOT REMOVE THIS LINE  
0395.00 .* ENDBOTINSERT   :  DO NOT REMOVE THIS LINE  
0396.00 :EPANEL.                                      
0397.00 .* ENDPNL OF DSPTOP
【 解説 】

リストを

:LISTDEF NAME=SFL
 VARS='CHGVAR BDYHND LSTHND NO BKBKCD BKNMKJ BKKBN RECRRN'
            CHGVAR=CHGVAR                                 
            MSGID=PNL0001                                 
            MSGF='PANELWKR/PNLMSG'. 

で定義している。VARS= でリストの項目を定義する。
表示パネルの中では DATA タグの代わりに LIST タグを使って定義する。

:LISTVIEW LAYOUT=1
          COLS='NO'
          COLS='BKBKCD'
          COLS='BKNMKJ'
          COLS='BKKBN'.

の COLS によって項目の表示順序を定義している。