hallo,
zeile 80 is quasi die hier
WHERE B.RecID = @ResultTable.RecID )
das is die letzte über dem Return
@ Frank ... leider liegts nich daran, denn ich hab mich da einfach vertippt, als ich das hier rein geschrieben habe, wie gesagt, ging nur um die struktur
aber danke schonmal für die antworten
mfg
edit:
ich hab gerade festgestellt, dass das wohl nur bei dieser Konstruktion auftaucht
UPDATE @ResultTable
SET BetragBrutto = B.BetragNetto * (100 + @MwStSatz)) /100
FROM gl.Belege B
WHERE B.RecID = @ResultTable.RecID
mfg
nochmal edit
habs hinbekommen!
das problem war, dass man das @ResultTable.RecID so nicht schreiben kann, wenn man das aber nich davor geschrieben hat, sagte er, dass das feld nicht gebunden werden kann. Wenn man also die Felder in der TempTabelle anders nennt, funktionierts.
quasi so:
Code:
CREATE FUNCTION [gl].[Get_BelegMwSt]
(
@FromBelegnr BIGINT = 0
,@TillBeletnr BIGINT = 99
,@MwStSatz FLOAT
)
RETURNS @ResultTable TABLE(RecIDTmp BIGINT, Belegnr BIGINT, BetragNetto FLOAT, BetragBrutto FLOAT)
AS
BEGIN
DECLARE @iRecID BIGINT
,@iBelegnr BIGINT
,@iBetragNetto FLOAT
,@iBetragBrutto FLOAT
INSERT INTO @ResultTable (RecIDTmp, Belegnr, BetragNetto)
(SELECT RecID, Belegnr, BetragNetto
FROM gl.Belege
WHERE BelegNr >= @FromBelegnr AND
BelegNr <= @TillBelegnr
--GetMwSt
UPDATE @ResultTable
SET BetragBrutto = B.BetragNetto * (100 + @MwStSatz)) /100
FROM gl.Belege B
WHERE B.RecID = RecIDTmp
RETURN
mfg