Code: Alles auswählen.
SELECT * FROM ehswat_entam INTO TABLE wa_itab_taballe
FOR ALL ENTRIES IN itab
WHERE docno = itab-docno.
loop at wa_itab_taballe into wa_itab.
collect wa_itab into itab_collect.
endloop.
Code: Alles auswählen.
Data: itab_collect TYPE TABLE OF ehswat_entam
WITH UNIQUE KEY DOCNO.
Wenn die Werte, die Du bekommen hast, ein ganzzahliges Vielfaches der erwarteten Werte waren, könne das daran gelegan haben, dass Du für jeden Eintrag in der itab einmal das SELECT ... FOR ALL ENTRIES IN itab ... ausgeführt hast.spot hat geschrieben:Mein Problem ist das itab_collect nicht die richtigen werte hat. dort müßten ganz andere ergebnisse stehen.
Ich bin mir sehr sicher, dass das System mit dem Laufzeitfehler recht hat.spot hat geschrieben:Hi,
@Codemaster: Hab dein coding mal ausprobiert. funzt nich. ich krieg einen laufzeitfehler. Und der meint das Feld wäre zu klein. Was aber nicht stimmen kann.
Dass das SELECT in Deiner ersten Version jedes mal das gleiche Ergebnis ermittelt, ist doch klar (außer ein anderer Prozess ändert parallel zu Deinem die Daten in ehswat_entam), weil Du zwar innerhalb LOOP ... ENDLOOP selektierst, Dein SELECT aber völlig unabhängig von der gerade per LOOP prozessierten itab-Zeile ist.Ich hab aber gestern noch ein bißchen debuggt. Und der fehler passiert beim Select. er findet für jeden eintrag genau 510 kg.
Was heißt "die bleiben"?Wenn ich in der Select Schleife mir ankucke was in itab geschrieben wird, für eantam, dann kommen immer die selben werte. Zuerst eine 20 dann eine 5,2 und dann stehen 510 drin und die bleiben.
Hilfreich wäre, wenn Du mal die Definition der itab und der wa posten könntest, die Doku zu SELECT ... FOR ALL ENTRIES liest und postest, was Dir an der Doku unklar ist.Keine ahnung ob das hilfreich war.
Damit hat entnanr (implizit) die Länge 1. Reicht das?.spot hat geschrieben:Code: Alles auswählen.
types: begin of test, entnanr type c, "Entsorgungsnachweisnr eaintam type ehswat_entam-EAINTAM, "menge,
Daran, dass Duplikate aus der Ergebnismenge entfernt werden und von mehrfachen Einträgen mit gleicher Menge jeweils nur einer übrig bleibt, liegt es nicht?@Codemaster: Dein Code geht mit dem Select, habs einfach in ein falsches Feld geschrieben :). Aber wenn ich nachher die Tabelle ausgebe ist sie bis auf 2 einträge leer. In dem einen steht 20 kg drin und in dem anderen 0. Es sollte naber 11 Einträge sein.