Frage

Ich bin verwirrt, warum der Kommentar gesetzt Abfrage funktioniert nicht.


REPORT  z_hello_world_local.

TYPES:  BEGIN OF bkpf_type,
          xblnr          TYPE bkpf-xblnr,
        END OF bkpf_type.

DATA: t_bkpf                 TYPE TABLE OF bkpf_type.

FIELD-SYMBOLS:  <bkpf>        TYPE bkpf_type.


*This query does not work?
*SELECT xblnr
*      INTO CORRESPONDING FIELDS OF <bkpf> UP TO 1 ROWS
*      FROM bkpf
*      WHERE belnr = '1800001017'.
*    ENDSELECT.
*
DATA: t_xblnr TYPE bkpf-xblnr.

*This query works and in my head it is roughly the same thing.
SELECT SINGLE xblnr
      INTO t_xblnr
      FROM bkpf
      WHERE belnr = '1800001017'.


write 'Done'.

Wenn ich den Kommentar gesetzt Abfrage ausführen ich den Fehler:

  

Laufzeitfehler GETWA_NOT_ASSIGNED Datum und Uhrzeit
  2009.08.26 19.54.19

     

Kurztext        Feldsymbol ist noch nicht zugeordnet wurde.

Warum erhalte ich diesen Laufzeitfehler?

War es hilfreich?

Lösung

Ich gehe davon aus (bezogen auf die Fehler und die Teile des Codes, dass ich nicht wirklich sehen kann), dass Sie versuchen, Daten auszuwählen, direkt in ein Feldsymbol. Sie können das nicht tun. Ein Feldsymbol ist kein Speicherbereich, ist es (im Wesentlichen) ein Zeiger.

Sie können eine der folgenden tun:

data: wa_bkpf type bkpf_type.

select xblnr
  into corresponding fields of wa_bkpf
  up to 1 rows
  from bkpf
  where xblnr = '1800001017'.
endselect.

oder

field-symbols: <bkpf> type bkpf_type.
append initial line to t_bkpf assigning <bkpf>.
select xlbnr
  into corresponding fields <bkpf>
  up to 1 rows
  from bkpf
  where xblnr = '1800001017'.
endselect.

In diesem Fall Sie zeigt das Feldsymbol auf eine neue Linie, dass Sie in der internen Tabelle hinzugefügt haben.

oder

select xblnr
  into corresponding fields of table t_bkpf
  from bkpf
  where xlbnr = '1800001017'.

In diesem Fall wird abrufen Sie alle Dokumente, dass Spiel und Ort, um sie direkt in die interne Tabelle.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top