Karriere bei Rheinmetall
Willkommen Gast! Um alle Funktionen zu aktivieren müssen Sie sich Anmelden oder Registrieren.

Mitteilung

Icon
Error

Optionen
Gehe zum aktuellsten Beitrag Gehe zum letzten Ungelesenen
Offline DekiTrav  
#1 Geschrieben : Donnerstag, 6. Februar 2020 05:52:42(UTC)
DekiTrav

Beiträge: 18
Austria
Wohnort: Wien
Liebe Community,

ich habe zwei Tabellen (MCHB und MBEW, left outer join) und möchte den Lagerstand pro Lager mit dem dazugehörigem Wert ermitteln.

Problem:
In der Tabelle MCHB sind alle Materialien gepflegt und aus dieser Tabelle bekomme ich den Lagerstand, in der Tabelle MBEW sind nicht alle Materialien gepflegt (z.B. Fremdmaterial) und deswegen zeigt mir die Query beim ausführen keinen Lagerstand an obwohl ein Lagerstand vorhanden ist.
Wie bekomme ich es hin, dass die Query mir auch den Lagerstand von den Materialien anzeigt die nicht in der MBEW Tabelle gepflegt sind?

Schöne Grüße
DekiTRav
Jobangebote

Nehmen Sie an dieser Diskussion teil! SAP FORUM - SAP Community LoginHier registrieren.

Offline Johannes Gerbershagen  
#2 Geschrieben : Donnerstag, 6. Februar 2020 15:16:14(UTC)
Johannes Gerbershagen

Beiträge: 9
Germany
Wohnort: Ulm
Mit einem LEFT OUTER JOIN. Auf der linken Seite steht die Tabelle MCHB und auf der rechten Seite die Tabelle MBEW. Der LEFT OUTER JOIN erhält dann alle Datensätze aus der Tabelle MBEW. Wichtig ist dabei zu beachten, dass die Query keine Felder der Tabelle MBEW einschränkt. Sonst erfüllt der LEFT OUTER JOIN seinen Zweck nicht.
Offline DekiTrav  
#3 Geschrieben : Freitag, 7. Februar 2020 05:54:14(UTC)
DekiTrav

Beiträge: 18
Austria
Wohnort: Wien
Hallo Johannes,

danke für die Rückmeldung!

Wie kann ich noch im Infoset ein Zusatzfeld (GESAMTBESTAND) mit drei Feldern über die Charge 9, 7 und 5 mit einem Code summieren?

Ich bin kein ABAP Entwickler und bräuchte schon ein genaues Coding!

Es geht um die Tabelle MCHB und die Felder CLABS, CEINM und CSPEM müssen über die Chargen 9, 7 und 5 in das Feld GESAMTBESTAND summiert werden?

Danke im Voraus für die Antwort!

Schöne Grüße
DekiTrav
Offline Johannes Gerbershagen  
#4 Geschrieben : Freitag, 7. Februar 2020 11:06:15(UTC)
Johannes Gerbershagen

Beiträge: 9
Germany
Wohnort: Ulm
Das Infoset kann um ein weiteres Feld erweitert werden. Dieses wird nur für die Chargen 9,7 und 5 mit der Summe aus CLABS, CEINM und CSPEM gefüllt. Dieses Zusatzfeld kannst du dann in der Query summieren.
Coding für das Zusatzfeld könnte wie folgt aussehen:

CLEAR gesamtbestand.
IF mcha-charg = '9' OR mcha-charg = '7' OR mcha-charg = '5'.
gesamtbestand = mchb-clabs + mchb-ceinm + mchb-cspem.
ENDIF.

Apropos kein Entwickler:
Grundkenntnisse in ABAP und OpenSQL schaden auch bei Entwicklung von Queries nicht. Ich würde sie mir an deiner Stelle aneignen. Wer OpenSQL verstanden hat, dem fällt auch die Queryentwicklung einfacher.
Offline DekiTrav  
#5 Geschrieben : Montag, 10. Februar 2020 06:36:38(UTC)
DekiTrav

Beiträge: 18
Austria
Wohnort: Wien
Danke für die Antwort! Aber leider bekomme ich immer noch die falschen Werte, die Materialien die nicht in MBEW sind werden auch nicht gezählt, was falsch ist.

