sorry dass ich das so sage jetzt aber die doku bringt mir nicht so viel da ich eher anfänger bin in oo. ich wollte einfach nur ein alv ausgeben nach eingabe auf selektionsmaske. wie man das im abap macht weiss ich aber ich würde es gern oo programmieren, weiss aber nicht genau wo ich zum beispiel die select anweisung in oo einbringe oder das layout des alv, eigentlich fehlt mir der komplette ansatz
kirmuh hat geschrieben:...eigentlich fehlt mir der komplette ansatz
Das ist ja mal eine ganz andere Aussage...
Generell gibt es immer mehrere Möglichkeiten objektorientiertes Coding in ein ABAP-Programm einzubunden.
In der Regel wird "normal" ABAP programmiert und die Zugriffe auf Controls erfolgen dann objektorientiert.
Du kannst natürlich auch den größten Teil objektorientiert aufbauen und auch alle Datenbeschaffungsroutinen in eine Klasse einbauen. In Report BCALV_GRID_09 ist es z.B. so gelöst, dass die Selektion "normal" erfolgt und dann die Anzeige objektorientiert dargestellt wird.
Da wäre es nun eigentlich auch für einen Anfänger leicht, eine Selektionsmaske zu definieren und die Selektion anzupassen.
hth
zuerst einmal danke für deine hilfe aber sorry ich glaub ich komm da nicht mit.
ich hab 2 tabellen, ich will einen selct über beide tabellen die ich normalerweise mit einem inner join verbinde .
wenn ich nun methoden hab, ich denke mal 2 da ich 2 tabellen habe, ruf ich die erste methode auf, dann die zweite woher weiss ich aber dass die positionsdaten von der vbap genau die sind die ich für die vbak brauche wenn ich keinen innerkoin habe oder kannst du mir vielleicht ein beispiel aufzeigen?
du kannst doch in deine Mehtode reinprogrammieren, was du willst.
Du gehst z.B. in die SE24 und legst eine Klasse an (ZTEST). Dann legst du hier eine Methode GET_DATA an, die eine bestimmte Übergabestruktur hat. in der Methode programmierst du dann alles, was du brauchst. Ob das nun ein Inner Join oder 86 Selects sind oder Berechnungen oder oder oder, ist der Methode bzw. dem Aurfufer ja egal.
Die Klasse musst du dann mit CREATE OBJECT instanziieren oder du definierst die Methode als "statisch", dann greifst du mit call method ztest=>get_data direkt auf die Datenbeschaffungsroutine zu. http://www.sap-press.de/katalog/buecher ... 3-CjmsJO40