Wie mache ich ein SELECT DISTINCT über eine SAP Infoset Query?
Beispiel: Mit Hilfe der Tabelle ITOB; wenn ich wählen EQUNR und ANLNR, bekomme ich mehrere Einträge (meist aufgrund der nicht eindeutigen ILOAN, TPLNR und DATBI records). Wie kann ich das gleiche:
select distinct equnr anlnr from itob into (itob-equnr, itob-anlnr)
where (some_wherclause).
Gibt es eine checkbox oder radiobutton irgendwo, dass ich bin fehlt, schaltet verschiedene Einträge nur?
ODER
In der CODE-Bereiche unter extras, welche Variablen muss ich die mir zur Verfügung? Wenn ich könnte, ich könnte löschen Sie die Duplikate, die es gibt. Ich habe versucht, den Zugriff auf %dtab ist, dass im erzeugten Programm, aber kein Glück.
Auch: Die Ironie der ein Programmierer Zeit zu verschwenden um ein Werkzeug, das angeblich NICHT brauchen, um einen Programmierer zu arbeiten, während Sie sagte, Programmierer könnte lösen das gleiche problem mit ABAP in alle 5 Minuten, ist nicht verloren auf mich.
InformationsquelleAutor Esti | 2010-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der CODE-Bereiche unter extras, welche Variablen muss ich die mir zur Verfügung?
Von dem, was ich sehen kann, nur die header-Zeilen der Selektion von Tabellen, definieren Sie in der join-Bedingung ist in der Codierung der Blöcke. I. E. wenn Sie die Auswahl von ITOB join ANLA, beide header-Zeilen ITOB-und ANLA zur Verfügung stehen. (Dies ist nur relevant in der DATENSATZ-VERARBEITUNG-block). Allerdings definieren Sie Ihre eigenen Variablen, die im DATEN-block.
, Wie der Zugriff auf die Daten gesetzt & einschränken der Datensätze nach der Auswahl:
Haftungsausschluss: Das fühlt sich sehr wie ein hack, funktioniert es nicht für alle Ausgabetypen, aber es zeigt, wie Sie Zugriff auf das Daten-set.
Im code-block die INITIALISIERUNG fügen Sie die folgende Anweisung:
Jeden Kommentar tun wird - all dies tut, ist zu zwingen, die Programm-generator zur Erzeugung der END-OF-SELECTION-block, die wir brauchen, um den Zugriff auf die Daten festgelegt.
Im code-block END-OF-AUSWAHL fügen Sie den folgenden:
%G00 ist der name der Variablen der Ergebnismenge in das erzeugte Programm (verwenden Sie [], um den Zugriff auf die Tabelle, nicht nur die Kopfzeile).
Die generierten Programm-Variablen stehen nicht in den Infoset, verwenden Sie die Feld-Symbole, um Zugriff auf alle Variablen. Wenn die variable nicht existiert, wird die überprüfung der Zuordnung keine Fehler zur Laufzeit.
Einschränkung: Beim ausführen der Abfrage in "ABAP-List-Modus" dieser code hat keine Wirkung, das ist, weil in diesem Fall die Liste ist geschrieben, wie die Daten ausgewählt wird, wird daher jede manipulation nach der Tat zu spät.
, Was ich am Ende tun:
Habe ich eine manuelle Verknüpfung der jeweiligen Tabellen in ITOB (EQUI->EQUZ->ILOA) und Links IFLOT und IFLOTX aus dem mix, das nur erforderlich, mir eine zusätzliche Einschränkung auf end-Datum. Ich denke, in den meisten Fällen ist es möglich, dekonstruieren die Daten auf ein Niveau, wo Sie können, vermeiden Sie Duplikate mit der entsprechenden WHERE-Klausel. Die Frage, wie ein SELECT DISTINCT, wenn Sie wirklich müssen, bleibt offen...
InformationsquelleAutor Esti