Report für Logische Datenbank (Über mehrere Tabellen)

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Report für Logische Datenbank (Über mehrere Tabellen)

Beitrag von franz-ho (ForumUser / 5 / 0 / 0 ) »
Hallo, ich stehe etwas auf dem Schlauch und bräuchte schnell Hilfe.

Ich muss für eine Hausübung folgende Aufgabe lösen.
Gegeben ist eine Logische Datenbank

Auftrag(A_Nr, Datum)
Auftragspos(A_Nr, Artikel_Nr, Menge)
Artikel(Artikel_Nr, Benennung, Preis)


Und folgender Codeausschnitt:

TABLES: auftrag, auftragspos, artikel.

FORM PUT_Auftrag.
SELECT * FROM auftrag INTO auftrag.
PUT auftrag.
ENDSELECT. ENDFORM.

FORM PUT_auftragspos.
SELECT * FROM auftragspos INTO auftragspos
WHERE A_Nr = auftrag-A_Nr.
PUT auftragspos.
ENDSELECT. ENDFORM.

FORM PUT_artikel.
SELECT * FROM artikel INTO artikel
WHERE artikel_Nr = auftragspos-artikel_Nr.
PUT artikel.
ENDSELECT. ENDFORM.


Wir sollen nun folgenden eine Aufgabe erschaffen, die drei Spalten besitzt.
Zum einen sollen alle Auftragsnummern untereinander ausgegeben werden. Außerdem das Datum des Auftrags und die Auftragssumme, die sich durch Menge und Preis ergibt.
Anschließend noch mit einer Gesamtsumme für allte Aufträge.


Ich habe leider keine wirkliche Ahnung wie das geht. Habe bereits viel in Literatur nach Bearbeitung von LOG-DB's gelesen, aber ich blicke einfach nicht durch.

Ich habe mal einen ganz primitiven Anfang gestartet, aber ich gehe davon aus, dass es falsch ist. Ich verstehe einfach nicht, wie ich berücksichtige, dass ja zB der Preis von mehreren Tabellen abhängig ist.

Ihr würdet mir riesig helfen!


Hier mein Versuch:

REPORT xxx.

Nodes: auftrag, auftragspos, artikel

DATA: gesamtsumTYPE p DECIMALS 2,
auftragssum TYPE p DECIMALS 2.

START-OF-SELECTION.
WRITE: / ‚Auftrags-NR‘, ‚Auftragsdatum‘, ‚Auftragssumme‘.
ULINE.
GET auftrag.
WRITE: / auftrag-a_Nr UNDER ‚Auftrags-Nr.
GET auftragspos.
WRITE: / auftragspos-Datum UNDER ‚Auftrags-Datum‘.
GET Artikel.
auftragssumme = austragspos-menge * artikel-preis.
WRITE: / auftragssum UNDER ‚Auftragssumme‘.
gesamtsum = gesamtsum + auftragssum.
ULINE.
WRITE: / ‚Gesammtsumme‘, gesamtsum.

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



Re: Report für Logische Datenbank (Über mehrere Tabellen)

Beitrag von franz-ho (ForumUser / 5 / 0 / 0 ) »
Danke, das hilft mir schon mal zwecks Gesamtangaben. Und mein anderes Problem bzgl. der Zusammenrechnung in Abhängigkeit von Attributen, die in verschieden Tabellen stehen?

LG

Re: Report für Logische Datenbank (Über mehrere Tabellen)

Beitrag von franz-ho (ForumUser / 5 / 0 / 0 ) »
Ich habe mal eine Änderung vorgenommen, aber wie man sieht, ist es immer noch lange nicht richtig.
Ich finde, dass auf diesen ganzen Seiten, alles nur so schwer erklärt wird und man gar nicht wirklich versteht, wofür was da ist.

Kann bitte noch Jemand helfen?



REPORT xxx.

Nodes: auftrag, auftragspos, artikel

DATA: gesamtsumTYPE p DECIMALS 2,
auftragssum TYPE p DECIMALS 2.

START-OF-SELECTION.

