RPG

336. RPG でマウスを操作するには?

Windows がこれほど普及している現在で RPG プログラムでも
マウスで操作させたいと思うのは当然である。
かのスティーブ・ジョブズは XEROX 社のマウスを初めて見たときに
「なぜマウスを商品化しないのか?!」と驚いたそうである。
Windows ではマウスを操作しない日はないが私達の 5250 エミュレータの
世界ではエンド・ユーザーにマウス操作を提供している機会は
少ないのではないだろうか?

例えば、項目を選択するのに 「1=選択」 のように入力させたり
機能キーを押させる操作よりはマウスでクリックするほうが
はるかにやさしく洗練されている操作であると言える。

5250 エミュレータで GUI コントロールを表現するには
仮想端末 API に 5250 表示装置が GUI コントロールをサポートしている端末であると
宣言しなければならない。
PCOMM や CA400 (=iAccess,= Client Access) では GUI コントロール・サポートの
フラグはオンではないので GUI コントロールを表現することができない。
AutoWeb ではGUI コントロール・サポートのフラグがオンであるので
様々な GUI コントロールを表現することができるのである。

ところがマウスに関しては DSPF の DDS キー・ワードだけで
マウスが使えるようになるのでここで紹介する。
IBM はマウス操作でロール・アップ / ダウンの操作を紹介しているが
マウスのクリックによるスクロール操作は Windows やブラウザでも例がないので
マウスを使うサンプルとしては説得力に欠けるのである。
ここではマウス・クリックによる POPUP 表示の例を紹介する。
あなたの適用業務をよりスタイリッシュなものにすることは間違いない。

【 PGM201:受注の入力 】

マウスでクリックすると POPUP 表示される。

【 POPUP表示 】

【 マウス操作の定義 】

..マウスの左ボタンを押すと CF04 キーを押したのと同じにする。
:
A                                      MOUBTN(*ULP CF04)
:

これはレコード・レベルでマウスをクリックすると CF04 キーを押したことになり
なおかつマウス・カーソル (=正しくは) の位置もプログラムに伝える。

【 DSPF: PGM201FM :受注の入力画面 】

