PANEL-WORKER

11. 入力可能なSFL型パネル・グループの作成

今度はさらに進めて入力可能なリスト形式のパネル・グループの作成方法を紹介しよう。
これまでの表示形式のPNLGRPとほとんど変ることろが無いが、まずその全容を紹介する。

【 PNLGRPソース】
0001.00 .******************************************************************* 
0002.00 .*                                                                   
0003.00 .*  PANEL GRP NAME:   BNK003                                         
0004.00 .*                                                                   
0005.00 .*  TEXT          :    銀行マスターの登録                            
0006.00 .*                                                                   
0007.00 .*  TYPE          :    混合リスト・パネル                            
0008.00 .*                                                                   
0009.00 .*  PRIMARY FILE  :   BANKM                                          
0010.00 .*    LIBRARY     :     TESTFIL                                      
0011.00 .*  MEMBER        :   *FIRST                                         
0012.00 .*                                                                   
0013.00 .*   作成日       :   03/01/11         15:32:36                      
0014.00 .*                                                                   
0015.00 .*   作成ユーザー :   QTR              CONSOLEA                      
0016.00 .*                                                                   
0017.00 .*   変更日       :   03/01/11         15:32:36                      
0018.00 .*                                                                   
0019.00 .*   変更ユーザー :   QTR              CONSOLEA                      
0020.00 .*                                                                   
0021.00 .******************************************************************* 
0022.00                                                                      
0023.00 :PNLGRP.                                                             
0024.00 :COPYR .(C) COPYRIGHT OFFICE QUATTRO 1994.                           
0025.00 :IMPORT  NAME='*'                                                    
0026.00          PNLGRP='PANELWKR/CMDHLP'.                                   
0027.00 .*            -------------------------                              
0028.00 .*                 クラスの定義                                      
0029.00 .*            -------------------------                              
0030.00 .IM      LSTPNLCL                                                    
0031.00 :CLASS   NAME=PNLNAMCL                                               
0032.00          BASETYPE='CHAR 10'.                                         
0033.00 :TL.                                                                 
0034.00 :TI      VALUE='"          "'.BNK003                                 
0035.00 :ETL.                                                                
0036.00 :ECLASS.                                                             
0037.00 :CLASS   NAME=NOCL                                                   
0038.00          BASETYPE='CHAR 4'.                                          
0039.00 :ECLASS.                                                             
0040.00 :CLASS   NAME=DMYCL                                                  
0041.00          BASETYPE='CHAR 1'.                                          
0042.00 :ECLASS.                                      
0043.00 .*...( ユーザークラス定義 )...                
0044.00 .* STRCLASSDFN    :  DO NOT REMOVE THIS LINE  
0045.00 :CLASS   NAME=CHA004                          
0046.00          BASETYPE='CHAR     4'.               
0047.00 :ECLASS.                                      
0048.00 :CLASS   NAME=IGC014                          
0049.00          BASETYPE='IGC    14 OPEN'.           
0050.00 :ECLASS.                                      
0051.00 :CLASS   NAME=CHA003                          
0052.00          BASETYPE='CHAR     3'.               
0053.00 :ECLASS.                                      
0054.00 .* ENDCLASSDFN    :  DO NOT REMOVE THIS LINE  
0055.00 .*            -------------------------       
0056.00 .*                 変数の定義                 
0057.00 .*            -------------------------       
0058.00 .IM      LSTPNLVAR                            
0059.00 :VAR     NAME=NO                              
0060.00          CLASS=NOCL.                          
0061.00 :VAR     NAME=DMY                             
0062.00          CLASS=DMYCL.                         
0063.00 .*...( ユーザー変数定義 )...                  
0064.00 .* STRVARDFN      :  DO NOT REMOVE THIS LINE  
0065.00 :VAR     NAME=BKBKCD                          
0066.00          CLASS=CHA004.                        
0067.00 :VAR     NAME=BKNMKJ                          
0068.00          CLASS=IGC014.                        
0069.00 :VAR     NAME=BKKBN                           
0070.00          CLASS=CHA003.                        
0071.00 .* ENDVARDFN      :  DO NOT REMOVE THIS LINE  
0072.00 .*            -------------------------       
0073.00 .*                 レコードの定義             
0074.00 .*            -------------------------       
0075.00 .IM      LSTPNLRCD                            
0076.00 :VARRCD  NAME=MODRCD                          
0077.00          VARS='DSPMOD'.                       
0078.00 :VARRCD  NAME=NORCD                           
0079.00  VARS='NO BDYHND'.                            
0080.00 :VARRCD  NAME=HEDRCD                          
0081.00  VARS='BKBKCD DMY'.                           
0082.00 :VARRCD  NAME=DSPRCD                          
0083.00          VARS='DMY'.                          
0084.00 :VARRCD  NAME=EQLRCD                                       
0085.00          VARS='DMY'.                                       
0086.00 :VARRCD  NAME=BOTRCD                                       
0087.00          VARS='DMY'.                                       
0088.00 :VARRCD  NAME=KEYRCD                                       
0089.00  VARS='BKBKCD DMY'.                                        
0090.00 .*...( USRCHKPGM RETURN )...                               
0091.00 :VARRCD  NAME=SFLRCD                                       
0092.00 .* STRSFLRCD      :  DO NOT REMOVE THIS LINE               
0093.00  VARS='BKBKCD BKNMKJ BKKBN CHGVAR BDYHND LSTHND NO RECRRN'.
0094.00 .* ENDSFLRCD      :  DO NOT REMOVE THIS LINE               
0095.00 .* STRCHKRCD      :  DO NOT REMOVE THIS LINE               
0096.00 :VARRCD  NAME=BKBKCD9CHK       VARS=BKBKCD.                
0097.00 :VARRCD  NAME=BKNMKJ9CHK       VARS=BKNMKJ.                
0098.00 :VARRCD  NAME=BKKBN9CHK        VARS=BKKBN.                 
0099.00 :VARRCD  NAME=NO9CHK           VARS=NO.                    
0100.00 .* ENDCHKRCD      :  DO NOT REMOVE THIS LINE               
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'.                           
0111.00 .*            -------------------------                    
0112.00 .*                 条件の定義                              
0113.00 .*            -------------------------                    
0114.00 :COND    NAME=UPDSTS                                       
0115.00          EXPR='DSPMOD = " 表示 "'.                        
0116.00 :COND    NAME=DSPSTS                                       
0117.00          EXPR='DSPMOD = " 表示 "'.                         
0118.00 .*            -------------------------                    
0119.00 .*                 機能キーの定義                          
0120.00 .*            -------------------------                    
0121.00 :KEYL    NAME=HEDKEYL.                                     
0122.00 :KEYI    KEY=ENTER                                         
0123.00          HELP=ENTER                                        
0124.00          VARUPD=YES                                        
0125.00          ACTION=ENTER.                                     
0126.00 :KEYI    KEY=HELP              
0127.00          HELP=HELP             
0128.00          ACTION=HELP.          
0129.00 :KEYI    KEY=F3                
0130.00          HELP=F3               
0131.00          ACTION='EXIT SET'     
0132.00          VARUPD=YES.           
0133.00 F3= 終了                       
0134.00 :KEYI    KEY=F7                
0135.00          HELP=F7               
0136.00          ACTION='RETURN 7'     
0137.00          VARUPD=YES.           
0138.00 F7= 次頁                       
0139.00 :KEYI    KEY=F8                
0140.00          HELP=F8               
0141.00          ACTION='RETURN 8'     
0142.00          VARUPD=YES.           
0143.00 F8= 前頁                       
0144.00 :EKEYL.                        
0145.00 :KEYL    NAME=DSPKEYL.         
0146.00 :KEYI    KEY=ENTER             
0147.00          HELP=ENTER            
0148.00          VARUPD=YES            
0149.00          ACTION=ENTER.         
0150.00 :KEYI    KEY=HELP              
0151.00          HELP=HELP             
0152.00          ACTION=HELP.          
0153.00 :KEYI    KEY=F3                
0154.00          HELP=F3               
0155.00          ACTION='EXIT SET'     
0156.00          VARUPD=NO.            
0157.00 F3= 終了                       
0158.00 :KEYI    KEY=F4                
0159.00          HELP=F4               
0160.00          ACTION='CALL WNDPMT'  
0161.00          VARUPD=YES.           
0162.00 F4= プロンプト                 
0163.00 :KEYI    KEY=F7                
0164.00          HELP=F7               
0165.00          ACTION='RETURN 7'     
0166.00          VARUPD=YES.           
0167.00 F7= 次頁                       
0168.00 :KEYI    KEY=F8                
0169.00          HELP=F8               
0170.00          ACTION='RETURN 8'     
0171.00          VARUPD=YES.           
0172.00 F8= 前頁                       
0173.00 :KEYI    KEY=F10               
0174.00          HELP=F10              
0175.00          COND=UPDSTS           
0176.00          ACTION='RETURN 10'    
0177.00          VARUPD=YES.           
0178.00 F10= 更新                      
0179.00 :KEYI    KEY=F12               
0180.00          HELP=F12              
0181.00          ACTION='CANCEL SET'   
0182.00          VARUPD=NO.            
0183.00 F12= 取消し                    
0184.00 :KEYI    KEY=F23               
0185.00          HELP=F23              
0186.00          COND=UPDSTS           
0187.00          ACTION='RETURN 23'    
0188.00          VARUPD=YES.           
0189.00 F23= 削除                    
0190.00 :KEYI    KEY=PAGEUP          
0191.00          HELP=PAGEUP         
0192.00          ACTION=PAGEUP.      
0193.00 :KEYI    KEY=PAGEDOWN        
0194.00          HELP=PAGEDOWN       
0195.00          ACTION=PAGEDOWN.    
0196.00 :EKEYL.                      
0197.00 :KEYL    NAME=ENDKEYL.       
0198.00 :KEYI    KEY=ENTER           
0199.00          HELP=ENTER          
0200.00          ACTION=ENTER.       
0201.00 :KEYI    KEY=HELP            
0202.00          HELP=HELP           
0203.00          ACTION=HELP.        
0204.00 :KEYI    KEY=F3              
0205.00          HELP=F3             
0206.00          ACTION='EXIT SET'   
0207.00          VARUPD=NO.          
0208.00 F3= 終了                     
0209.00 :KEYI    KEY=F12             
0210.00          HELP=F12                          
0211.00          ACTION='CANCEL SET'               
0212.00          VARUPD=NO.                        
0213.00 F12= 取消し                                
0214.00 :EKEYL.                                    
0215.00 .*            -------------------------    
0216.00 .*                 ヘルプの定義            
0217.00 .*            -------------------------    
0218.00 :HELP    NAME=DSPHEADH. 銀行マスターの登録 
0219.00 :PC.                                       
0220.00  初期画面                                  
0221.00 :EHELP.                                    
0222.00 :HELP    NAME=DSPTOPH. 銀行マスターの登録  
0223.00 :PC.                                       
0224.00  明細画面                                  
0225.00 :EHELP.                                    
0226.00 :HELP    NAME=DSPENDH. 銀行マスターの登録  
0227.00 :PC.                                       
0228.00  終了画面                                  
0229.00 :EHELP.                                    
0230.00 :HELP    NAME=NOH.                       
0231.00 :PC.                                              
0232.00  行                                             
0233.00 :EHELP.                                           
0234.00 .* STRHLPDFN      :  DO NOT REMOVE THIS LINE      
0235.00 :HELP    NAME=BKBKCDH. 銀行コード                 
0236.00 :PC.                                              
0237.00  銀行コード                                       
0238.00 :EHELP.                                           
0239.00 :HELP    NAME=BKNMKJH. 銀行名                     
0240.00 :PC.                                              
0241.00  銀行名                                           
0242.00 :EHELP.                                           
0243.00 :HELP    NAME=BKKBNH. 区分                        
0244.00 :PC.                                              
0245.00  区分                                             
0246.00 :EHELP.                                           
0247.00 .* ENDHLPDFN      :  DO NOT REMOVE THIS LINE      
0248.00 .*            -------------------------           
0249.00 .*               表 示 パ ネ ル               
0250.00 .*            -------------------------           
0251.00 .*    ------------------------                    
0252.00 .*    DSPHEAD : 初期画面          
0253.00 .*    ------------------------    
0254.00 :PANEL   NAME=DSPHEAD             
0255.00          HELP='DSPHEADH'          
0256.00          KEYL=HEDKEYL             
0257.00          PANELID=PNLNAM           
0258.00          ENTER='RETURN 27'        
0259.00          CSRVAR=CSRVAR            
0260.00          CSRPOS=CSRPOS            
0261.00          CSRLST=CSRLST            
0262.00          CSREID=CSREID            
0263.00          CSRNAME=CSRNAME          
0264.00          TOPSEP=NONE.             
0265.00  銀行マスターの登録               
0266.00 :DATA    DEPTH=1                  
0267.00          HELP='DSPHEADH'          
0268.00          BOTSEP=NONE.             
0269.00 :DATACOL WIDTH=58.                
0270.00 :DATACOL WIDTH='*'.               
0271.00 :DATAI   VAR=MODE                 
0272.00          USAGE=OUT.               
0273.00 :DATAIX  VAR=DSPMOD                                   
0274.00          ALIGN=RIGHT                                  
0275.00          NEWLINE=NO                                   
0276.00          USAGE=OUT.                                   
0277.00 :EDATA.                                               
0278.00 :DATA    DEPTH=10                                     
0279.00          SCROLL=NO                                    
0280.00          LAYOUT=1                                     
0281.00          BOTSEP=SPACE.                                
0282.00 :DATACOL WIDTH=14.                                    
0283.00 :DATACOL WIDTH='*'.                                   
0284.00 .*                                                    
0285.00 :DATAGRP GRPSEP=NONE                                  
0286.00          COMPACT.                                     
0287.00 .* DO                                                 
0288.00 .* STRHEDDATAI    :  DO NOT REMOVE THIS LINE          
0289.00 :DATAI   VAR=BKBKCD                                   
0290.00          HELP=BKBKCDH                                 
0291.00          USAGE=INOUT.                                 
0292.00  銀行コード                                           
0293.00 :DATAIX  VAR=FRMMSG ALIGN=RIGHT NEWLINE=NO USAGE=OUT. 
0294.00 .* ENDHEDDATAI    :  DO NOT REMOVE THIS LINE                          
0295.00 .* END                                                                
0296.00 :EDATAGRP.                                                            
0297.00 :BOTINST. 登録または変更するコードを打鍵して実行キーを押してください。
0298.00 :EDATA.                                                               
0299.00 :EPANEL.                                                              
0300.00 .*    ------------------------                                        
0301.00 .*    DSPTOP   : 明細画面                                             
0302.00 .*    ------------------------                                        
0303.00 :PANEL   NAME=DSPTOP                                                  
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=INOUT.                         
0374.00  銀行コード                                   
0375.00 :LISTCOL VAR=BKNMKJ                           
0376.00          MAXWIDTH=0014                        
0377.00          HELP=BKNMKJH                         
0378.00          USAGE=INOUT.                           
0379.00  銀行名                                         
0380.00 :LISTCOL VAR=BKKBN                              
0381.00          MAXWIDTH=0006                          
0382.00          HELP=BKKBNH                            
0383.00          USAGE=INOUT.                           
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                             
0398.00 .*    ------------------------                  
0399.00 .*    ENDOPT   : 終了画面              
0400.00 .*    ------------------------         
0401.00 :PANEL   NAME=ENDOPT                   
0402.00          HELP='DSPENDH'                
0403.00          KEYL=ENDKEYL                  
0404.00          ENTER='RETURN 27'             
0405.00          TOPSEP=SPACE.                 
0406.00  データ入力の終了                      
0407.00 :DATA    DEPTH=9                       
0408.00          HELP='DSPENDH'                
0409.00          LAYOUT=1                      
0410.00          BOTSEP=SPACE.                 
0411.00 :TOPINST .  処理されたレコード数      
0412.00 :DATACOL WIDTH=18.                     
0413.00 :DATACOL WIDTH='*'.                    
0414.00 :DATAGRP COMPACT.                      
0415.00 :DATAI   VAR=ADDRCD                    
0416.00          JUSTIFY=RIGHT                 
0417.00          USAGE=OUT.  追加             
0418.00 :DATAI   VAR=CHGRCD                    
0419.00          JUSTIFY=RIGHT                 
0420.00          USAGE=OUT.  変更                                
0421.00 :DATAI   VAR=DLTRCD                                       
0422.00          JUSTIFY=RIGHT                                    
0423.00          USAGE=OUT.  削除                                
0424.00 :EDATAGRP.                                                
0425.00 :EDATA.                                                   
0426.00 :DATA    DEPTH='*'                                        
0427.00          HELP='DSPENDH'                                   
0428.00          LAYOUT=1                                         
0429.00          BOTSEP=SPACE.                                    
0430.00 :TOPINST . 選択項目を入力して,実行キーを押してください。 
0431.00 :DATACOL WIDTH=28.                                        
0432.00 :DATACOL WIDTH=10.                                        
0433.00 :DATACOL WIDTH='*'.                                       
0434.00 :DATAGRP GRPSEP=NONE                                      
0435.00          COMPACT.                                         
0436.00 :DATAI   VAR=ANS                                          
0437.00          USAGE=INOUT.                                     
0438.00   データ入力の終了                                       
0439.00 :DATAC.Y=YES,  N=NO                                       
0440.00 :EDATAGRP.                                                
0441.00 :EDATA.                                            
0442.00 :EPANEL.                                           
0443.00 :EPNLGRP.                                          
0444.00 .*      * * *    END   OF   PANEL GROUP     * * *