1

最初の40バイトに名前と番号が含まれている入力ファイルがあり、次にその名前の4つの異なるファンドとファンド番号があります。このデータを読み取るために、ファイルセクションにCobolテーブルを作成する方法を考えていました。私はこれを持っていますが、どうやらそれは80バイトより大きいか小さいですか?または多分私のテーブルが間違っていますか?

FD  SALES-FILE                               
RECORDING MODE IS F.                     

01  SALES-RECORD.                            
    05  BROKER-REGION         PIC 9.         
    05  BROKER-CITY           PIC X(19).     
    05  BROKER-NAME           PIC X(20).     

01  SALES-BROKER-TBL.                        
    05 BROKER-TBL-DATA        OCCURS 4 TIMES.
       10  FUND-NUMBER        PIC 9(2).      
       10  PRICE-FLAG         PIC 9.         
       10  DEPOSIT-AMT        PIC 9(5)V99.   

SALES-RECORDには40バイトがあり、テーブルにはエントリごとに10バイトがあり、4回発生するので、合計で80バイトになります。誰かが私が間違っていることを知っていますか?

4

1 に答える 1

1

次のことを試してください...

01  SALES-RECORD.                            
    05  BROKER-REGION         PIC 9.         
    05  BROKER-CITY           PIC X(19).     
    05  BROKER-NAME           PIC X(20).                                    
    05 SALES-BROKER-TBL.                        
       10 BROKER-TBL-DATA        OCCURS 4 TIMES.
          15  FUND-NUMBER        PIC 9(2).      
          15  PRICE-FLAG         PIC 9.         
          15  DEPOSIT-AMT        PIC 9(5)V99.   

私が正しく理解していれば、ブローカーと4つのファンドはすべて同じレコード内で発生します。したがって、ここで行う必要があるのは、両方のレコードレイアウトを1つのレコードに結合することだけです。

ブローカーの地域、都市、名前には40バイトが必要であり、ブローカーテーブルの各行には10バイトが必要です。これらのうち4つは、Sales Broker Tableを構成し、さらに40バイトを必要とします。これを合わせると、レコードごとに合計80バイトになります。

于 2012-10-23T01:12:26.810 に答える