hola, ich bin anfaenger und schon bitten sie mich um einen schwierigen ALV.
aufgabe ist:
vereinbaren Sie einen bericht ALV wo die buchführung die folgenden auswahlkriterien zeigen
1. por sociedad - aktenzeichen - bukrs
2. realizados entre un rango de fechas - gemacht zwischen einem datumsbereich - bkpf-budat
3. para la cuenta - konto 311211 - bseg-saknr
das format des berichts sollte die folgenden spalten enthalten
das ergebnis des berichts (dh die summe der werte) müssen gleich sein den wert, der transaktion eines bestimmten kontos in saknr.
und hier ist das problem: wie zeige ich alle spalten fuer dieses eine konto an? saknr gibt es nur in der tabelle bseg, brauche aber auch spalten von der tabelle bkpf..widerum die selektion datum-budat gibt es nur in der tabelle bkpf. und da ist noch mein parameter..bukrs..
ich nehme an, das ich aus allen tabellen nun eine machen muss, oder?
dieser grosse teil fehlt mir noch in meinem programm..
Ich poste bewusst mal keine Lösung sondern, wie man an eine solche Sache herangeht:
Herausfinden WIE die Tabellen zueinander in Beziehung stehen (Fremdschlüssel)
Sind alle Tabellen sog. transparente Tabellen, kann man die Daten mittels JOIN in einem einzigen SELECT-Statement ermitteln.
Sofern dieser Zugriff inperformant ist oder eine der Tabellen ein Cluster ist, muss man die Daten je Tabelle einlesen und im Programm vereinigen. Dazu ist der Zusatz FOR ALL ENTRIES beim SELECT interessant.
Für die Anzeige empfehle ich, die Struktur im Programm statisch (TYPES BEGIN OF) zu definieren und die Ausgabe mittels SALV zu realisieren. Da muss man sich nicht mit der Erstellung des sog. Feldkataloges herumschlagen. Vorallem bei einem Datenextract mehrerer Tabellen ist das von Vorteil.
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
die von Dir beschriebene Aufgabenstellung ist im ABAP eher die Regel als die Ausnahme. Es wird in den meissten Fällen so sein, dass die Daten sich über mehrere Tabellen verteilen und dann im Programm zusammengeführt werden müssten. ADT war mit der Antwort schneller, ich hätte aber auch geantwortet, dass Du dir zuerst einen Überblick darüber verschaffen musst, über welche Schlüssel die Tabellen zusammenhängen. Die anschliessenden Möglichkeiten Daten zusammenzuführen wurden ja auch schon aufgezählt, dazu noch eine kleine Anmerkung: den angesprochenen SALV gibt es erst ab einem gewissen Release-Stand (Netweaver 04). Je nachdem mit welchem System du arbeitest steht er dir eventuell nicht zur Verfügung. In diesem Fall tut es natürlich auch eine andere ALV-Alternative.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.