Error de sintaxis "campo ITAB desconocido" en APPEND wa TO itab

Estoy tratando de agregar un nuevo registro a mi tabla interna y este código me está dando un error, pero estoy haciendo exactamente lo mismo que en mi libro de SAP. ¿Qué estoy haciendo mal?

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.

En realidad, no sé qué método de adición de registros debo usar. Quiero decir que hay demasiadas formas de hacer esta operación. ¿Qué método será el verdadero?

Estoy recibiendo este error:

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

Además, puedo hacer esto con LOOP AT, pero no entendí el uso de LOOP AT. ¿Qué hace?

preguntado el 12 de junio de 12 a las 14:06

Aquí está la página en la Biblioteca SAP que explica LOOP AT: ayuda.sap.com/saphelp_nw70/helpdata/en/fc/… -

Además, no use palabras que no sean en inglés en su código, bilgileri y kaydi hacen que su código sea más difícil de mantener para quien lo mantenga algún día. -

2 Respuestas

En su ejemplo de código, primero definió PERSONEL_BILGILERI como herramienta de edición del TYPE, entonces PERSONEL_BILGI_TABLO_TIPI como mesa interna TYPE of PERSONEL_BILGILERI.

Hasta ese momento, todavía no se han declarado variables. Solo tipos de datos.

Entonces:

  • PERSONEL_BILGI_KAYDI se define de tipo PERSONEL_BILGILERI. Esta es una estructura que usas como área de trabajo (lo cual está bien).
  • PERSONEL_BILGI_TABLOSU se define de tipo PERSONEL_BILGI_TABLO_TIPI. Así que, PERSONEL_BILGI_TABLOSU es su tabla interna.

Cuando ANEXA su área de trabajo, debe agregarla a una tabla interna, no a un tipo de datos. prueba con PERSONEL_BILGI_TABLOSU en lugar de tu tipo PERSONEL_BILGI:

APPEND personel_bilgi_kaydi TO personel_bilgileri_tablosu.

Respondido el 12 de junio de 12 a las 15:06

Debe ANEXAR su WA (área de trabajo, personel_bilgi_kaydi) en su tabla (personel_bilgi_tablosu). No puede agregar el WA al tipo definido.

Entonces debería verse así:

APPEND personel_bilgi_kaydi TO personel_bilgi_tablosu.

También puede usar este código para mostrarlos en la página.

    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.

Puede usar otros métodos para mostrar su tabla en la página, como REUSE_ALV_GRID_DISPLAY. Puede obtener más información al respecto en scn.sap.com

Espero que haya sido útil.

Buena suerte con.

Talha

Respondido el 12 de junio de 12 a las 15:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.