Hehhehe
The cursor code:
DECLARE curD CURSOR FOR
SELECT pac,st,ed,qt,idpac
FROM @TabelaPACS
ORDER BY pac
OPEN curD
FETCH NEXT FROM curD INTO @PAC,@st,@ed,@Qt,@id
WHILE @@FETCH_STATUS = 0
BEGIN
-- Retrieve workingdays
SELECT @Diff = dbo.workingDays(@st,@ed,0,0)
SET @qtDay = @QT/(CASE WHEN @qtDay = 0 THEN 1 ELSE @qtDay END)
UPDATE @TabelaDates
SET
ids = ids + ',' + CAST(@id AS NVARCHAR(10)),
qt = @qtDay + qt
WHERE pac = @pac AND data IN (
SELECT DATEADD(DAY,N-1,@st)
FROM dbo.Numbers
WHERE N <= @Diff AND dbo.VerificaTipoDia(DATEADD(DAY,N-1,@st)) = 0)
FETCH NEXT FROM curD INTO @PAC,@st,@ed,@Qt,@id
END
CLOSE curD
DEALLOCATE curD