Blutiger Anfänger braucht Hilfe

Getting started ... Alles für einen gelungenen Start.
28 Beiträge • Seite 1 von 2 (current) Nächste
28 Beiträge Seite 1 von 2 (current) Nächste

Blutiger Anfänger braucht Hilfe

Beitrag von Fian (ForumUser / 19 / 0 / 0 ) »
HI,

ich habe erst vor kurzem angefangen mich mit ABAP zu beschäftigen. Und schon stoße ich auf ein minderschweres Problem (okay für mich ein großes Problem)

Hier meine Lage:

Ich lade mit Hilfe des Selectbefehls dir Daten aus eine Datenbanktabelle in eine interne tabelle. und die gebe ich dann mit diese Call Function 'Reuse_Alv_grid_Display' aus.

Soweit so gut.

Jetzt brauch ich aber nur bestimmte Spalten von der Tabelle. Wie kann ich dies einschrenken?

Bin jeder HIlfe dankbat.

danke
mfg
Fian
Allen, die durch das Buch ABAP - grundkurs durchgekommen sind, gebührt mein respekt.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von reinhold_j (ForumUser / 29 / 0 / 0 ) »
Hallo Fian,
bau dir eine DDIC Struktur die lediglich die Felder bzw. Spalten beinhaltet die du benötigst.
Den Namen der Struktur übergibst du dann an den Parameter i_structure_name des Funktionsbausteins.
Deine Ausgabetabelle muss meines Wissens nach dann aber auch diese Struktur haben. (übergib die Daten von deiner int. Tabelle mit allen Daten / Spalten an eine zweite int. Tabelle die der DDIC Stuktur entspricht und übergib dann Tabelle 2 an den Fuba)

Ich hoffe das beantwortet deine Frage!?

Gruß
Josi

Beitrag von airwaver (Specialist / 134 / 0 / 1 ) »
du könntest auch deine itab einfach nur mit den geünschten felder definieren und dann beim select mit "into correspondig fields of table..." nur diese daten füllen lassen.

dann musst du allerdings einen eigenen feldkatalog aufbauen, dem du dann namen für die tabellenfelder geben kannst. wenn du den nicht aufbaust, dann werden die tabellenfeldnamen genommen.

achja und gleich vorweg: sauberer wäre es, wenn du nicht den REUSE-baustein nimmst, sondern die alv-klasse. aber kommt zeit, kommt rat! :lol:

Beitrag von GastX (Specialist / 277 / 4 / 18 ) »
Wenn Du nach den Hinweisen von reinhold_j trotz des Postings von airwaver :wink: tiefer in die Thematik "REUSE_ALV..." einsteigen willst, findest Du im Forum "Tutorials and Cookbooks" hilfreiches von Azreal, genauer gesagt hier:
http://www.abapforum.com/forum/viewtopic.php?t=1544

Beitrag von Fian (ForumUser / 19 / 0 / 0 ) »
HI,

danke für die zahlreichen Antworten.


@reinholdj:
Eine DDIC-Struktur :?: definiere ich damit nicht ne komplette neue Datenbanktabelle? geht das nicht auch irgendwie mit internen tabellen?
PS: FuBA? BIs jetzt steht alles bei mir in einem Programm.

@airwaver:
vielleicht ist es unsauber, aber um ehrlcih zu sein bin ich doch schon recht froh das ich das Reuse_ALV halbwegs verstanden habe und zumindest wenn ich alles auslesen lassen zum laufen gekriegt habe. trotzdem Danke, wenn ich mal richtig in der Materie stecke werde ich mich auch mit der objektorientierung auseinandersetzten.

@GastX
danke für den HInweis. Ich bin schon fleißig am durchlesen.


Mit freundlichem Gruß und einem Lächeln

FIAN
Allen, die durch das Buch ABAP - grundkurs durchgekommen sind, gebührt mein respekt.

Beitrag von Fian (ForumUser / 19 / 0 / 0 ) »
Ich nochmal.

GIbts es eine Variante, wo man dem layout oder REUSe wem auch immer sagen kann. Nur die Spalten zeigen bei denen auch was drinnen steht?

