2011-02-06 10 views
1

私は初めてテーブルを使用しようとしていましたが、私は小さなものを打ちました。私はテーブルを作る方法を考え出しましたが、テーブルを検索する方法や、格納された情報を別のフィールドに移動する方法を理解することはできません。こちらの表は、次のとおりです。テーブルの検索(COBOL)

510-TABLE-SEARCH. 
     SEARCH TABLE-ENTRIES 
      WHEN SALESMAN-NUMBER (ROUTINE-CHECK) = ROUTINE-CHECK 
       PERFORM 520-WRITE-FILE 
      WHEN SALESMAN-NUMBER (ROUTINE-CHECK) = 0 
       CONTINUE 
     END-SEARCH. 

そして、これは私がデータを移動するために使用していますものです::

01 SALESMAN-TABLE. 
     05 TABLE-ENTRIES OCCURS 99 TIMES. 
      10 SALESMAN-NUMBER    PIC 99 VALUE ZEROS. 
      10 SALESMAN-NAME    PIC X(20) VALUE SPACES. 
    01 SALESMAN-COUNT      PIC 9(3) VALUE ZEROS. 

は、これは私がしようとすると、データを検索するために、これまでに得たものである

 SET DL-NAME-COLUMN TO SALESMAN-NAME 

ですが、SALESMAN-NAMEが英数字であっても、DL-NAME-COLUMNは数字である必要があります。私は何をすべきか?どんな助けもありがとう。

+0

チェック[この](http://www.pgrocer.net/Cis51/searchnt.html)。 –

答えて

3

あなたは、インデックス、テーブルのようなもの使用する必要があります彼らはポインタとして使用されているので、インデックスは常に数値で

510-TABLE-SEARCH. 
    SEARCH TABLE-ENTRIES 
     UNTIL SALESMAN-NUMBER (IND) = 0 
     WHEN SALESMAN-NUMBER (IND) = ROUTINE-CHECK 
      PERFORM 520-WRITE-FILE 
    END-SEARCH. 

表(彼らは含まれています。そして、あなたが検索動詞を使用することができます

05 TABLE-ENTRIES OCCURS 99 TIMES INDEXED BY IND-TABLE-ENTRIES. 

をメモリアドレス)。 SET動詞は、通常、テーブルインデックスを変更するために使用されます。さらに読書のための

0

使用

MOVE SALESMAN-NAME (IND) TO DL-NAME-COLUMN 

代わりの

SET DL-NAME-COLUMN TO SALESMAN-NAME 
関連する問題