Gibt es eine andere Möglichkeit nur die Werte aus MCHB zu bekommen?

Danke vorab für die Antworten!

Offline Johannes Gerbershagen  
#6 Geschrieben : Montag, 10. Februar 2020 08:21:50(UTC)
Johannes Gerbershagen

Beiträge: 9
Germany
Wohnort: Ulm
Schränkst du Felder aus der Tabelle MBEW im Selektionsbild ein?
Dann kommen die Datensätze, die in der Tabelle MCHB aber nicht in der Tabelle MBEW vorhanden sind, nicht, auch wenn ein MCHB LEFT OUTER JOIN MBEW gewählt wird.

Eine weitere Möglichkeit wäre die Tabelle MBEW aus dem JOIN herauszunehmen und als Zusatztabelle hinzuzufügen.

Offline DekiTrav  
#7 Geschrieben : Montag, 10. Februar 2020 10:02:28(UTC)
DekiTrav

Beiträge: 18
Austria
Wohnort: Wien
Danke, dass mit der Zusatztabelle hat funktioniert!

Jetzt benötige ich ein Feld mit Gesamtwert, dass sich wie folgend berechnet:

Gesamtwert = (mchb-clabs + mchb-ceinm + mchb-cspem) * mbew_verpr

mit der Bedingung, dass nur mit Bewertungsart = 9 (mbew-bwtar) gerechnet wird.
Offline wreichelt  
#8 Geschrieben : Montag, 10. Februar 2020 11:22:57(UTC)
wreichelt

Beiträge: 2,056
Hallo,

ein Beispiel

http://www.bb1.gate2app....2&t=5415&p=15589

Gruß Wolfgang
Offline wreichelt  
#9 Geschrieben : Montag, 10. Februar 2020 11:25:08(UTC)
wreichelt

Beiträge: 2,056
Offline DekiTrav  
#10 Geschrieben : Montag, 10. Februar 2020 14:52:28(UTC)
DekiTrav

Beiträge: 18
Austria
Wohnort: Wien
Im Infoset habe ich folgenden Code geschrieben:

clear gesamtwert.
if mbew-bwtar = '9'.
gesamtwert = ( mchb-clabs + mchb-ceinm + mchb-cspem ) * mbew-verpr.
endif.

Das Problem ist, dass manche Materialien eine Preiseinheit (mbew-peinh) von z.B. 100 St. haben und durch das Coding werden alle Stück mit dem Preis gerechnet!

Beispiel:
200 Stück im Lager
10€/100St. Preiseinheit

Sollte einen Wert von 20 € ergeben aber die Query gibt 2000 € als Ergebnis aus!
Wie bekomme ich auch hier die richtigen Werte?
Offline wreichelt  
#11 Geschrieben : Montag, 10. Februar 2020 15:51:08(UTC)
wreichelt

Beiträge: 2,056
Hallo,

die Preiseinheit abfragen und dann den Gesamtwert / 100.


Gruß Wolfgang
Offline DekiTrav  
#12 Geschrieben : Dienstag, 11. Februar 2020 05:10:35(UTC)
DekiTrav

Beiträge: 18
Austria
Wohnort: Wien
Und wenn die Preiseinheit z.B. 100€/10St, 50€/100St, 1€/100St usw., dann muss ich alles einzeln ausrechnen und das kann auch nicht die Lösung sein.
Rechnen kann ich aber nicht ABAP programmieren.

Bearbeitet vom Benutzer Dienstag, 11. Februar 2020 05:15:03(UTC)  | Grund: Nicht angegeben

Offline wreichelt  
#13 Geschrieben : Dienstag, 11. Februar 2020 06:02:12(UTC)
wreichelt

Beiträge: 2,056
Hallo,

ergänze doch die Rechenformel mit

mbew-bwtar = '9'.
gesamtwert = ( mchb-clabs + mchb-ceinm + mchb-cspem ) * mbew-verpr / peinh.
endif.

Gruß Wolfgang
Benutzer, die gerade dieses Thema lesen
Guest
Das Forum wechseln  
Du kannst keine neue Themen in diesem Forum eröffnen.
Du kannst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge nicht löschen.
Du darfst deine Beiträge nicht editieren.
Du kannst keine Umfragen in diesem Forum erstellen.
Du kannst nicht an Umfragen teilnehmen.

- Impressum / Datenschutz -