on 05-17-2012 2:40 PM
Ich möcte eine Abfrage haben, bei der mir alle Artikel nach Lägern sortiert mit deren Mengen nach deren Losnummern aufgelistet werden.
Dazu sollten noch die Spalten ItemName und FrgnName aus der OITM Tabelle mit aufgelöst werden. Eventuell auch nur mit der Selektionsmöglichkeit eines Lagers.
Sollte so aussehen.
ItemCode | ItemName | FrgnName | Whs | BatchCode | Whs | Qty
123 AAA XXX 02 1111 1 5000
123 AAA XXX 02 222 1 1000
234 BBB BBB 01 111 2 200
usw.
Kann mir da jemand helfen ?
Hallo,
Chargenabfragen sind in SAPB1 seit Umstellung auf 8.8 nicht mehr ganz so einfach. In Deinem Fall würde ich deshalb vorschlagen, nimm die OIBT (gibt es nur noch als View, für Dich aber geeignet), verknüpft mit der OITM. Ist dann sehr einfach.
Lösungsansatz:
SELECT * FROM OIBT T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
hdh
Andreas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Danke,
Hab die Frage gestern Abend zu schnell geschrieben und mich heute Morgen mal intensiv damit beschäftigt und auch die OIBT Tabelle gefunden.
Habe das jetzt so gemacht:
select
T1.ItemCode,
T3.TreeType,
T3.ItemName,
T3.FrgnName,
T5.ItmsGrpNam as ItemGroup,
T4.Descr as Brand,
T6.Descr as SalesGroup,
T1.BatchNum,
T2.WhsName,
T1.Quantity,
T3.LastPurPrc,
T1.Quantity * T3.LastPurPrc as Total,
T3.LastPurCur
from OIBT T1
left join OWHS T2
on T1.WhsCode = T2.WhsCode
left join OITM T3
on T1.ItemCode = T3.ItemCode
left join UFD1 T4
on T3.U_Item_Sales = T4.FldValue
and T4.TableID = 'OITM'
and T4.FieldID = '15'
left join OITB T5
on T3.ItmsGrpCod = T5.ItmsGrpCod
left join UFD1 T6
on T3.U_Item_Sales = T6.FldValue
and T6.TableID = 'OITM'
and T6.FieldID = '15'
where T1.Quantity > 0
Hab den Thread noch mal als nicht beantwortet markiert, denn vielleicht kann mir jemand helfen um das noch zu verfeinern. Die obige Abfrage funktionert prima und ich habe dann eine Excelliste mit dem Ergebnis. Danach lasse ich eine Schleife über die Exelliste laufen und für für jede Zeile, bei der der TreeType "P" ist noch anhand der Losnummer die Auftragsdaten aus den Produktionsaufträgen hinzu. Vielleicht gibt es ja eine Möglichkeit beides zu verknüpfen, damit ich das VBA Makro in Excel sparen kann und das gewünschte Komplettergebnis aus der DB bekomme.
Dies ist mein VBA Code dafür, welcher über eine For/Next Schleife über alle Zeilen läuft.
Die Spalte Comments aus der OWOR ist gleich der BatchNum aus der OIBT
LetzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
LetzteSpalte = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To LetzteZeile
If Cells(i, 2).Value = "P" Then
Set rs = CreateObject("ADODB.Recordset")
strSQL = "select T1.ItemCode, T1.Comments, T1.U_P_r_n, T1.DueDate, T1.PlannedQty, T1.CardCode, T2.CardName as Customer from OWOR " & _
"left join OCRD T2 on T2.CardCode = T1.CardCode " & _
"where T1.Comments = '" & Cells(i, 8).Value & "'"
rs.Open strSQL, strConnection
Do While Not rs.EOF 'Datensätze einlesen und Zwischenspeichern
ActiveSheet.Cells(i, LetzteSpalte + 1).Value = rs("U_P_r_n")
ActiveSheet.Cells(i, LetzteSpalte + 2) = rs("PlannedQty")
ActiveSheet.Cells(i, LetzteSpalte + 3).NumberFormat = "yyyy/mm/dd;@"
ActiveSheet.Cells(i, LetzteSpalte + 3).Value = rs("DueDate")
ActiveSheet.Cells(i, LetzteSpalte + 4).Value = rs("CardCode")
ActiveSheet.Cells(i, LetzteSpalte + 5).Value = rs("Customer")
rs.MoveNext
Loop
rs.Close
User | Count |
---|---|
91 | |
11 | |
10 | |
6 | |
5 | |
5 | |
5 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.