0001.00      A*%%TS  SD  20070731  210529  QTR         REL-V5R4M0  5722-WDS          
0002.00      A*-----------------------------------------------*                      
0003.00      A*  SFLENT :  サブ・ファイル入力                                        
0004.00      A*                                                                      
0005.00      A*        受注の入力                                                    
0006.00      A*                                                                      
0007.00      A*  CRTEXDSPF QTROBJ/PGM201FM  +                                        
0008.00      A*  SRCFILE(QTRSRC/QDSPSRC) LVLCHK(*NO) AUT(*ALL)                       
0009.00      A*-----------------------------------------------*                      
0010.00      A                                      DSPSIZ(27 132 *DS4 24 80 *DS3)   
0011.00      A  *DS4                                MSGLOC(27)                       
0012.00      A  *DS3                                MSGLOC(24)                       
0013.00      A                                      PRINT                            
0014.00      A                                      HELP                             
0015.00      A                                      ALTHELP(CA01)                    
0016.00      A                                      HLPPNLGRP(PGM201H QTROBJ/PGM201H)
0017.00      A                                      HLPTITLE(' 受注の入力 ')         
0018.00      A          R DSPHEAD                                                    
0019.00      A                                      TEXT(' 初期画面 ')               
0020.00      A                                      CF03(03 ' 終了 ')                
0021.00      A                                      SETOF(99)                        
0022.00      A                                      BLINK                            
0023.00      A          H                           HLPARA(2 12 2 17)                
0024.00      A                                      HLPPNLGRP('PGM201/JUCNO' -            
0025.00      A                                      QTROBJ/PGM201H)                       
0026.00      A                                  1 27' 受注の入力 '                        
0027.00      A                                      DSPATR(HI)                            
0028.00      A*                                     COLOR(PNK)                            
0029.00      A                                  2  2' 受注№ '                            
0030.00      A            JUCNO          5Y 0B  2 12TEXT(' 受注№ ')                      
0031.00      A                                      CHECK(RZ)                             
0032.00      A                                      CHECK(ER)                             
0033.00      A                                 11 15' 必要な項目を打鍵して実行キーを押 +  
0034.00      A                                       して下さい。 '                       
0035.00      A*                                     DSPATR(HI)                            
0036.00      A                                 11 63HTML('<IMG SRC="/AS400-NET.USR/IMAG+  
0037.00      A                                      E/AUTOWEB.GIF">')                     
0038.00      A                                 23  2'F3= 終了 '                           
0039.00      A                                      COLOR(BLU)                            
0040.00      A                                 24  2' これはメッセージ・テストです '      
0041.00      A          R SFREC01                   SFL                                   
0042.00      A                                      TEXT(' SFLレコード ')              
0043.00      A  20                                                                        
0044.00      AO 99                                  SFLNXTCHG                             
0045.00      A            GYO            4A  B  9  2TEXT(' № ')                          
0046.00      A  03                                  DSPATR(UL)                            
0047.00      A            JHCODE    R        B  9  7REFFLD(SHOHINR/SHCODE QTRFIL/SHOHIN)  
0048.00      A                                      TEXT('*POPUP SHCODE,SHNAME,SHTANK')  
0049.00      A  66                                  DSPATR(PC)                           
0050.00      A  66                                  DSPATR(RI)                           
0051.00      A            SHNAME    R        O  9 18REFFLD(SHOHINR/SHNAME QTRFIL/SHOHIN) 
0052.00      A                                      TEXT(' 商品名 ')                     
0053.00      A            JUSUR          3Y 0B  9 48TEXT(' 受注数 ')                     
0054.00      A                                      EDTCDE(Z)                            
0055.00      A                                      CHECK(RB)                            
0056.00      A                                      DSPATR(CS)                           
0057.00      A  71                                  DSPATR(PC)                           
0058.00      A            JUTANK    R    7Y 0B  9 55REFFLD(SHOHINR/SHTANK QTRFIL/SHOHIN) 
0059.00      A                                      TEXT(' 単価 ')                       
0060.00      A                                      EDTCDE(K)                            
0061.00      A                                      CHECK(RB)                            
0062.00      A                                      DSPATR(CS)                           
0063.00      A            JUKING         7Y 0B  9 67TEXT(' 受注金額 ')                   
0064.00      A                                      EDTCDE(K)                            
0065.00      A                                      CHECK(RB)                            
0066.00      A                                      DSPATR(CS)                           
0067.00      A            ZKSU           5Y 0O  9 82TEXT(' 在庫数 ')                     
0068.00      A                                      EDTCDE(K)                            
0069.00      A            THSU           5Y 0O  9 92TEXT(' 手配数 ')                     
0070.00      A                                      EDTCDE(K)                            
0071.00      A*                                                                          
0072.00      A          R SFCTL01                   SFLCTL(SFREC01)              
0073.00      A*%%TS  SD  20070731  174853  QTR         REL-V5R4M0  5722-WDS      
0074.00      A                                      SFLSIZ(0013)                 
0075.00      A  *DS3                                SFLSIZ(0011)                 
0076.00      A                                      SFLPAG(0012)                 
0077.00      A  *DS3                                SFLPAG(0010)                 
0078.00      A                                      TEXT(' SFLコントロール ') 
0079.00      A                                      ROLLUP(14 ' 次頁 ')          
0080.00      A                                      ROLLDOWN(15 ' 前頁 ')        
0081.00      A                                      CF03(03 ' 終了 ')            
0082.00      A                                      CF04(04 'プロンプト')           
0083.00      A                                      CF05(05 ' 照会 ')            
0084.00      A                                      CF10(10 ' 更新 ')            
0085.00      A                                      CF23(23 ' 削除 ')            
0086.00      A                                      CF12(12 ' 前画面 ')          
0087.00      A                                      SETOF(99)                    
0088.00      A                                      BLINK                        
0089.00      A                                      OVERLAY                      
0090.00      A  42                                  SFLDSP                       
0091.00      A  41                                  SFLDSPCTL                    
0092.00      A  43                                  SFLINZ                       
0093.00      A  46                                  SFLDLT                       
0094.00      A  44                                  SFLCLR                       
0095.00      A  45                                  SFLEND(*MORE)                
0096.00      A* 45                                  SFLEND(*SCRBAR)                   
0097.00      A*                                     SFLDROP(CF11)                     
0098.00      A                                      MOUBTN(*ULP CF04)                 
0099.00      A  61                                  SFLMSGID(EDT0411 QPDA/QEDTMSG 61) 
0100.00      A  62                                  SFLMSGID(EDT0410 QPDA/QEDTMSG 62) 
0101.00      A  66                                  SFLMSGID(CPF9897 QSYS/QCPFMSG +   
0102.00      A                                      66 &MSGDTA)                       
0103.00      A  67                                  SFLMSGID(CPD6A6D QSYS/QCPFMSG 67) 
0104.00      A                                      RTNCSRLOC(&RCD &FLD &CSRP)        
0105.00      A          H                           HLPARA(2 12 2 17)                 
0106.00      A                                      HLPPNLGRP('PGM201/JUCNO' -        
0107.00      A                                      QTROBJ/PGM201H)                   
0108.00      A          H                           HLPARA(4 17 4 20)                 
0109.00      A                                      HLPPNLGRP('PGM201/JUTKCD' -       
0110.00      A                                      QTROBJ/PGM201H)                   
0111.00      A          H                           HLPARA(3 71 3 78)                 
0112.00      A                                      HLPPNLGRP('PGM201/JUDATE' -       
0113.00      A                                      QTROBJ/PGM201H)                   
0114.00      A          H                           HLPARA(4 71 4 78)                 
0115.00      A                                      HLPPNLGRP('PGM201/JUNOKI' -       
0116.00      A                                      QTROBJ/PGM201H)                   
0117.00      A          H                           HLPARA(6 13 6 14)                 
0118.00      A                                      HLPPNLGRP('PGM201/JUKBN' -        
0119.00      A                                      QTROBJ/PGM201H)                   
0120.00      A          H                           HLPARA(6 45 6 46)               
0121.00      A                                      HLPPNLGRP('PGM201/JUSHOR' -     
0122.00      A                                      QTROBJ/PGM201H)                 
0123.00      A          H                           HLPARA(6 68 6 71)               
0124.00      A                                      HLPPNLGRP('PGM201/JUTANT' -     
0125.00      A                                      QTROBJ/PGM201H)                 
0126.00      A          H                           HLPARA(9 7 18 16)               
0127.00      A                                      HLPPNLGRP('PGM201/JHCODE' -     
0128.00      A                                      QTROBJ/PGM201H)                 
0129.00      A          H                           HLPARA(9 48 18 50)              
0130.00      A                                      HLPPNLGRP('PGM201/JUSUR' -      
0131.00      A                                      QTROBJ/PGM201H)                 
0132.00      A          H                           HLPARA(9 55 18 61)              
0133.00      A                                      HLPPNLGRP('PGM201/JUTANK' -     
0134.00      A                                      QTROBJ/PGM201H)                 
0135.00      A          H                           HLPARA(9 67 18 73)              
0136.00      A                                      HLPPNLGRP('PGM201/JUKING' -     
0137.00      A                                      QTROBJ/PGM201H)                 
0138.00      A            DSPREC         4S 0H      SFLRCDNBR(CURSOR)               
0139.00      A            RCD           10A  H                                      
0140.00      A            FLD           10A  H                                      
0141.00      A            CSRP           4S 0H      TEXT('SFL 表示 レコード № ')      
0142.00      A            MSGDTA        60A  P                                      
0143.00      A                                  1 27' 受注の入力 '                  
0144.00      A                                      DSPATR(HI)                              
0145.00      A*                                     COLOR(PNK)                              
0146.00      A            DSPMOD         6A  O  1 72DSPATR(HI)                              
0147.00      A                                  2  2' 受注№ '                              
0148.00      A            JUCNO          5Y 0O  2 12TEXT(' 受注№ ')                        
0149.00      A                                  3 80' 受注日 '                              
0150.00      A  *DS3                            3 62                                        
0151.00      A            JUDATE         8Y 0B  3 89TEXT(' 受注日 ')                        
0152.00      A  *DS3                            3 71                                        
0153.00      A  64                                  ERRMSG(' 受注日の誤りです。        -    
0154.00      A                                                                ' 64)         
0155.00      A*    編集コード :W  を日付のフィールドとみなしてカレンダーを追加します。      
0156.00      A                                      EDTCDE(W)                               
0157.00      A                                  4  2' 得意先コード '                        
0158.00      A            JUTKCD    R    4A  B  4 17TEXT('*POPUP TKCODE, TKNMJ, TKNM, -     
0159.00                                             TKKBN')                                 
0160.00      A                                      REFFLD(TOKMASR/TKCODE QTRFIL/TOKMAS)    
0161.00      A  63                                  ERRMSG(' 得意先コードの誤りです。  -    
0162.00      A                                                                ' 63)         
0163.00      A            TKNAME    R        O  4 22REFFLD(TOKMASR/TKNMJ QTRFIL/TOKMAS)     
0164.00      A                                  4 80' 納期 '                                
0165.00      A  *DS3                            4 62                                        
0166.00      A            JUNOKI         8Y 0B  4 89TEXT(' 納期 ')                          
0167.00      A  *DS3                            4 71                                        
0168.00      A  65                                  ERRMSG(' 納期の誤りです。          - 
0169.00      A                                                                ' 65)      
0170.00      A*    編集コード :W  を日付のフィールドとみなしてカレンダーを追加します。   
0171.00      A                                      EDTCDE(W)                            
0172.00      A                                  6  2' 受注区分 '                         
0173.00      A            JUKBN          2   B  6 13                                     
0174.00      A                                      VALUES('01' '02')                    
0175.00      A                                      TEXT('" 売上 " " 返品 "')            
0176.00      A            JUNAME         6A  O  6 16                                     
0177.00      A  08                                  DSPATR(ND)                           
0178.00      A                                  6 34' 処理区分 '                         
0179.00      A            JUSHOR         2   B  6 45                                     
0180.00      A                                      VALUES('01' '02')                    
0181.00      A                                      TEXT('" 今月 " " 来勘 "')            
0182.00      A            JSNAME         6A  O  6 48                                     
0183.00      A  08                                  DSPATR(ND)                           
0184.00      A                                  6 57' 担当者 '                           
0185.00      A            JUTANT    R    4A  B  6 66REFFLD(TANTOMR/TACODE QTRFIL/TANTO)  
0186.00      A                                      TEXT('*COMBO *KEY')                  
0187.00      A            TTNAM     R    8A  O  6 71REFFLD(TANTOMR/TTNAM QTRFIL/TANTO)   
0188.00      A                                      TEXT('*COMBO *DATA')                 
0189.00      A                                  8  2' № '                               
0190.00      A                                      DSPATR(HI)                           
0191.00      A                                  8  7' 商品コード '                       
0192.00      A                                      DSPATR(HI)                  
0193.00      A                                  8 21' 商品名 '                  
0194.00      A                                      DSPATR(HI)                  
0195.00      A                                  8 45' 受注数 '                  
0196.00      A                                      DSPATR(HI)                  
0197.00      A                                  8 57' 単価 '                    
0198.00      A                                      DSPATR(HI)                  
0199.00      A                                  8 67' 受注金額 '                
0200.00      A                                      DSPATR(HI)                  
0201.00      A                                  8 81' 現在庫数 '                
0202.00      A                                      DSPATR(HI)                  
0203.00      A                                  8 92' 手配数 '                  
0204.00      A                                      DSPATR(HI)                  
0205.00      A*                                                                 
0206.00      A          R DSPEND01                                              
0207.00      A*%%TS  SD  20070731  210529  QTR         REL-V5R4M0  5722-WDS     
0208.00      A                                      TEXT(' 機能キーの表示 ')    
0209.00      A                                      OVERLAY                     
0210.00      A*                                     PUTRETAIN                   
0211.00      A                                 23  2'F3= 終了 '                 
0212.00      A                                      COLOR(BLU)                  
0213.00      A                                 23 17'F4= プロンプト '           
0214.00      A                                      COLOR(BLU)                  
0215.00      A                                 23 34'F10= 更新 '                
0216.00      A                                      COLOR(BLU)                          
0217.00      A                                 23 51'F23= 削除 '                        
0218.00      A                                      COLOR(BLU)                          
0219.00      A                                 23 68'F12= 前画面 '                      
0220.00      A                                      COLOR(BLU)                          
0221.00      A          R ENDOPT                                                        
0222.00      A*%%TS  SD  19930612  150356  NIK         REL-V2R1M0  5738-PW1             
0223.00      A                                      TEXT(' 終了画面 ')                  
0224.00      A*                                     CF03(03 ' 終了 ')                   
0225.00      A                                      CSRLOC(LIN        POS)              
0226.00      A                                  1 34' 終了 '                            
0227.00      A                                      COLOR(PNK)                          
0228.00      A                                      DSPATR(HI)                          
0229.00      A                                  3  2' 処理されたレコード数 '            
0230.00      A                                  5 10' 追加  . . . . . :'                
0231.00      A            ADDREC         5Y 0O  5 35EDTCDE(4)                           
0232.00      A                                  6 10' 変更  . . . . . :'                
0233.00      A            CHGREC         5Y 0O  6 35EDTCDE(4)                           
0234.00      A                                  7 10' 削除  . . . . . :'                
0235.00      A            DLTREC         5Y 0O  7 35EDTCDE(4)                           
0236.00      A                                 11  2' 選択項目を打鍵して,実行キーを押 +
0237.00      A                                       してください。 '                   
0238.00      A                                      COLOR(BLU)                          
0239.00      A                                 13  5' データ入力の終了  . . . . . .'    
0240.00      A            ANS            1A  B 13 39VALUES('Y' 'N')  
0241.00      A                                 13 53'Y=YES, N=NO'    
0242.00      A                                 23  2'F3= 終了 '      
0243.00      A                                      COLOR(BLU)       
0244.00      A                                 23 15'F12= 前画面 '   
0245.00      A                                      COLOR(BLU)       
0246.00      A            LIN            3S 0H                       
0247.00      A            POS            3S 0H                                  

【 解説 】

注目はレコード : SFCTL01 に記述されている、

0098.00      A                                      MOUBTN(*ULP CF04)

だけである。

【 RPG: PGM201:受注の入力 】

0001.00 H DFTNAME(PGM201) DATEDIT(*YMD/)                                                      
0002.00 F**********  受注の入力 ******************************************                    
0003.00 FPGM201FM  CF   E             WORKSTN                                                 
0004.00 F                                     SFILE(SFREC01:RRN1)                             
0005.00 F                                     INFDS(INFDS)                                    
0006.00 FJUCHU     UF A E           K DISK                                                    
0007.00 FTOKMAS    IF   E           K DISK                                                    
0008.00 FSHOHIN    IF   E           K DISK                                                    
0009.00 FSHZAIKO   IF   E           K DISK                                                    
0010.00 FTANTO     IF   E           K DISK                                                    
0011.00 F*****************************************************************                    
0012.00                                                                                       
0013.00  * CRTBNDRPG QTROBJ/PGM201 SRCFILE(QTRSRC/QRPGLESRC)                                  
0014.00  *   DFTACTGRP(*NO) ACTGRP(*NEW) AUT(*ALL)                                            
0015.00                                                                                       
0016.00 D AR              S              1    DIM(80)                                         
0017.00 D SAVDTA          S              1    DIM(1024)                             SAVE-データ 
0018.00 D*                                                                                    
0019.00 D*         -( サブ・ファイル の ファイル 情報 )-                                                
0020.00 D*                                                                                    
0021.00 D* SAVE-RESTORE のための ファイル の DATA-STRUCTURE                                       
0022.00 D*       読み取り ファイル の FORMAT を外部 DS として READ                                
0023.00 D SAVEDS        E DS                  EXTNAME(JUCHU)                                  
0024.00 D  DSPDTA                 1   1024                                                     
0025.00 D                                     DIM(1024)                             入力 データ  
0026.00 D INFDS           DS                                                                   
0027.00 D  NUM_ROWS             152    153B 0                                                  
0028.00 D  NUM_COLS             154    155B 0                                                  
0029.00 D  NUM_RCDS             156    159I 0                                                  
0030.00 D*( カーソル の行と桁の取り込み )                                                          
0031.00 D  LINE                 370    371B 0                                                  
0032.00 D*  TOPRRN: 今表示している サブ・ファイル の先頭の RRN                                       
0033.00 D  TOPRRN               378    379B 0                                                  
0034.00 D* BRRN : サブファイル の レコードNO ( 2 進数 )                                                
0035.00 D  BRRN                 376    377B 0                                                  
0036.00 D*( WORK 日付 YYMMDD データ 構造  )                                                      
0037.00 D DATEDS          DS                                                                   
0038.00 D  SRY                    1      2  0                                                  
0039.00 D  SRYMD                  1      8  0                                                  
0040.00 D  YYMMDD                 3      8  0                                                  
0041.00 D  YYMM                   3      6  0                                                  
0042.00 D  MMDD                   5      8  0                                                  
0043.00 D  YY                     3      4  0                                                  
0044.00 D  MM                     5      6  0                                                  
0045.00 D  DD                     7      8  0                                                  
0046.00 D*( 在庫数の配列 )                                                                     
0047.00 D                 DS                                                                   
0048.00 D DDS001        E DS                  EXTNAME(TOKMAS)                           
0049.00 D DDS002        E DS                  EXTNAME(SHOHIN)                           
0050.00 D PNLOBJ          DS                                                            
0051.00 D  GRP                    1     10                                              
0052.00 D  GRPLIB                11     20                                              
0053.00 D* LIB名付きPGM名                                              *          
0054.00 D JHCOD           C                   CONST('JHCODE    ')                       
0055.00 D ANS005          C                   CONST('QTROBJ/POP005')                    
0056.00 D WEBFAC          C                   CONST('ASNET.COM/WEBFACE')                
0057.00 D PGM101          C                   CONST('QTROBJ/PGM101')                    
0058.00 D MSG01           C                   CONST(' 商品コード ')                     
0059.00 D MSG02           C                   CONST(' の誤りです。 ')                   
0060.00                                                                                 
0061.00 C*                                                                              
0062.00 C*( 初期画面 )                                                                  
0063.00 C*----------------------------------------------------+                         
0064.00 C     START         TAG                                                    |    
0065.00 C                   EXFMT     DSPHEAD                                      |    
0066.00 C*----------------------------------------------------+                         
0067.00 C                   SETOFF                                       99             
0068.00 C*( CF03 )- 終了                                                                
0069.00 C     *IN03         IFEQ      *ON                                          CF03 
0070.00 C                   SETON                                        LR             
0071.00 C   LR              EXSR      LRRTN                                             
0072.00 C   LR              RETURN                                                         
0073.00 C                   GOTO      START                                                
0074.00 C                   END                                                    CF03    
0075.00 C*( CF05 )- 得意先マスターの登録                                                   
0076.00 C     *IN05         IFEQ      *ON                                          CF05    
0077.00 C                   CALL      PGM101                                               
0078.00 C                   GOTO      START                                                
0079.00 C                   END                                                    CF03    
0080.00 C*( 実行キー )                                                                     
0081.00 C*   : KEYをファイルにセット                                                    
0082.00 C*----------------------------------------------------+                            
0083.00 C     SETKEY        KLIST                                                  |       
0084.00 C                   KFLD                    JUCNO                          |       
0085.00 C                   KFLD                    JUGYO                          |       
0086.00 C*----------------------------------------------------+                            
0087.00 C                   MOVE      *ZEROS        JUGYO                                  
0088.00 C                   EXSR      SFLCLR                                               
0089.00 C     SETKEY        SETLL     JUCHU                                                
0090.00 C*   : ファイルの読み取り                                                          
0091.00 C                   MOVE      ' 入力 '      DSPMOD            6                    
0092.00 C                   Z-ADD     1             TOPRRN                                 
0093.00 C                   EXSR      READ                                                 
0094.00 C                   Z-ADD     1             DSPREC                                 
0095.00 C*( サブ・ファイルの表示 )                                                         
0096.00 C*----------------------------------------------------+                                 
0097.00 C     DSPLY         TAG                                                    |            
0098.00 C                   WRITE     DSPEND01                                     |            
0099.00 C                   SETON                                        4142      |SFL-DSPLY   
0100.00 C                   EXFMT     SFCTL01                                      |            
0101.00 C                   SETOFF                                       4142      |            
0102.00 C*----------------------------------------------------+                                 
0103.00 C                   SETOFF                                       99                     
0104.00 C*( CF03 )- 終了                                                                        
0105.00 C     *IN03         IFEQ      *ON                                          CF03         
0106.00 C                   SETON                                        LR                     
0107.00 C   LR              EXSR      LRRTN                                                     
0108.00 C   LR              RETURN                                                              
0109.00 C                   GOTO      DSPLY                                                     
0110.00 C                   END                                                    CF03         
0111.00 C*( CF04 )- プロンプト                                                                  
0112.00 C     *IN04         IFEQ      *ON                                          CF04         
0113.00 C     FLD           IFEQ      JHCOD                                                     
0114.00 C     CSRP          ANDGT     *ZEROS                                                    
0115.00 C                   EXSR      PROMPT                                                    
0116.00 C   99              GOTO      DSPLY                                                     
0117.00 C                   ELSE                                                                
0118.00 C                   SETON                                        6799      ERR          
0119.00 C                   GOTO      DSPLY                                                     
0120.00 C                   END                                                               
0121.00 C                   END                                                    CF04       
0122.00 C*                                                                                    
0123.00 C*( CF12 )- 前画面                                                                    
0124.00 C     *IN12         IFEQ      *ON                                          CF12       
0125.00 C                   SETOFF                                       12                   
0126.00 C                   EXSR      SFLDLT                                                  
0127.00 C                   EXSR      CLEAR                                                   
0128.00 C                   GOTO      START                                                   
0129.00 C                   END                                                    CF12       
0130.00 C*                     |                                                              
0131.00 C*( ROLL UP )- 次ページ                                                               
0132.00 C     *IN14         IFEQ      *ON                                          ROLLUP     
0133.00 C                   EXSR      ROLLUP                                                  
0134.00 C                   GOTO      DSPLY                                                   
0135.00 C                   END                                                    ROLLUP     
0136.00 C*-( ROLL DOWN )- 前ページ                                                            
0137.00 C     *IN15         IFEQ      *ON                                          ROLLDOWN   
0138.00 C                   Z-ADD     1             DSPREC                                    
0139.00 C                   SETON                                        6299      ERRMSG     
0140.00 C                   GOTO      DSPLY                                                   
0141.00 C                   END                                                    ROLLDOWN   
0142.00 C*                     |                                                              
0143.00 C     TOPRRN        IFNE      *ZEROS                                                  
0144.00 C                   Z-ADD     TOPRRN        DSPREC                                       
0145.00 C                   END                                                                  
0146.00 C*   : 見出し画面のチェック                                                              
0147.00 C  N23              EXSR      MIDCHK                                                     
0148.00 C   99              GOTO      DSPLY                                                      
0149.00 C*   : 見出し項目のSAVE                                                              
0150.00 C                   MOVE      JUCNO         MIB001                                       
0151.00 C     *LIKE         DEFINE    JUCNO         MIB001                                       
0152.00 C                   MOVE      JUTKCD        MIB002                                       
0153.00 C     *LIKE         DEFINE    JUTKCD        MIB002                                       
0154.00 C                   MOVE      JUDATE        MIB003                                       
0155.00 C     *LIKE         DEFINE    JUDATE        MIB003                                       
0156.00 C                   MOVE      JUNOKI        MIB004                                       
0157.00 C     *LIKE         DEFINE    JUNOKI        MIB004                                       
0158.00 C                   MOVE      TKNAME        MIB005                                       
0159.00 C     *LIKE         DEFINE    TKNAME        MIB005                                       
0160.00 C                   MOVE      JUSHOR        MIB006                                       
0161.00 C     *LIKE         DEFINE    JUSHOR        MIB006                                       
0162.00 C                   MOVE      JSNAME        MIB007                                       
0163.00 C     *LIKE         DEFINE    JSNAME        MIB007                                       
0164.00 C*   : 明細画面のチェック                                                                
0165.00 C     1             DO        *HIVAL        RRN1                           RRN1=1-*HIVAL 
0166.00 C                   SETOFF                                       50                      
0167.00 C*( 実行キー )                                                                           
0168.00 C  N10                                                                     
0169.00 CANN23              READC     SFREC01                                50    
0170.00 C*                                                                         
0171.00 C*( CF10 )- 更新                                                           
0172.00 C*( CF23 )- 削除                                                           
0173.00 C   10                                                                     
0174.00 COR 23RRN1          CHAIN     SFREC01                            50        
0175.00 C*                                                                         
0176.00 C   50              GOTO      RECEND                                       
0177.00 C*   : ブランク キー 入力の オミット                                                
0178.00 C     JHCODE        IFEQ      *BLANKS                                      
0179.00 C     JUKING        ANDEQ     *ZEROS                                       
0180.00 C                   GOTO      UPDBPS                                       
0181.00 C                   END                                                    
0182.00 C                   Z-ADD     BRRN          DSPREC                         
0183.00 C                   MOVE      MIB001        JUCNO                          
0184.00 C                   MOVE      MIB002        JUTKCD                         
0185.00 C                   MOVE      MIB003        JUDATE                         
0186.00 C                   MOVE      MIB004        JUNOKI                         
0187.00 C                   MOVE      MIB005        TKNAME                         
0188.00 C                   MOVE      MIB006        JUSHOR                         
0189.00 C                   MOVE      MIB006        JSNAME                         
0190.00 C  N23              EXSR      MIDCHK                                       
0191.00 C*                     |                                                   
0192.00 C*---------------------+                                                            
0193.00 C* 入力明細行のチェック                                                             
0194.00 C*---------------------+                                                            
0195.00 C                   MOVEL     GYO           FLD1              1                     
0196.00 C     FLD1          IFNE      'D'                                           削除 ?  
0197.00 C     *IN23         ANDNE     '1'                                                   
0198.00 C                   MOVE      RRN1          DSPREC            4 0           表示 RRN
0199.00 C                   EXSR      CHECK                                                 
0200.00 C   99              GOTO      SFLWRT                                                
0201.00 C                   END                                                             
0202.00 C*                     |                                                            
0203.00 C*---------------------+                                                            
0204.00 C* データ・ベース更新                                                               
0205.00 C*---------------------+                                                            
0206.00 C*                     |                                                            
0207.00 C     *IN10         IFEQ      *ON                                          F10,F23  
0208.00 C     *IN23         OREQ      *ON                                                   
0209.00 C*----------------------------------------------------+                             
0210.00 C     TRNKEY        KLIST                                                  |        
0211.00 C                   KFLD                    JUCNO                          |        
0212.00 C                   KFLD                    JUGYO                          |        
0213.00 C*----------------------------------------------------+                             
0214.00 C*   : 更新キーを生成                                                               
0215.00 C*                                                                                  
0216.00 C                   MOVE      DSPDTA        SAVDTA                                 
0217.00 C*   : データ・ベース検索                                                          
0218.00 C                   EXSR      CLEAR                                                
0219.00 C                   SETOFF                                       90                
0220.00 C     TRNKEY        CHAIN     JUCHU                              90                
0221.00 C   90              GOTO      ADDCHG                                               
0222.00 C*                     |                                                           
0223.00 C*   :  変更 / 削除                                                                
0224.00 C                   MOVEL     GYO           FLD1              1                    
0225.00 C     FLD1          CABEQ     'D'           TRNUPD                          削除 ? 
0226.00 C   23              GOTO      TRNUPD                                               
0227.00 C*                     |                                                           
0228.00 C*   : 追加 / 変更                                                                 
0229.00 C     ADDCHG        TAG                                                            
0230.00 C                   MOVE      SAVDTA        DSPDTA                                 
0231.00 C                   MOVE      MIB001        JUCNO                                  
0232.00 C                   MOVE      MIB002        JUTKCD                                 
0233.00 C                   MOVE      MIB003        JUDATE                                 
0234.00 C                   MOVE      MIB004        JUNOKI                                 
0235.00 C                   MOVE      MIB005        TKNAME                                 
0236.00 C                   MOVE      MIB006        JUSHOR                                 
0237.00 C                   MOVE      MIB006        JSNAME                                 
0238.00 C*                     |                                                           
0239.00 C     TRNUPD        TAG                                                            
0240.00 C                   MOVEL     GYO           FLD1              1                       
0241.00 C     FLD1          COMP      'D'                                    50               
0242.00 C   23              SETON                                        50                   
0243.00 C*   : データ・ベースへ追加・更新                                                     
0244.00 C*----------------------------------------------------+                               
0245.00 C   90                                                                                
0246.00 CANN50              WRITE     JUCHUR                                       | ADD      
0247.00 C  N90                                                                                
0248.00 CANN50              UPDATE    JUCHUR                                       | CHG      
0249.00 C  N90                                                                                
0250.00 CAN 50              DELETE    JUCHUR                                       | DLT      
0251.00 C*----------------------------------------------------+                               
0252.00 C  N50              MOVE      BRRN          GYO                                       
0253.00 C   90              ADD       1             ADDREC            5 0                     
0254.00 C  N90                                                                                
0255.00 CANN50              ADD       1             CHGREC            5 0                     
0256.00 C  N90                                                                                
0257.00 CAN 50              ADD       1             DLTREC            5 0                     
0258.00 C                   END                                                    F10,F23    
0259.00 C*                     |                                                              
0260.00 C*---------------------+                                                              
0261.00 C* サブ・ファイル更新                                                                 
0262.00 C*---------------------+                                                              
0263.00 C     SFLWRT        TAG                                                               
0264.00 C                   MOVE      TOPRRN        TOPSAV                                       
0265.00 C*----------------------------------------------------+                                  
0266.00 C                   UPDATE    SFREC01                                      |             
0267.00 C*----------------------------------------------------+                                  
0268.00 C                   Z-ADD     BRRN          DSPREC                                       
0269.00 C                   MOVE      TOPSAV        TOPRRN                                       
0270.00 C     UPDBPS        TAG                                                                  
0271.00 C   99              GOTO      DSPLY                                         エラー       
0272.00 C                   END                                                    RRN1=1-*HIVAL 
0273.00 C*   : 実行キーの終了                                                                    
0274.00 C     RECEND        TAG                                                                  
0275.00 C*   : コマンド部のチェック ( DSPEND01                                                   
0276.00 C  N23              EXSR      CMDCHK                                                     
0277.00 C   99              GOTO      DSPLY                                                      
0278.00 C*                                                                                       
0279.00 C     *IN10         IFEQ      *ON                                                        
0280.00 C     *IN23         OREQ      *ON                                                        
0281.00 C                   GOTO      START                                                      
0282.00 C                   END                                                                  
0283.00 C                   GOTO      DSPLY                                                      
0284.00 C*                                                                                       
0285.00 C     END           TAG                                                                  
0286.00 C******************************************************                                  
0287.00 C     *INZSR        BEGSR                                                                
0288.00 C******************************************************                               
0289.00 C*  初期 サイクル のみの実行                                                              
0290.00 C     *LIKE         DEFINE    TOPRRN        TOPSAV                                    
0291.00 C                   CLEAR                   SAVEDS                                    
0292.00 C                   MOVE      *ZEROS        JUDATE                                    
0293.00 C                   MOVE      *ZEROS        JUNOKI                                    
0294.00 C                   CLEAR                   DATEDS                                    
0295.00 C                   MOVE      910101        DATE              6 0                     
0296.00 C*( U8 = HTML インターフェースで実行中 )                                              
0297.00 C   U8              SETON                                            08               
0298.00 C  N08NUM_COLS      COMP      132                                    08               
0299.00 C*( サブファイル END-FLAG を ON にする )                                                   
0300.00 C                   SETON                                        45                   
0301.00 C                   SETON                                        2310                 
0302.00 C                   SETOFF                                       2310                 
0303.00 C  N08              MOVE      10            GYOSU             2 0           行数      
0304.00 C   08              MOVE      12            GYOSU                           行数      
0305.00 C*( DS の数字 フィールド の クリヤー )                                                        
0306.00 C                   CLEAR                   SFREC01                                   
0307.00 C                   MOVE      09            STRGYO            2 0           開始行№  
0308.00 C                   Z-ADD     UDATE         JUDATE                          初期値    
0309.00 C                   Z-ADD     1             JUCNO                                     
0310.00 C                   Z-ADD     0             CSRP                                      
0311.00 C     INZEND        ENDSR                                                             
0312.00 C******************************************************                               
0313.00 C     MIDCHK        BEGSR                                                             
0314.00 C******************************************************                               
0315.00 C*( 見出しチェック )                                                                  
0316.00 C*----------------------------------------------------*                               
0317.00 C*( JUTKCD    :  得意先コード       :( CHAIN ファイル )                               
0318.00 C*----------------------------------------------------*                               
0319.00 C                   MOVE      *BLANKS       TKNMJ                                     
0320.00 C                   SETOFF                                       99                   
0321.00 C     JUTKCD        CHAIN     TOKMAS                             99                   
0322.00 C   99              SETON                                        63  99    ERRMSG     
0323.00 C   99              GOTO      MIDEND                                                  
0324.00 C                   MOVEL     TKNMJ         TKNAME                                    
0325.00 C*                                                                                    
0326.00 C*----------------------------------------------------*                               
0327.00 C*( JUDATE    :  受注日             :( DATCHK 日付 )                                  
0328.00 C*----------------------------------------------------*                               
0329.00 C     JUDATE        IFEQ      *ZEROS                                         省略値   
0330.00 C                   MOVEL     UDATE         JUDATE                                    
0331.00 C                   END                                                      省略値   
0332.00 C*                                                                                    
0333.00 C     JUDATE        IFNE      *ZEROS                                        IF-       
0334.00 C                   MOVE      JUDATE        DATE              6 0                     
0335.00 C                   EXSR      DATCHK                                                  
0336.00 C                   END                                                     ENDRTN   
0337.00 C   99              SETON                                        64         ERRMSG   
0338.00 C   99              GOTO      MIDEND                                        GOTO XXX 
0339.00 C     JUNOKI        IFNE      *ZEROS                                       JUNOKI=   
0340.00 C*----------------------------------------------------*                              
0341.00 C*( JUNOKI    :  納期               :( DATCHK 日付 )                                 
0342.00 C*----------------------------------------------------*                              
0343.00 C     JUNOKI        IFNE      *ZEROS                                        IF-      
0344.00 C                   MOVE      JUNOKI        DATE              6 0                    
0345.00 C                   EXSR      DATCHK                                                 
0346.00 C                   END                                                     ENDRTN   
0347.00 C   99              SETON                                        65         ERRMSG   
0348.00 C   99              GOTO      MIDEND                                        GOTO XXX 
0349.00 C                   END                                                              
0350.00 C*----------------------------------------------------*                              
0351.00 C*( JUKBN     :  受注区分                                                            
0352.00 C*----------------------------------------------------*                              
0353.00 C                   MOVE      *BLANKS       JUNAME                                   
0354.00 C     JUKBN         IFNE      *BLANKS                                                
0355.00 C     JUKBN         IFEQ      '01'                                                   
0356.00 C                   MOVE      ' 売上 '      JUNAME                                   
0357.00 C                   END                                                              
0358.00 C     JUKBN         IFEQ      '02'                                                   
0359.00 C                   MOVE      ' 返品 '      JUNAME                                   
0360.00 C                   END                                                            
0361.00 C                   END                                                            
0362.00 C*----------------------------------------------------*                            
0363.00 C*( JUSHOR    :  処理区分                                                          
0364.00 C*----------------------------------------------------*                            
0365.00 C                   MOVE      *BLANKS       JSNAME                                 
0366.00 C     JUSHOR        IFNE      *BLANKS                                              
0367.00 C     JUSHOR        IFEQ      '01'                                                 
0368.00 C                   MOVE      ' 通常 '      JSNAME                                 
0369.00 C                   END                                                            
0370.00 C     JUSHOR        IFEQ      '02'                                                 
0371.00 C                   MOVE      ' 来勘 '      JSNAME                                 
0372.00 C                   END                                                            
0373.00 C                   END                                                            
0374.00 C*----------------------------------------------------*                            
0375.00 C*( JUTANT    :  担当者コード       :( CHAIN ファイル )                            
0376.00 C*----------------------------------------------------*                            
0377.00 C                   MOVE      *BLANKS       TTNAM                                  
0378.00 C                   SETOFF                                       99                
0379.00 C     JUTANT        CHAIN     TANTO                              99                
0380.00 C   99              SETON                                        63  99    ERRMSG  
0381.00 C   99              GOTO      MIDEND                                               
0382.00 C     MIDEND        ENDSR                                                          
0383.00 C******************************************************                            
0384.00 C     READ          BEGSR                                                       
0385.00 C******************************************************                         
0386.00 C*( データ・ベースの検索 )                                                      
0387.00 C*----------------------------------------------------+                         
0388.00 C     EQLKEY        KLIST                                                  |    
0389.00 C                   KFLD                    JUCNO                          |    
0390.00 C*----------------------------------------------------+                         
0391.00 C                   SETON                                        51             
0392.00 C                   SETOFF                                       71             
0393.00 C     RTNRED        TAG                                                         
0394.00 C*                                                                              
0395.00 C     TOPRRN        ADD       GYOSU         ENDRRN            4 0               
0396.00 C                   SUB       1             ENDRRN                              
0397.00 C*                                                                              
0398.00 C                   Z-ADD     TOPRRN        DSPREC                              
0399.00 C     TOPRRN        DO        ENDRRN        RRN1              4 0          READ 
0400.00 C                   SETOFF                                       50             
0401.00 C     EQLKEY        READE     JUCHU                                  50         
0402.00 C     *IN50         IFEQ      *ON                                          EOF  
0403.00 C                   SETOFF                                       1129           
0404.00 C                   CLEAR                   SFREC01                             
0405.00 C   U8              SETON                                            08         
0406.00 C  N08NUM_COLS      COMP      132                                    08         
0407.00 C                   Z-ADD     0             SZZSU                               
0408.00 C                   ELSE                                                   EOF  
0409.00 C                   MOVE      ' 変更 '      DSPMOD                              
0410.00 C   U8              SETON                                            08         
0411.00 C  N08NUM_COLS      COMP      132                                    08         
0412.00 C*( CHECK  : READ した レコード の チェック )                                          
0413.00 C   51              EXSR      MIDCHK                                            
0414.00 C                   EXSR      CHECK                                             
0415.00 C                   END                                                    EOF  
0416.00 C*( 行 NO に入れる )                                                            
0417.00 C                   MOVE      RRN1          GYO                                 
0418.00 C                   MOVE      TOPRRN        TOPSAV                              
0419.00 C*( サブファイル へ更新 )                                                            
0420.00 C*----------------------------------------------------+                         
0421.00 C                   WRITE     SFREC01                                      |    
0422.00 C*----------------------------------------------------+                         
0423.00 C   51              MOVE      RRN1          DSPREC                              
0424.00 C   51              SETOFF                                       51             
0425.00 C                   Z-ADD     RRN1          LSTRRN            4 0               
0426.00 C                   MOVE      TOPSAV        TOPRRN                              
0427.00 C                   END                                                    READ 
0428.00 C     REDEND        TAG                                                         
0429.00 C     *IN11         IFEQ      *ON                                               
0430.00 C     ENDRRN        ADD       1             TOPRRN                              
0431.00 C                   GOTO      RTNRED                                            
0432.00 C                   END                                                             
0433.00 C                   ENDSR                                                           
0434.00 C******************************************************                             
0435.00 C     CHECK         BEGSR                                                           
0436.00 C******************************************************                             
0437.00 C*( 明細チェック )                                                                  
0438.00 C                   MOVE      GYO           JUGYO                                   
0439.00 C*----------------------------------------------------*                             
0440.00 C*( JHCODE    :  商品 コード          :( CHAIN ファイル )                             
0441.00 C*----------------------------------------------------*                             
0442.00 C                   CLEAR                   DDS002                          外部 DS 
0443.00 C                   SETOFF                                       99                 
0444.00 C     JHCODE        CHAIN     SHOHIN                             99                 
0445.00 C     *IN99         IFEQ      *ON                                                   
0446.00 C                   SETON                                        66  99    ERRMSG   
0447.00 C     MSG01         CAT(P)    JHCODE:0      MSGDTA                                  
0448.00 C                   CAT       MSG02:0       MSGDTA                                  
0449.00 C                   GOTO      CHKEND                                                
0450.00 C                   ENDIF                                                           
0451.00 C*                                                                                  
0452.00 C     JUTANK        IFEQ      *ZEROS                                       JUTANK=  
0453.00 C                   Z-ADD     SHTANK        JUTANK                                  
0454.00 C                   END                                                             
0455.00 C     JUSUR         MULT      JUTANK        JUKING                                  
0456.00 C*----------------------------------------------------*                      
0457.00 C*  SHZAIKO :  在庫マスターより在庫数を取得                                  
0458.00 C*             在庫数は HTML にのみ表示されます                              
0459.00 C*----------------------------------------------------*                      
0460.00 C                   Z-ADD     0             SZZSU                            
0461.00 C                   SETOFF                                       99          
0462.00 C     JHCODE        CHAIN     SHZAIKO                            99          
0463.00 C                   SETOFF                                       99          
0464.00 C                   Z-ADD     SZZSU         ZKSU                             
0465.00 C     CHKEND        ENDSR                                                    
0466.00 C******************************************************                      
0467.00 C     CMDCHK        BEGSR                                                    
0468.00 C******************************************************                      
0469.00 C*   : コマンド部のチェック ( DSPEND01                                       
0470.00 C                   READ      DSPEND01                               50      
0471.00 C   50              GOTO      CMDEND                                         
0472.00 C     CMDEND        ENDSR                                                    
0473.00 C******************************************************                      
0474.00 C     SFLCLR        BEGSR                                                    
0475.00 C******************************************************                      
0476.00 C*( サブファイル の クリヤー )                                                        
0477.00 C*----------------------------------------------------+                      
0478.00 C                   SETON                                        44        | 
0479.00 C                   WRITE     SFCTL01                                      | 
0480.00 C                   SETOFF                                       44        |       
0481.00 C*----------------------------------------------------+                            
0482.00 C                   ENDSR                                                          
0483.00 C******************************************************                            
0484.00 C     SFLDLT        BEGSR                                                          
0485.00 C******************************************************                            
0486.00 C*( サブファイル の削除 )                                                               
0487.00 C*----------------------------------------------------+                            
0488.00 C                   SETON                                        46        |       
0489.00 C                   WRITE     SFCTL01                                      |       
0490.00 C                   SETOFF                                       46        |       
0491.00 C*----------------------------------------------------+                            
0492.00 C                   ENDSR                                                          
0493.00 C******************************************************                            
0494.00 C     INZVAR        BEGSR                                                          
0495.00 C******************************************************                            
0496.00 C*( 初期値 )                                                                       
0497.00 C                   Z-ADD     UDATE         JUDATE                          初期値 
0498.00 C                   ENDSR                                                          
0499.00 C******************************************************                            
0500.00 C     ROLLUP        BEGSR                                                          
0501.00 C******************************************************                            
0502.00 C                   SETOFF                                       45                
0503.00 C     ENDRRN        ADD       1             TOPRRN                                 
0504.00 C                   EXSR      READ                                                
0505.00 C                   SETON                                        45               
0506.00 C     UPEND         ENDSR                                                         
0507.00 C******************************************************                           
0508.00 C     CLEAR         BEGSR                                                         
0509.00 C******************************************************                           
0510.00 C     *NOKEY        CLEAR                   JUCHUR                                
0511.00 C                   EXSR      INZVAR                                        初期値
0512.00 C                   ENDSR                                                         
0513.00 C*****************************************************                            
0514.00 C     LRRTN         BEGSR                                                         
0515.00 C*****************************************************                            
0516.00 C*( 終了画面 )                                                                    
0517.00 C     ADDREC        IFGT      *ZEROS                                              
0518.00 C     CHGREC        ORGT      *ZEROS                                              
0519.00 C     DLTREC        ORGT      *ZEROS                                              
0520.00 C                   MOVE      'Y'           ANS               1                   
0521.00 C*----------------------------------------------------+                           
0522.00 C                   EXFMT     ENDOPT                                       |      
0523.00 C*----------------------------------------------------+                           
0524.00 C                   SETOFF                                       99               
0525.00 C*( CF12 )- 前画面                                                                
0526.00 C     *IN12         IFEQ      *ON                                          CF12   
0527.00 C                   SETOFF                                       12LR             
0528.00 C                   GOTO      LREND                                             
0529.00 C                   END                                                    CF12 
0530.00 C*( 実行キー )                                                                  
0531.00 C     ANS           IFEQ      'N'                                               
0532.00 C                   SETOFF                                       LR             
0533.00 C                   GOTO      LREND                                             
0534.00 C                   END                                                         
0535.00 C                   END                                                         
0536.00 C*                                                                              
0537.00 C     LREND         ENDSR                                                       
0538.00 C******************************************************                         
0539.00 C     DATCHK        BEGSR                                                       
0540.00 C******************************************************                         
0541.00 C*( 日付 チェック サブ・ルーチン )       FOR YY/MM/DD                                     
0542.00 C                   MOVE      *IN51         IN51              1                 
0543.00 C                   MOVE      *IN52         IN52              1                 
0544.00 C     DATE          MULT      .0001         #YEAR             2 0    99         
0545.00 C**                   SUB  88        #YEAR              平成                    
0546.00 C  N99DATE          MULT      .01           #MONTH            2 0    99         
0547.00 C  N99              Z-ADD     DATE          #DAY              2 0    99         
0548.00 C  N99#MONTH        COMP      12                                 99             
0549.00 C  N99#YEAR         MULT      .25           #CHKLY            1 1    50         
0550.00 C  N99#MONTH        COMP      2                                      51         
0551.00 C  N99#MONTH        MULT(H)   1.07          #MONTH                              
0552.00 C  N99#MONTH        DIV       2             #CHKLY                   52
0553.00 C  N99                                                                 
0554.00 CANN51                                                                 
0555.00 CAN 52#DAY          COMP      30                                 99    
0556.00 C  N99                                                                 
0557.00 CANN51                                                                 
0558.00 CANN52#DAY          COMP      31                                 99    
0559.00 C  N99                                                                 
0560.00 CAN 51                                                                 
0561.00 CANN50#DAY          COMP      28                                 99    
0562.00 C  N99                                                                 
0563.00 CAN 51                                                                 
0564.00 CAN 50#DAY          COMP      29                                 99    
0565.00 C                   MOVE      IN51          *IN51                      
0566.00 C                   MOVE      IN52          *IN52                      
0567.00 C     DATEND        ENDSR                                              
0568.00 C******************************************************                
0569.00 C     PROMPT        BEGSR                                              
0570.00 C******************************************************                
0571.00 C                   EXSR      CURSOR                                   
0572.00 C                   EXSR      LINCHK                                   
0573.00 C   99              GOTO      DSPLY                                    
0574.00 C*( ポップ・アップ・ウインドウ・パネルの呼出し )                       
0575.00 C*----------------------------------------------------+                
0576.00 C                   CALL      ANS005                                       |ウィンドウ 表示   
0577.00 C                   PARM                    SEL001           10            |              
0578.00 C*----------------------------------------------------+                                   
0579.00 C*( 選択結果を更新 )                                                                      
0580.00 C                   MOVEL     SEL001        JHCODE                                        
0581.00 C     SEL001        IFNE      *BLANKS                                                     
0582.00 C                   MOVE      *ZEROS        JUTANK                                        
0583.00 C                   MOVE      *ZEROS        JUSUR                                         
0584.00 C                   MOVE      *ZEROS        JUKING                                        
0585.00 C                   EXSR      CHECK                                                       
0586.00 C                   SETON                                        71                       
0587.00 C*----------------------------------------------------+                                   
0588.00 C                   UPDATE    SFREC01                                      |              
0589.00 C*----------------------------------------------------+                                   
0590.00 C                   SETOFF                                       71                       
0591.00 C                   END                                                                   
0592.00 C                   ENDSR                                                                 
0593.00 C*****************************************************                                    
0594.00 C     CURSOR        BEGSR                                                                 
0595.00 C*****************************************************                                    
0596.00 C     LINE          DIV       256           LIN               3 0          ガメン の行数    
0597.00 C                   MVR                     POS               3 0          ガメン の桁数    
0598.00 C                   ENDSR                                                                 
0599.00 C******************************************************                                   
0600.00 C     LINCHK        BEGSR                                                  
0601.00 C******************************************************                    
0602.00 C     STRGYO        ADD       GYOSU         ENDGYO            2 0          
0603.00 C                   SUB       1             ENDGYO                         
0604.00 C* カーソル は開始行と終了行とのあいだにあるか                                 
0605.00 C     LIN           COMP      STRGYO                             50  50    
0606.00 C   50LIN           COMP      ENDGYO                               5050    
0607.00 C* 94: カーソル が適切な位置になかった                                         
0608.00 C  N50              SETON                                        9967      
0609.00 C   99              GOTO      LINEND                                       
0610.00 C     LIN           SUB       STRGYO        RRN1                           
0611.00 C                   ADD       TOPRRN        RRN1                           
0612.00 C                   SETOFF                                       90        
0613.00 C     RRN1          CHAIN     SFREC01                            90        
0614.00 C   90              GOTO      LINEND                                       
0615.00 C                   Z-ADD     RRN1          DSPREC                         
0616.00 C*( 更新する ファイル に  CHAIN )                                              
0617.00 C                   SETOFF                                       90        
0618.00 C     TRNKEY        CHAIN(N)  JUCHU                              90        
0619.00 C*( DUMMY EXCPT )                                                          
0620.00 C*----------------------------------------------------+                    
0621.00 C* N90                UPDATJUCHUR                     | CHG                
0622.00 C*----------------------------------------------------+                    
0623.00 C     LINEND        ENDSR                                                  

【 解説 】

CF04 キーを押したときには

0111.00 C*( CF04 )- プロンプト                                                                  
0112.00 C     *IN04         IFEQ      *ON                                          CF04         
0113.00 C     FLD           IFEQ      JHCOD                                                     
0114.00 C     CSRP          ANDGT     *ZEROS                                                    
0115.00 C                   EXSR      PROMPT                                                    
0116.00 C   99              GOTO      DSPLY                                                     
0117.00 C                   ELSE                                                                
0118.00 C                   SETON                                        6799      ERR          
0119.00 C                   GOTO      DSPLY                                                     
0120.00 C                   END                                                               
0121.00 C                   END                                                    CF04 

のようにして POPUP を表示しているがマウス操作を追加したからといっても
RPG は何ら変更を加えてはいない。