Das wäre dann nämlich sicher einfacher und für zukünftige Änderungen schneller anpassbar?
Das wäre wahrscheinlich aber wieder zu einfach oder? :cry:

Gruß
Anja
Allen, die durch das Buch ABAP - grundkurs durchgekommen sind, gebührt mein respekt.

Beitrag von reinhold_j (ForumUser / 29 / 0 / 0 ) »
Hallo Anja,

@reinholdj:
Eine DDIC-Struktur definiere ich damit nicht ne komplette neue Datenbanktabelle? geht das nicht auch irgendwie mit internen tabellen?
PS: FuBA? BIs jetzt steht alles bei mir in einem Programm.

mit einer DDIC-Struktur definierst du eine Struktur (die genau die Spalten enthält die du nur willst), welche du dann in deinem Programm einer internen Tabelle zuweist.

Data gt_alvitab2 type table of <named-ddic-struktur>.

dieser gt_alvitab2 übergibst du dann deine Daten aus der "alten" (alle Spalten enthaltenden) alvitab1.
Dem REUSE_ALV_GRID_DISPLAY Funktionsbaustein übergibst du bei den Parametern i_structure_name = <named-ddic-struktur> und t_outtab = gt_alvitab2

Wenn du zukünftig dann was ändern / hinzufügen willst, musst du lediglich die DDIC-Struktur erweiter bzw. anpassen.

Ist sicher nicht die elegantestes Lösung - sollte aber funktionieren.

Gruß
Josi

Beitrag von Fian (ForumUser / 19 / 0 / 0 ) »
HI Josi,

also ich habe jetzt die Struktur angelegt. und die datenbanktabelle in die erste Interne Tabelle mit dem Select Befehl gelesen.

So und jetzt diese wiederrum in die zweite interne Tabelle gelesen die als Type die Struktur hat.

UNd diese auslesenden Dinge verändert.

Allerdings ist der BIldschirm wenn ich das jetzt ausführe leer.

Woran kann das liegen?
Muss was mit der Struktur gemacht werden, außer die KOmponenten einzufügen?

bearbeitet:

Danke scheint inzwischen zu funktionieren.! Juhu! Danke noch mal für den Tipp.

Und da du dich so gut auskannst noch eine Frage?
Ich habe jetzt einfach so mal probiert noch Felder aus einer anderen Tabellen mit in diese neugebaute Struktur einzubauen, allerdings, gibt er dann nur ne Zwischenzeile aus und auch keine richtigen Daten.

Kann man mit solchen Strukturen überhaupt felder aus 2 verschiedenen Tabellen kombinieren?

Danke

Gruß
Fian
Allen, die durch das Buch ABAP - grundkurs durchgekommen sind, gebührt mein respekt.

Beitrag von reinhold_j (ForumUser / 29 / 0 / 0 ) »
Hallo Fian,
wie hast du denn die Felder "eingebaut"?

Wenn ich dich richtig verstehe, soll deine ALV Ausgabe z.B: so aussehen:

Tab1-feld1 Tab1-feld2 tab2-feld1 tab2-feld2

Haben diese Tabellen überhaupt einen oder mehrer gemeinsame Schlüsselfelder?

Gruß Josi

Beitrag von Fian (ForumUser / 19 / 0 / 0 ) »
HI,

erstmal Sorry, das ich solange gewartet habe um zu antworten. Ich musst die Arbeit erstmal zurückstellen um etwas anderes zu erledigen.

Nun mein Erklärungsversuch:

also ich hab die Felder aus Tab 1 eingelesen. soweit funktioniert es ohne Probleme.

Jetzt aber, würde ich gerne das aus einen dieser Felder (festgelegt) die Nummer genommen wird und mit dieser in der anderen Tabelle gesucht wird, so dass dann im der ausgegebenen Tabelle die werte aus der Tab1 und die dazugehörigen Werte aus Tab2 ausgegeben wird.

Ist das realisierbar? Wenn ja wie?

(Hoffe das ich mich jetzt verständlich ausgedrückt habe)


Danke!

