RPG

175. ILE よる大規模開発(2)

最初にサンプルとしての更新プログラムの例を示す。

1.初期画面

商品コードを入力して「実行」キーを押す

商品コードを入力して実行キーを押す

2. 明細画面

商品マスター・レコードを変更して「F10=更新」キーを押して、レコードを更新する。

商品マスター・レコードを変更してF10=更新キーを押して、レコードを更新する。

3. 初期画面

初期画面に戻ったら 「F3=終了」を押して終了を要求する。

初期画面に戻ったら F3=終了を押して終了を要求する。

4. 終了画面

実行」キーを押すとプログラムは終了する。

実行キーを押すとプログラムは終了する。

【 画面ソース : UPD005D 】
------------------------------------------------------------------------------------------------
0001.00      A                                      DSPSIZ(24 80 *DS3)                   
0002.00      A                                      MSGLOC(24)                           
0003.00      A                                      PRINT                                
0004.00      A          R DSPHEAD                                                        
0005.00      A                                      TEXT(' 初期画面 ')                   
0006.00      A*            11:59:33    QSECOFR     REL-R06M00  5714-UT1                  
0007.00      A                                      CF03(03 ' 終了 ')                    
0008.00      A                                      BLINK                                
0009.00      A                                  1 27' 商品マスターの登録 '               
0010.00      A                                      DSPATR(RI)                           
0011.00      A                                  2  2' 商品コード '                       
0012.00      A            SHCODE        10A  B  2 15TEXT(' 商品コード ')                 
0013.00      A                                 11 13' 登録または変更するコードを +       
0014.00      A                                       入れて実行キーを押しなさい '        
0015.00      A                                      DSPATR(HI)                           
0016.00      A                                 23  2'F3= 終了 '                          
0017.00      A          R DSPDTA01                                                       
0018.00      A*%%TS  SD  19940302  221529  QTR         REL-V2R2M0  5738-PW1              
0019.00      A                                      TEXT(' 明細画面 01')                 
0020.00      A                                      CF03(03 ' 終了 ')                    
0021.00      A                                      CF10(10 ' 更新 ')                    
0022.00      A                                      CF23(23 ' 削除 ')                    
0023.00      A                                      CF12(12 ' 前画面 ')                  
0024.00      A                                      SETOF(99)                               
0025.00      A                                      BLINK                                   
0026.00      A                                  1 27' 商品マスターの登録 '                  
0027.00      A                                      DSPATR(RI)                              
0028.00      A            DSPMSG         6A  O  1 72TEXT(' 維持モード ')                    
0029.00      A                                      DSPATR(HI)                              
0030.00      A                                  2  2' 商品コード '                          
0031.00      A            SHCODE        10A  O  2 15TEXT(' 商品コード ')                    
0032.00      A                                  5 10' 商品名 '                              
0033.00      A            SHNAME        24O  B  5 24TEXT(' 商品名 ')                        
0034.00      A                                  8 10' 単価 '                                
0035.00      A            SHTANK         7Y 0B  8 24TEXT(' 単価 ')                          
0036.00      A                                      CHECK(RB)                               
0037.00      A                                      EDTCDE(K)                               
0038.00      A                                      DSPATR(CS)                              
0039.00      A                                 11 10' 品種コード '                          
0040.00      A            SHSCOD         4A  B 11 24TEXT(' 品種コード ')                    
0041.00      A  93                                  ERRMSG(' 品種コードの誤りです。    -    
0042.00      A                                                                ' 93)         
0043.00      A                                      VALUES('001' '002' '003' '004')         
0044.00      A            HNSNAM        14A  O 11 31TEXT(' 品種名 ')                        
0045.00      A                                 23  2'F3= 終了 '                             
0046.00      A                                 23 35'F10= 更新 '                            
0047.00      A                                 23 53'F23= 削除 '                            
0048.00      A                                 23 69'F12= 前画面 '                         
0049.00      A          R ENDOPT                                                           
0050.00      A*%%TS  SD  19930612  150356  NIK         REL-V3R2M0  5738-PW1                
0051.00      A                                      TEXT(' 終了画面 ')                     
0052.00      A                                      CF03(03 ' 終了 ')                      
0053.00      A                                      CF12(12 ' 前画面 ')                    
0054.00      A                                  1 34' 終了 '                               
0055.00      A                                      COLOR(PNK)                             
0056.00      A                                      DSPATR(HI)                             
0057.00      A                                  3  2' 処理されたレコード数 '               
0058.00      A                                  5 10' 追加  . . . . . :'                   
0059.00      A            ADDREC         5Y 0O  5 35EDTCDE(4)                              
0060.00      A                                  6 10' 変更  . . . . . :'                   
0061.00      A            CHGREC         5Y 0O  6 35EDTCDE(4)                              
0062.00      A                                  7 10' 削除  . . . . . :'                   
0063.00      A            DLTREC         5Y 0O  7 35EDTCDE(4)                              
0064.00      A                                 11  2' 選択項目を打鍵して,実行キーを押 +   
0065.00      A                                       してください。 '                      
0066.00      A                                      COLOR(BLU)                             
0067.00      A                                 13  5' データ入力の終了  . . . . . .'       
0068.00      A            ANS            1A  B 13 39VALUES('Y' 'N')                        
0069.00      A                                 13 53'Y=YES, N=NO'                          
0070.00      A                                 23  2'F3= 終了 '                            
0071.00      A                                      COLOR(BLU)                             
0072.00      A                                 23 15'F12= 前画面 '    
0073.00      A                                      COLOR(BLU)        
------------------------------------------------------------------------------------------------
【 RPG プログラム・ソース 】
------------------------------------------------------------------------------------
0001.00 H DFTNAME(UPD005) DATEDIT(*YMD/)                                         
0002.00 F******** 商品マスターの登録           ***************************       
0003.00 FUPD005D   CF   E             WORKSTN                                    
0004.00 FSHOHIN    UF A E           K DISK                                       
0005.00 FHINSHU    IF   E           K DISK                                       
0006.00 F*****************************************************************       
0007.00 D SAVDTA          S              1    DIM(1024)                          
0008.00 D SAVEDS        E DS                  EXTNAME(SHOHIN)                    
0009.00 D  DSPDTA                 1   1024                                       
0010.00 D                                     DIM(1024)                          
0011.00 C*----------------------------------------------------+                  
0012.00 C     START         TAG                                                  
0013.00 C                   EXFMT     DSPHEAD                                    
0014.00 C*----------------------------------------------------+                  
0015.00 C                   SETOFF                                       919299  
0016.00 C*( CF03 )- 終了                                                         
0017.00 C     *IN03         IFEQ      *ON                                        
0018.00 C                   SETON                                        LR      
0019.00 C   LR              EXSR      LRRTN                                      
0020.00 C   LR              RETURN                                               
0021.00 C                   GOTO      START                                      
0022.00 C                   END                                                  
0024.00 C     TRNKEY        KLIST                                               
0025.00 C                   KFLD                    SHCODE                      
0026.00 C*----------------------------------------------------+                 
0027.00 C     *NOKEY        CLEAR                   SHOHINR                     
0028.00 C                   SETOFF                                       90     
0029.00 C     TRNKEY        CHAIN     SHOHIN                             90     
0030.00 C   90              MOVE      ' 登録 '      DSPMSG            6         
0031.00 C  N90              MOVE      ' 変更 '      DSPMSG                      
0032.00 C  N90              EXSR      CHECK                                     
0033.00 C* DATA-SAVE FOR BACK-UP                                                
0034.00 C  N90              MOVE      DSPDTA        SAVDTA                      
0035.00 C*----------------------------------------------------+                 
0036.00 C     DSPLY         TAG                                                 
0037.00 C                   EXFMT     DSPDTA01                                  
0038.00 C*----------------------------------------------------+                 
0039.00 C                   SETOFF                                       919299 
0040.00 C*( CF03 )- 終了                                                        
0041.00 C     *IN03         IFEQ      *ON                                       
0042.00 C                   SETON                                        LR     
0043.00 C   LR              EXSR      LRRTN                                     
0044.00 C   LR              RETURN                                              
0045.00 C                   GOTO      DSPLY                                     
0046.00 C                   END                                                 
0047.00 C*-( CF12 )- 前画面                                                     
0048.00 C     *IN12         IFEQ      *ON                                        
0049.00 C                   SETOFF                                       12      
0050.00 C                   SETOFF                                       90      
0051.00 C     TRNKEY        CHAIN     SHOHIN                             90      
0052.00 C*----------------------------------------------------+                  
0053.00 C  N90              UPDATE    SHOHINR                                    
0054.00 C*----------------------------------------------------+  EXCPT           
0055.00 C                   GOTO      START                                      
0056.00 C                   END                                                  
0057.00 C* ( 入力内容のチェック  )                                               
0058.00 C                   EXSR      CHECK                                      
0059.00 C   99              GOTO      DSPLY                                      
0060.00 C  N10                                                                   
0061.00 CANN23              GOTO      DSPLY                                      
0062.00 C*-( CF10 )  更新                                                        
0063.00 C*----------------------------------------------------+                  
0064.00 C   10                                                                   
0065.00 CAN 90              WRITE     SHOHINR                                    
0066.00 C   10                                                                   
0067.00 CANN90              UPDATE    SHOHINR                                    
0068.00 C*----------------------------------------------------+                  
0069.00 C   10                                                                   
0070.00 CAN 90              ADD       1             ADDREC            5 0        
0072.00 CANN90              ADD       1             CHGREC            5 0         
0073.00 C   10              GOTO      START                                       
0074.00 C*-( CF23 )  削除                                                         
0075.00 C*----------------------------------------------------+                   
0076.00 C   23                                                                    
0077.00 CANN90              DELETE    SHOHINR                                     
0078.00 C*----------------------------------------------------+                   
0079.00 C   23                                                                    
0080.00 CANN90              ADD       1             DLTREC            5 0         
0081.00 C   23              GOTO      START                                       
0082.00 C                   GOTO      DSPLY                                       
0083.00 C     END           TAG                                                   
0084.00 C******************************************************                   
0085.00 C     CHECK         BEGSR                                                 
0086.00 C******************************************************                   
0087.00 C     *NOKEY        CLEAR                   @HINSHU                       
0088.00 C                   SETOFF                                       99       
0089.00 C     SHSCOD        CHAIN     HINSHU                             99       
0090.00 C   99              SETON                                        93  99   
0091.00 C     ENDCHK        ENDSR                                                 
0092.00 C******************************************************                   
0093.00 C     LRRTN         BEGSR                                                 
0094.00 C******************************************************                   
0095.00 C                   MOVE      'Y'           ANS                           
0096.00 C*----------------------------------------------------+               
0097.00 C     DSPEND        TAG                                               
0098.00 C                   EXFMT     ENDOPT                                  
0099.00 C*----------------------------------------------------+               
0100.00 C*( CF03 )- 終了                                                      
0101.00 C     *IN03         IFEQ      *ON                                     
0102.00 C                   RETURN                                            
0103.00 C                   END                                               
0104.00 C*-( CF12 )- 前画面                                                   
0105.00 C     *IN12         IFEQ      *ON                                     
0106.00 C                   SETOFF                                       LR   
0107.00 C                   END                                               
0108.00 C*-( 実行キー )                                                       
0109.00 C                   RETURN                                            
0110.00 C                   ENDSR                                             
------------------------------------------------------------------------------------