0

内部テーブルに新しいレコードを追加しようとすると、このコードでエラーが発生しますが、SAP ブックとまったく同じことを行っています。私は何を間違っていますか?

TYPES : BEGIN OF personel_bilgileri,
  Ad TYPE c LENGTH 20,
  Soyad TYPE c LENGTH 20,
  Telefon_no Type n LENGTH 12,
  END OF personel_bilgileri.

TYPES personel_bilgi_tablo_tipi TYPE STANDARD TABLE OF
personel_bilgileri WITH NON-UNIQUE KEY ad soyad.

DATA : personel_bilgi_kaydi TYPE personel_bilgileri,
       personel_bilgi_tablosu TYPE personel_bilgi_tablo_tipi.

personel_bilgi_kaydi-ad = 'Murat'.
personel_bilgi_kaydi-soyad = 'Sahin'.
personel_bilgi_kaydi-telefon_no = '5556677'.

APPEND personel_bilgi_kaydi TO personel_bilgileri.

personel_bilgi_kaydi-ad  = 'Ayse'.
personel_bilgi_kaydi-soyad = 'Bil'.
personel_bilgi_kaydi-telefon_no = '5556611'.

APPEND personel_bilgi_kaydi TO personel_bilgileri.

personel_bilgi_kaydi-ad = 'Mehmet'.
personel_bilgi_kaydi-soyad = 'Kalan'.
personel_bilgi_kaydi-telefon_no = '5556622'.

APPEND personel_bilgi_kaydi TO personel_bilgileri.

実際、どの追加レコード方法を使用すればよいかわかりません。つまり、この操作を行う方法が多すぎます。どの方法が真の方法になりますか?

このエラーが発生しています:

The field Personel_bilgileri is unknown, but there are following fields similar names...

また、LOOP AT でこれを行うことができますが、LOOP AT の使い方がわかりませんでした。それは何をするためのものか?

4

2 に答える 2

4

コード サンプルでは、​​最初に として定義PERSONEL_BILGILERITYPE、次にPERSONEL_BILGI_TABLO_TIPIの内部テーブルとしてTYPE定義しましたPERSONEL_BILGILERI

その時点まで、変数はまだ宣言されていません。データ型のみ。

それで:

  • PERSONEL_BILGI_KAYDIは type で定義されていPERSONEL_BILGILERIます。これは、作業領域として使用する構造です (これで問題ありません)。
  • PERSONEL_BILGI_TABLOSUは type で定義されていPERSONEL_BILGI_TABLO_TIPIます。内部PERSONEL_BILGI_TABLOSUテーブルも同様です。

作業領域を追加するときは、データ型ではなく、内部テーブルに追加する必要があります。PERSONEL_BILGI_TABLOSUあなたのタイプの代わりに試してみてくださいPERSONEL_BILGI

APPEND personel_bilgi_kaydi TO personel_bilgileri_tablosu.
于 2012-06-12T14:09:18.387 に答える
1

WA(workarea, personel_bilgi_kaydi) をテーブル (personel_bilgi_tablosu) に追加する必要があります。定義された型に WA を追加することはできません。

したがって、次のようになります。

APPEND personel_bilgi_kaydi TO personel_bilgi_tablosu.

また、このコードを使用してページに表示することもできます。

    LOOP AT personel_bilgi_tablosu into personel_bilgi_kaydi.

       write: / 'İSİM: ' ,personel_bilgi_kaydi-ad,
             'SOYİSİM: ',personel_bilgi_kaydi-soyad,
              'TEL NO: ', personel_bilgi_kaydi-telefon_no.

    ENDLOOP.

REUSE_ALV_GRID_DISPLAY など、他の方法を使用してページにテーブルを表示できます。詳細については、scn.sap.com を参照してください。

お役に立てば幸いです。

コライゲルシン。

タルハ

于 2012-06-12T14:11:17.387 に答える