WRITE: / ‚Auftrags-NR‘, ‚Auftragsdatum‘, ‚Auftragssumme‘.
ULINE.
GET auftrag.
WRITE: / auftrag-a_Nr UNDER ‚Auftrags-Nr.

GET auftragspos.
WRITE: / auftragspos-Datum UNDER ‚Auftrags-Datum‘. ** Das stimmt nicht oder??*

GET Artikel.
preis = preis + artikel-preis

GET auftrag LATE.
auftragssumme = preis.
WRITE: / auftragssum UNDER ‚Auftragssumme‘.
gesamtsum = gesamtsum + auftragssum.
ULINE.


WRITE: / ‚Gesammtsumme‘, gesamtsum. ** Das stimmt nicht.

Re: Report für Logische Datenbank (Über mehrere Tabellen)

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo,

ab
Start-of-selection.
clear: gesamtsum.
*
GET auftrag.

clear: auftragssumme.
WRITE: / auftrag-a_Nr.
*
GET auftragspos.
WRITE: / auftragspos-Datum.
*
GET Artikel.
auftragssumme = auftragssumme + ( artikel-preis * artikel-menge ).
*
GET auftrag LATE.

WRITE: / ' Auftragssumme: ', auftragssumme .
gesamtsum = gesamtsum + auftragssumme.
uline.
*
End-of-selection.

WRITE: / ‚Gesammtsumme‘, gesamtsum
uline.

Die Kosmetik fürs Drucken habe ich nicht berücksichtigt.
Gruß
Wolfgang

Re: Report für Logische Datenbank (Über mehrere Tabellen)

Beitrag von franz-ho (ForumUser / 5 / 0 / 0 ) »
Danke! Ich gehe das mal durch und versuche es zu beschreiben.

Also bei GET auftrag und auftragspos kann einfach das attribut verwendet werden.
Warum kann man einfach auftragspos-Datum nutzen?
Ich gehe davon aus, weil es ganz oben in der Abfrage WHERE A_Nr = auftrag-A_Nr.
Mit der auftragstabelle verbunden wurde? Aber wieso wurde zwei Zeilen oben drüber nur die auftragspos. tabelle angesprochen und nicht auch die von auftrag?

Den Teil bei Get Artikel. verstehe ich ebenso.

Allerdings ist mir der letzte Teil immernoch nicht ganz klar. Woran sehe ich, wie lange das durchläuft? Weil im Prinzip, verhält sich das doch ähnlich einer Schleife oder? Ich habe nur bisher nie verstanden, wie man das Prinzip an Hand einer Schleife ausdrücken könnte.

Wann tritt Get auftrag LATE immer ein?


Ganz unten die Gesamtsumme erschließt sich mir wieder :)


Vielen Dank schon mal!

Re: Report für Logische Datenbank (Über mehrere Tabellen)

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo,

ja das ganze läuft in eriner Schleife:

-> Auftrag 4711

--> Auftragspos 10

---> Artikel 1
---> Artikel 2

--> AuftragsPOS 20

---> Artikel 33

-> Auftrag 4711 LATE
-> Auftrag 4733 ... usw

Es wird der Auftragskopf gelesen dazu die Auftragsposition dazu die Artikel und das ganze immer in einer Schleife.
GET LATE wird bei neuem Auftragskopf oder beim Ende der Daten prozessiert.

Gruß
Wolfgang

Seite 1 von 1

Vergleichbare Themen

0
Antw.
922
Views
Logische Datenbank - Wurzelknoten
von littleJohn » 26.05.2008 15:55 • Verfasst in ABAP® Core
3
Antw.
1847
Views
Logische Datenbank|Sel-option|
von Bajdu » 08.08.2006 15:09 • Verfasst in ABAP® Core
25
Antw.
5230
Views
Logische Datenbank: Selektieren mit Loop
von HansPeter » 18.01.2019 13:25 • Verfasst in ABAP® für Anfänger
6
Antw.
3790
Views
Logische Datenbank / Select Options
von Prego » 28.06.2007 08:59 • Verfasst in ABAP® Core
0
Antw.
1105
Views
Logische Datenbank ( GLG ) anpassen mit neuer Tabelle
von Kleenmex » 06.03.2007 09:00 • Verfasst in Financials

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141