Hallo arnd,
kleiner Hinweis von mir, das hier funktioniert leider nicht mehr bei jeder SQL-Version:
SELECT @AP = (select Arbeitsplatz from ***_vd3.dbo.Netzwerk where ProzessID = @@SPID)
Die @@SPID passt nicht mehr in jedem Fall, ab Orgasoft .NET steht jedoch eine Function in der Datenbank zur Verfügung, welche den Arbeitsplatz bzw. den User zurückliefert. Zum Bsp. die dbo.GetWorkStation oder dbo.GetUser. Die Functions sind heute schon in der 300er Datenbank, jedoch funktionieren sie nur, wenn der Programmteil bereits im Hintergrund .NET ist.
Alternativ dazu funktioniert eine an die ReKo angehängte UQ aber auch ohne den Umweg Arbeistplatz und @TabName, da intern Orgasoft NT den Tabellennamen ersetzt.
Beispiel für kumulierte Werte wenn Positionen mehrfach in der ReKo sind und
der Lieferant eine Sammelrechnung mit kumulierten Werten schickt:
Code:
CREATE PROCEDURE [dbo].[UserQueryReko_kumuliert] AS
SELECT Rechnungskontrolle.ArtikelNr, Rechnungskontrolle.Einheit, MIN(Rechnungskontrolle.Bezeichnung) AS Text,
SUM(Rechnungskontrolle.Menge) AS SummeMenge, Rechnungskontrolle.WEPreis, ArtikelHauptLfListenEK.AdressArtikelNr
FROM Rechnungskontrolle LEFT OUTER JOIN
ArtikelHauptLfListenEK ON Rechnungskontrolle.ArtikelNr = ArtikelHauptLfListenEK.ArtikelNr AND
Rechnungskontrolle.Einheit = ArtikelHauptLfListenEK.Einheit
GROUP BY Rechnungskontrolle.ArtikelNr, Rechnungskontrolle.Einheit, Rechnungskontrolle.WEPreis, ArtikelHauptLfListenEK.AdressArtikelNr
Gruß
asu