Gruß
Fian
Allen, die durch das Buch ABAP - grundkurs durchgekommen sind, gebührt mein respekt.

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Fian hat geschrieben:Jetzt aber, würde ich gerne das aus einen dieser Felder (festgelegt) die Nummer genommen wird und mit dieser in der anderen Tabelle gesucht wird, so dass dann im der ausgegebenen Tabelle die werte aus der Tab1 und die dazugehörigen Werte aus Tab2 ausgegeben wird.
Ich glaube, es ist am einfachsten, wenn du mal die Namen der beiden Tabellen nennst und welche Felder du brauchst. Dann ist es wirklich ganz einfach


Ralf *wenn ich das gelernt habe, lernst du das auch
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von Fian (ForumUser / 19 / 0 / 0 ) »
HI,

okay.

Die tabellen heißen VDARL und but000.

Die Tabell VDARL ist die erste. aus der werden in meine interne Tabelle: Vertragsnummer(Suchbegriff), GP-Nr, Währung und ZUsagekapital gelesen.

Da ich so eine GP-Nr. etwas unsagend finde, würde ich jetzte gerne mit den GP-Nr. in der Tabelle but000 suchen gehen und dort das feld: Name (des GEschäftspartner) auslesen, und mit in meine Ausgabestruktur schreiben.

ISt das machbar?

Danke

Gruß
Fian
Allen, die durch das Buch ABAP - grundkurs durchgekommen sind, gebührt mein respekt.

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Fian hat geschrieben:Die tabellen heißen VDARL und but000.

Die Tabell VDARL ist die erste. aus der werden in meine interne Tabelle: Vertragsnummer(Suchbegriff), GP-Nr, Währung und ZUsagekapital gelesen.
Ohne eine der beiden Tabellen zu kennen:

Code: Alles auswählen.

select a~ranl a~RDARNEHM a~SANTWHR a~BZUSAGE b~name_last
from vdarl as a
inner join but000 as b
on a~ranl = b~partner
into corresponding fields of table...
where .....

Sollte klappen. Den Namen deiner itab (also dem Selektionsziel) und die WHERE-Bedingung musst du noch hinzufügen.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von Fian (ForumUser / 19 / 0 / 0 ) »

Code: Alles auswählen.

select a~ranl a~RDARNEHM a~SANTWHR a~BZUSAGE b~name_last 
from vdarl as a 
inner join but000 as b 
on a~ranl = b~partner 
Was bedeutet denn das a~?


gruß
Fian
Allen, die durch das Buch ABAP - grundkurs durchgekommen sind, gebührt mein respekt.

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Fian hat geschrieben:

Code: Alles auswählen.

select a~ranl a~RDARNEHM a~SANTWHR a~BZUSAGE b~name_last 
from vdarl as a 
inner join but000 as b 
on a~ranl = b~partner 
Was bedeutet denn das a~?


gruß
Fian
Das "a" i´st der Aliasname deiner ersten Tabelle (siehe am wort "AS").
Das "~" ist ein Verbindungstück, damit der SQL weis, das du dieses Feld von dieser Tabelle meinst (Eindeutigkeit wird dadurch erzeugt).

Vergleichbare Themen

18
Antw.
8365
Views
Hilfe-Gehaltvorstellung-Anfänger
von Gehaltvorstellung » 05.09.2012 13:45 • Verfasst in ABAP® für Anfänger
25
Antw.
11874
Views
Brauche HIlfe beim Coding :( Anfänger....
von Trulchen » 03.09.2012 15:50 • Verfasst in ABAP Objects®
2
Antw.
19105
Views
FS-CD was ist das und was braucht man hier für?
von FS_CD » 15.08.2008 20:11 • Verfasst in SAP - Allgemeines
6
Antw.
5529
Views
braucht man immer occurs
von bohne » 22.02.2006 12:05 • Verfasst in ABAP® für Anfänger
2
Antw.
1694
Views
SAP Zertifikate Datensicherheit - welches braucht man?
von Timoniac » 07.11.2017 11:29 • Verfasst in SAP - Allgemeines

Aktuelle Forenbeiträge

Regex in where
vor 7 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 20 Stunden von Bright4.5 3 / 1487

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 7 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 20 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822