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内部表TYPEPERSONEL_BILGILERI

到目前为止,还没有声明任何变量。只有数据类型。

然后:

  • PERSONEL_BILGI_KAYDI被定义为类型PERSONEL_BILGILERI。这是您用作工作区的结构(很好)。
  • PERSONEL_BILGI_TABLOSU被定义为类型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 回答