1

次のコードは CRTBNDRPG でコンパイルされていますが、実行すると 1 つの I/O でスタックします。

私がしなければならないことは、すべてのテーブルの注文番号が 8 ですが、この 1 つのファイルの注文番号が 10 であるということだけです。この小さなプログラムがうまくいかない理由はありますか?

FMFHHMH    IF   E             DISK                                    
F* output file                                                        
FMFHHMHPK  O  A E             DISK                                    
D*EXTSHP           S             13  6                                
D                                                                     
C                                                                     
C                   READ      MFHHMH                                  
C                   Dow       NOT %EOF(MFHHMH)                        
C                   iF        %found                                  
c                   MOVE      MHORDR        MHORDp                    
c                   MOVE      MHZONE        MHZONE                    
C                   WRITE     MFHHMHP                                 
C                   READ      mfhhmh                                  
C                   End                                               
C                   END                                               
C                   SETON                                        LR   
4

2 に答える 2

3

最初の回答でジェームズが言っていることは正しい..オペコードREADではIF %EOFを使用できますが、IF %FOUNDは使用できません.... CHAINで%FOUNDを使用してください

両方のテーブルの構造が類似している場合は、SQL ステートメントを使用することもできます。

INSERT INTO MFHHMHPK (任意の MFHHMH から * を選択)

于 2013-06-11T21:06:51.043 に答える